From cc2ffc38a87fb502e438705cb344ce5a6af4eb40 Mon Sep 17 00:00:00 2001 From: Markus Lampert Date: Thu, 30 Aug 2018 22:03:08 -0700 Subject: [PATCH] Added jobs as a selection for the base models. --- .../Path/Gui/Resources/panels/DlgJobCreate.ui | 14 ++++++++++-- src/Mod/Path/PathScripts/PathJobDlg.py | 22 ++++++++++++++++++- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/Mod/Path/Gui/Resources/panels/DlgJobCreate.ui b/src/Mod/Path/Gui/Resources/panels/DlgJobCreate.ui index 35f6c6500a..5b66b78db0 100644 --- a/src/Mod/Path/Gui/Resources/panels/DlgJobCreate.ui +++ b/src/Mod/Path/Gui/Resources/panels/DlgJobCreate.ui @@ -47,7 +47,7 @@ 0 - + Solids @@ -57,7 +57,7 @@ - + 2D @@ -67,6 +67,16 @@ + + + Jobs + + + + + + + diff --git a/src/Mod/Path/PathScripts/PathJobDlg.py b/src/Mod/Path/PathScripts/PathJobDlg.py index 8f3b2fa26b..fc6d3f04cd 100644 --- a/src/Mod/Path/PathScripts/PathJobDlg.py +++ b/src/Mod/Path/PathScripts/PathJobDlg.py @@ -50,6 +50,7 @@ class JobCreate: def __init__(self, parent=None, sel=None): self.dialog = FreeCADGui.PySideUic.loadUi(":/panels/DlgJobCreate.ui") self.items = [] + self.jobs = [] self.dialog.templateGroup.hide() self.dialog.modelGroup.hide() @@ -80,6 +81,22 @@ class JobCreate: else: self.dialog.twoDList.addItem(item) self.items.append(item) + + activateJobs = False + for j in sorted(PathJob.Instances(), key=lambda x: x.Label): + if j != job: + item = QtGui.QListWidgetItem(j.Label) + item.setData(self.DataObject, j) + if j.Label in selected: + activateJobs = True + item.setCheckState(QtCore.Qt.CheckState.Checked) + else: + item.setCheckState(QtCore.Qt.CheckState.Unchecked) + self.dialog.jobList.addItem(item) + self.jobs.append(item) + if activateJobs: + self.dialog.models.setCurrentWidget(self.dialog.tabJobs) + self.dialog.modelGroup.show() @@ -117,7 +134,10 @@ class JobCreate: def getModels(self): '''answer the base models selected for the job''' - return [item.data(self.DataObject) for item in self.items if item.checkState() == QtCore.Qt.CheckState.Checked] + models = [item.data(self.DataObject) for item in self.items if item.checkState() == QtCore.Qt.CheckState.Checked] + for job in [item.data(self.DataObject) for item in self.jobs if item.checkState() == QtCore.Qt.CheckState.Checked]: + models.extend(job.Model.Group) + return models def getTemplate(self): '''answer the file name of the template to be assigned'''