diff --git a/src/Mod/Path/Gui/Resources/panels/PathEdit.ui b/src/Mod/Path/Gui/Resources/panels/PathEdit.ui index fa58a5c809..1ad99515fb 100644 --- a/src/Mod/Path/Gui/Resources/panels/PathEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PathEdit.ui @@ -14,7 +14,7 @@ Job Edit - 1 + 3 @@ -59,13 +59,6 @@ - - - - false - - - @@ -83,6 +76,9 @@ + + + @@ -222,7 +218,7 @@ true - 0 + 1 @@ -434,7 +430,7 @@ - + ... @@ -636,7 +632,11 @@ - + + + QAbstractItemView::InternalMove + + diff --git a/src/Mod/Path/PathScripts/PathJob.py b/src/Mod/Path/PathScripts/PathJob.py index 7b0bf790d1..01484b24ca 100644 --- a/src/Mod/Path/PathScripts/PathJob.py +++ b/src/Mod/Path/PathScripts/PathJob.py @@ -103,6 +103,11 @@ class ObjectJob: FreeCAD.ActiveDocument.removeObject(obj.Operations.Name) obj.Operations = None + def onChanged(self, obj, prop): + if prop == "PostProcessor" and obj.PostProcessor: + processor = PostProcessor.load(obj.PostProcessor) + self.tooltip = processor.tooltip + self.tooltipArgs = processor.tooltipArgs def assignTemplate(self, obj, template): '''assignTemplate(obj, template) ... extract the properties from the given template file and assign to receiver. diff --git a/src/Mod/Path/PathScripts/PathJobGui.py b/src/Mod/Path/PathScripts/PathJobGui.py index 3519373cd4..5d79718b1a 100644 --- a/src/Mod/Path/PathScripts/PathJobGui.py +++ b/src/Mod/Path/PathScripts/PathJobGui.py @@ -46,16 +46,16 @@ class ViewProvider: vobj.setEditorMode('Selectable', mode) vobj.setEditorMode('ShapeColor', mode) vobj.setEditorMode('Transparency', mode) - self.taskPanel = None def attach(self, vobj): self.vobj = vobj self.obj = vobj.Object + self.taskPanel = None - def __getstate__(self): # mandatory + def __getstate__(self): return None - def __setstate__(self, state): # mandatory + def __setstate__(self, state): return None def deleteObjectsOnReject(self): @@ -79,20 +79,14 @@ class ViewProvider: def getIcon(self): return ":/icons/Path-Job.svg" - def onChanged(self, vobj, prop): - mode = 2 - vobj.setEditorMode('BoundingBox', mode) - vobj.setEditorMode('DisplayMode', mode) - vobj.setEditorMode('Selectable', mode) - vobj.setEditorMode('ShapeColor', mode) - vobj.setEditorMode('Transparency', mode) - def claimChildren(self): children = self.obj.ToolController children.append(self.obj.Operations) return children class TaskPanel: + DataObject = QtCore.Qt.ItemDataRole.UserRole + def __init__(self, vobj, deleteOnReject): FreeCAD.ActiveDocument.openTransaction(translate("Path_Job", "Edit Job")) self.vobj = vobj @@ -156,7 +150,7 @@ class TaskPanel: self.obj.PostProcessorOutputFile = str(self.form.postProcessorOutputFile.text()) self.obj.Label = str(self.form.infoLabel.text()) - self.obj.Group = [self.form.operationsList.item(i).data() for i in range(self.form.operationsList.count())] + self.obj.Operations.Group = [self.form.operationsList.item(i).data(self.DataObject) for i in range(self.form.operationsList.count())] selObj = self.form.infoModel.itemData(self.form.infoModel.currentIndex()) #if self.form.chkCreateClone.isChecked(): @@ -182,11 +176,11 @@ class TaskPanel: self.selectComboBoxText(self.form.postProcessor, self.obj.PostProcessor) self.form.postProcessorArguments.setText(self.obj.PostProcessorArgs) - self.obj.Proxy.onChanged(self.obj, "PostProcessor") + #self.obj.Proxy.onChanged(self.obj, "PostProcessor") self.updateTooltips() self.form.operationsList.clear() - for child in self.obj.Group: + for child in self.obj.Operations.Group: item = QtGui.QListWidgetItem(child.Label) item.setData(self.DataObject, child) self.form.operationsList.addItem(item)