Skip to content

Commit

Permalink
Support for Cancel in PathJob creation and editing.
Browse files Browse the repository at this point in the history
  • Loading branch information
mlampert authored and wwmayer committed Nov 2, 2016
1 parent 1fb504e commit 462c8b3
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions src/Mod/Path/PathScripts/PathJob.py
Expand Up @@ -155,9 +155,12 @@ def __getstate__(self): # mandatory
def __setstate__(self, state): # mandatory
return None

def deleteObjectsOnReject(self):
return hasattr(self, 'deleteOnReject') and self.deleteOnReject

def setEdit(self, vobj, mode=0):
FreeCADGui.Control.closeDialog()
taskd = TaskPanel(vobj.Object)
taskd = TaskPanel(vobj.Object, self.deleteObjectsOnReject())
FreeCADGui.Control.showDialog(taskd)
taskd.setupUi()
return True
Expand Down Expand Up @@ -200,7 +203,6 @@ def Create():
PathScripts.PathJob.ObjectPathJob(obj)
PathLoadTool.CommandPathLoadTool.Create(obj.Name)
tl = obj.Group[0]
obj.ViewObject.startEditing()
tool = Path.Tool()
tool.Diameter = 5.0
tool.Name = "Default Tool"
Expand All @@ -209,14 +211,18 @@ def Create():
tool.Material = "HighSpeedSteel"
obj.Tooltable.addTools(tool)
tl.ToolNumber = 1
obj.ViewObject.Proxy.deleteOnReject = True
obj.ViewObject.startEditing()
'''
FreeCADGui.doCommand(snippet)
FreeCAD.ActiveDocument.commitTransaction()


class TaskPanel:
def __init__(self, obj):
def __init__(self, obj, deleteOnReject):
FreeCAD.ActiveDocument.openTransaction(translate("Path_Job", "Edit Job"))
self.obj = obj
self.deleteOnReject = deleteOnReject
self.form = FreeCADGui.PySideUic.loadUi(":/panels/JobEdit.ui")
#self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Path/JobEdit.ui")

Expand All @@ -241,10 +247,18 @@ def accept(self):
self.getFields()
FreeCADGui.ActiveDocument.resetEdit()
FreeCADGui.Control.closeDialog()
FreeCAD.ActiveDocument.commitTransaction()
FreeCAD.ActiveDocument.recompute()

def reject(self):
FreeCADGui.Control.closeDialog()
FreeCAD.ActiveDocument.abortTransaction()
if self.deleteOnReject:
FreeCAD.ActiveDocument.openTransaction(translate("Path_Job", "Uncreate Job"))
for child in self.obj.Group:
FreeCAD.ActiveDocument.removeObject(child.Name)
FreeCAD.ActiveDocument.removeObject(self.obj.Name)
FreeCAD.ActiveDocument.commitTransaction()
FreeCAD.ActiveDocument.recompute()

def updateTooltips(self):
Expand Down Expand Up @@ -330,9 +344,6 @@ def setFile(self):
self.obj.OutputFile = str(filename[0])
self.setFields()

def getStandardButtons(self):
return int(QtGui.QDialogButtonBox.Ok)

def setupUi(self):
# Connect Signals and Slots
self.form.cboPostProcessor.currentIndexChanged.connect(self.getFields)
Expand Down

0 comments on commit 462c8b3

Please sign in to comment.