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)