Basic UI for editing pocket shape extensions.

This commit is contained in:
markus
2018-09-06 18:27:37 -07:00
committed by wmayer
parent 756f316831
commit c4e3209e44
4 changed files with 173 additions and 342 deletions

View File

@@ -24,10 +24,12 @@
import FreeCAD
import FreeCADGui
import PathScripts.PathLog as PathLog
import PathScripts.PathOp as PathOp
import PathScripts.PathOpGui as PathOpGui
import PathScripts.PathPocketShape as PathPocketShape
import PathScripts.PathPocketBaseGui as PathPocketBaseGui
import PathScripts.PathUtil as PathUtil
from PySide import QtCore, QtGui
@@ -36,29 +38,72 @@ __author__ = "sliptonic (Brad Collette)"
__url__ = "http://www.freecadweb.org"
__doc__ = "Pocket Shape operation page controller and command implementation."
if True:
PathLog.setLevel(PathLog.Level.DEBUG, PathLog.thisModule())
PathLog.trackModule(PathLog.thisModule())
else:
PathLog.setLevel(PathLog.Level.INFO, PathLog.thisModule())
class TaskPanelExtensionPage(PathOpGui.TaskPanelPage):
def initPage(self, obj):
self.extensions = [self.form.negXInput, self.form.posXInput, self.form.negYInput, self.form.posYInput]
self.setTitle("Pocket Extensions")
self.enabled = True
self.enable(False)
tc = PathUtil.toolControllerForOp(self.obj)
if tc:
self.form.defaultLength.setValue(tc.Tool.Diameter/2)
def enable(self, ena):
if ena != self.enabled:
self.enabled = ena
if ena:
self.form.info.hide()
for ext in self.extensions:
ext.setEnabled(True)
self.form.extensionEdit.setEnabled(True)
else:
self.form.info.show()
for ext in self.extensions:
ext.setEnabled(False)
self.form.extensionEdit.setEnabled(False)
def getForm(self):
return FreeCADGui.PySideUic.loadUi(":/panels/PageOpExtensionEdit.ui")
return FreeCADGui.PySideUic.loadUi(":/panels/PageOpPocketExtEdit.ui")
def updateSelection(self, obj, sel):
PathLog.track(sel)
if sel and sel[0].SubElementNames:
self.form.buttonAdd.setEnabled(True)
else:
self.form.buttonAdd.setEnabled(False)
def currentItemChanged(self, now, prev):
if 0 == self.form.extensions.rowCount():
self.form.buttonClear.setEnabled(False)
self.form.buttonRemove.setEnabled(False)
else:
self.form.buttonClear.setEnabled(True)
if self.form.extensions.selectedItems():
self.form.buttonRemove.setEnabled(True)
else:
self.form.buttonRemove.setEnabled(False)
def extensionsAdd(self):
pass
def extensionsClear(self):
self.form.extensions.clearContents()
def extensionsRemove(self):
pass
def pageRegisterSignalHandlers(self):
self.form.extensions.currentItemChanged.connect(self.currentItemChanged)
self.form.buttonAdd.clicked.connect(self.extensionsAdd)
self.form.buttonClear.clicked.connect(self.extensionsClear)
self.form.buttonRemove.clicked.connect(self.extensionsRemove)
self.updateSelection(self.obj, FreeCADGui.Selection.getSelectionEx())
self.currentItemChanged(-1, -1)
class TaskPanelOpPage(PathPocketBaseGui.TaskPanelOpPage):
'''Page controller class for Pocket operation'''