| |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| import FreeCAD |
| import FreeCADGui |
| import Path.Op.Custom as PathCustom |
| import Path.Op.Gui.Base as PathOpGui |
|
|
| from PySide.QtCore import QT_TRANSLATE_NOOP |
|
|
|
|
| __title__ = "CAM Custom Operation UI" |
| __author__ = "sliptonic (Brad Collette)" |
| __url__ = "https://www.freecad.org" |
| __doc__ = "Custom operation page controller and command implementation." |
|
|
|
|
| class TaskPanelOpPage(PathOpGui.TaskPanelPage): |
| """Page controller class for the Custom operation.""" |
|
|
| def getForm(self): |
| """getForm() ... returns UI""" |
| return FreeCADGui.PySideUic.loadUi(":/panels/PageOpCustomEdit.ui") |
|
|
| def getFields(self, obj): |
| """getFields(obj) ... transfers values from UI to obj's properties""" |
| self.updateToolController(obj, self.form.toolController) |
| self.updateCoolant(obj, self.form.coolantController) |
|
|
| def setFields(self, obj): |
| """setFields(obj) ... transfers obj's property values to UI""" |
| self.setupToolController(obj, self.form.toolController) |
| self.form.txtGCode.setText("\n".join(obj.Gcode)) |
| self.setupCoolant(obj, self.form.coolantController) |
|
|
| def getSignalsForUpdate(self, obj): |
| """getSignalsForUpdate(obj) ... return list of signals for updating obj""" |
| signals = [] |
| signals.append(self.form.toolController.currentIndexChanged) |
| signals.append(self.form.coolantController.currentIndexChanged) |
| self.form.txtGCode.textChanged.connect(self.setGCode) |
| return signals |
|
|
| def setGCode(self): |
| self.obj.Gcode = self.form.txtGCode.toPlainText().split("\n") |
|
|
|
|
| Command = PathOpGui.SetupOperation( |
| "Custom", |
| PathCustom.Create, |
| TaskPanelOpPage, |
| "CAM_Custom", |
| QT_TRANSLATE_NOOP("CAM_Custom", "Custom"), |
| QT_TRANSLATE_NOOP("CAM_Custom", "Create custom G-code snippet"), |
| PathCustom.SetupProperties, |
| ) |
|
|
| FreeCAD.Console.PrintLog("Loading PathCustomGui... done\n") |
|
|