Fixed some UI issues and enabled re-ordering of ops.

This commit is contained in:
Markus Lampert
2017-08-25 16:31:07 -07:00
committed by wmayer
parent 2bb83bebb1
commit fd67690fa7
3 changed files with 24 additions and 25 deletions

View File

@@ -14,7 +14,7 @@
<string>Job Edit</string>
</property>
<property name="currentIndex">
<number>1</number>
<number>3</number>
</property>
<widget class="QWidget" name="tabGeneral">
<attribute name="title">
@@ -59,13 +59,6 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="infoModel">
<property name="enabled">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_8">
<property name="enabled">
@@ -83,6 +76,9 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="infoModel"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
@@ -222,7 +218,7 @@
<bool>true</bool>
</property>
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="page_3">
<property name="geometry">
@@ -434,7 +430,7 @@
</spacer>
</item>
<item row="0" column="2">
<widget class="QToolButton" name="postProcessorOutputFile_2">
<widget class="QToolButton" name="postProcessorSetOutputFile">
<property name="text">
<string>...</string>
</property>
@@ -636,7 +632,11 @@
<widget class="QWidget" name="widget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QListWidget" name="operationsList"/>
<widget class="QListWidget" name="operationsList">
<property name="dragDropMode">
<enum>QAbstractItemView::InternalMove</enum>
</property>
</widget>
</item>
</layout>
</widget>

View File

@@ -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.

View File

@@ -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)