Basic UI for editing pocket shape extensions.
This commit is contained in:
@@ -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'''
|
||||
|
||||
Reference in New Issue
Block a user