Path: rename Set_StartPoint to conform to command name standard
PEP8
This commit is contained in:
@@ -33,8 +33,6 @@ import PathScripts.PathOp as PathOp
|
||||
import PathScripts.PathUtil as PathUtil
|
||||
import PathScripts.PathUtils as PathUtils
|
||||
import importlib
|
||||
|
||||
from PathScripts.PathGeom import PathGeom
|
||||
from PySide import QtCore, QtGui
|
||||
|
||||
__title__ = "Path Operation UI base classes"
|
||||
@@ -56,6 +54,7 @@ if False:
|
||||
else:
|
||||
PathLog.setLevel(PathLog.Level.INFO, PathLog.thisModule())
|
||||
|
||||
|
||||
def translate(context, text, disambig=None):
|
||||
return QtCore.QCoreApplication.translate(context, text, disambig)
|
||||
|
||||
@@ -138,7 +137,7 @@ class ViewProvider(object):
|
||||
def __setstate__(self, state):
|
||||
'''__setstate__(state) ... callback on restoring a saved instance, pendant to __getstate__()
|
||||
state is the dictionary returned by __getstate__().'''
|
||||
self.OpName = state['OpName']
|
||||
self.OpName = state['OpName']
|
||||
self.OpIcon = state['OpIcon']
|
||||
self.OpPageModule = state['OpPageModule']
|
||||
self.OpPageClass = state['OpPageClass']
|
||||
@@ -168,6 +167,7 @@ class ViewProvider(object):
|
||||
PathUtil.clearExpressionEngine(vobj.Object)
|
||||
return True
|
||||
|
||||
|
||||
class TaskPanelPage(object):
|
||||
'''Base class for all task panel pages.'''
|
||||
|
||||
@@ -186,11 +186,13 @@ class TaskPanelPage(object):
|
||||
def onDirtyChanged(self, callback):
|
||||
'''onDirtyChanged(callback) ... set callback when dirty state changes.'''
|
||||
self.signalDirtyChanged = callback
|
||||
|
||||
def setDirty(self):
|
||||
'''setDirty() ... mark receiver as dirty, causing the model to be recalculated if OK or Apply is pressed.'''
|
||||
self.isdirty = True
|
||||
if self.signalDirtyChanged:
|
||||
self.signalDirtyChanged(self)
|
||||
|
||||
def setClean(self):
|
||||
'''setClean() ... mark receiver as clean, indicating there is no need to recalculate the model even if the user presses OK or Apply.'''
|
||||
self.isdirty = False
|
||||
@@ -224,6 +226,7 @@ class TaskPanelPage(object):
|
||||
def setTitle(self, title):
|
||||
'''setTitle(title) ... sets a title for the page.'''
|
||||
self.title = title
|
||||
|
||||
def getTitle(self, obj):
|
||||
'''getTitle(obj) ... return title to be used for the receiver page.
|
||||
The default implementation returns what was previously set with setTitle(title).
|
||||
@@ -233,6 +236,7 @@ class TaskPanelPage(object):
|
||||
def setIcon(self, icon):
|
||||
'''setIcon(icon) ... sets the icon for the page.'''
|
||||
self.icon = icon
|
||||
|
||||
def getIcon(self, icon):
|
||||
'''getIcon(icon) ... return icon for page or None.
|
||||
Can safely be overwritten by subclasses.'''
|
||||
@@ -244,27 +248,33 @@ class TaskPanelPage(object):
|
||||
Note that this function is invoked after all page controllers have been created.
|
||||
Should be overwritten by subclasses.'''
|
||||
pass
|
||||
|
||||
def modifyStandardButtons(self, buttonBox):
|
||||
'''modifyStandardButtons(buttonBox) ... overwrite if the task panel standard buttons need to be modified.
|
||||
Can safely be overwritten by subclasses.'''
|
||||
pass
|
||||
|
||||
def getForm(self):
|
||||
'''getForm() ... return UI form for this page.
|
||||
Must be overwritten by subclasses.'''
|
||||
pass
|
||||
|
||||
def getFields(self, obj):
|
||||
'''getFields(obj) ... overwrite to transfer values from UI to obj's properties.
|
||||
Can safely be overwritten by subclasses.'''
|
||||
pass
|
||||
|
||||
def setFields(self, obj):
|
||||
'''setFields(obj) ... overwrite to transfer obj's property values to UI.
|
||||
Can safely be overwritten by subclasses.'''
|
||||
pass
|
||||
|
||||
def getSignalsForUpdate(self, obj):
|
||||
'''getSignalsForUpdate(obj) ... return signals which, when triggered, cause the receiver to update the model.
|
||||
See also registerSignalHandlers(obj)
|
||||
Can safely be overwritten by subclasses.'''
|
||||
return []
|
||||
|
||||
def registerSignalHandlers(self, obj):
|
||||
'''registerSignalHandlers(obj) ... overwrite to register custom signal handlers.
|
||||
In case an update of a model is not the desired operation of a signal invocation
|
||||
@@ -272,6 +282,7 @@ class TaskPanelPage(object):
|
||||
manually.
|
||||
Can safely be overwritten by subclasses.'''
|
||||
pass
|
||||
|
||||
def updateData(self, obj, prop):
|
||||
'''updateData(obj, prop) ... overwrite if the receiver needs to react to property changes that might not have been caused by the receiver itself.
|
||||
Sometimes a model will recalculate properties based on a change of another property. In order to keep the UI up to date with such changes this
|
||||
@@ -283,6 +294,7 @@ class TaskPanelPage(object):
|
||||
In such a scenario the first property assignment will cause all changes in the UI of the other fields to be overwritten by setFields(obj).
|
||||
You have been warned.'''
|
||||
pass
|
||||
|
||||
def updateSelection(self, obj, sel):
|
||||
'''updateSelection(obj, sel) ... overwrite to customize UI depending on current selection.
|
||||
Can safely be overwritten by subclasses.'''
|
||||
@@ -316,15 +328,18 @@ class TaskPanelPage(object):
|
||||
if obj.ToolController != tc:
|
||||
obj.ToolController = tc
|
||||
|
||||
|
||||
class TaskPanelBaseGeometryPage(TaskPanelPage):
|
||||
'''Page controller for the base geometry.'''
|
||||
DataObject = QtCore.Qt.ItemDataRole.UserRole
|
||||
DataObject = QtCore.Qt.ItemDataRole.UserRole
|
||||
DataObjectSub = QtCore.Qt.ItemDataRole.UserRole + 1
|
||||
|
||||
def getForm(self):
|
||||
return FreeCADGui.PySideUic.loadUi(":/panels/PageBaseGeometryEdit.ui")
|
||||
|
||||
def getTitle(self, obj):
|
||||
return translate("PathOp", "Base Geometry")
|
||||
|
||||
def getFields(self, obj):
|
||||
pass
|
||||
|
||||
@@ -348,14 +363,17 @@ class TaskPanelBaseGeometryPage(TaskPanelPage):
|
||||
FreeCADGui.Selection.addSelection(obj, sub)
|
||||
else:
|
||||
FreeCADGui.Selection.addSelection(obj)
|
||||
#FreeCADGui.updateGui()
|
||||
# FreeCADGui.updateGui()
|
||||
|
||||
def supportsVertexes(self):
|
||||
return self.features & PathOp.FeatureBaseVertexes
|
||||
|
||||
def supportsEdges(self):
|
||||
return self.features & PathOp.FeatureBaseEdges
|
||||
|
||||
def supportsFaces(self):
|
||||
return self.features & PathOp.FeatureBaseFaces
|
||||
|
||||
def supportsPanels(self):
|
||||
return self.features & PathOp.FeatureBasePanels
|
||||
|
||||
@@ -395,7 +413,7 @@ class TaskPanelBaseGeometryPage(TaskPanelPage):
|
||||
|
||||
def addBase(self):
|
||||
if self.addBaseGeometry(FreeCADGui.Selection.getSelectionEx()):
|
||||
#self.obj.Proxy.execute(self.obj)
|
||||
# self.obj.Proxy.execute(self.obj)
|
||||
self.setFields(self.obj)
|
||||
self.setDirty()
|
||||
|
||||
@@ -406,8 +424,8 @@ class TaskPanelBaseGeometryPage(TaskPanelPage):
|
||||
self.form.baseList.takeItem(self.form.baseList.row(item))
|
||||
self.setDirty()
|
||||
self.updateBase()
|
||||
#self.obj.Proxy.execute(self.obj)
|
||||
#FreeCAD.ActiveDocument.recompute()
|
||||
# self.obj.Proxy.execute(self.obj)
|
||||
# FreeCAD.ActiveDocument.recompute()
|
||||
|
||||
def updateBase(self):
|
||||
newlist = []
|
||||
@@ -420,8 +438,8 @@ class TaskPanelBaseGeometryPage(TaskPanelPage):
|
||||
PathLog.debug("Setting new base: %s -> %s" % (self.obj.Base, newlist))
|
||||
self.obj.Base = newlist
|
||||
|
||||
#self.obj.Proxy.execute(self.obj)
|
||||
#FreeCAD.ActiveDocument.recompute()
|
||||
# self.obj.Proxy.execute(self.obj)
|
||||
# FreeCAD.ActiveDocument.recompute()
|
||||
|
||||
def clearBase(self):
|
||||
self.obj.Base = []
|
||||
@@ -457,6 +475,7 @@ class TaskPanelBaseLocationPage(TaskPanelPage):
|
||||
|
||||
def getTitle(self, obj):
|
||||
return translate("PathOp", "Base Location")
|
||||
|
||||
def getFields(self, obj):
|
||||
pass
|
||||
|
||||
@@ -483,7 +502,7 @@ class TaskPanelBaseLocationPage(TaskPanelPage):
|
||||
selected = self.formLoc.baseList.selectedItems()
|
||||
for item in selected:
|
||||
row = self.formLoc.baseList.row(item)
|
||||
if not row in deletedRows:
|
||||
if row not in deletedRows:
|
||||
deletedRows.append(row)
|
||||
self.formLoc.baseList.removeRow(row)
|
||||
self.updateLocations()
|
||||
@@ -603,7 +622,6 @@ class TaskPanelDepthsPage(TaskPanelPage):
|
||||
self.form.finishDepth.hide()
|
||||
self.form.finishDepthLabel.hide()
|
||||
|
||||
|
||||
def getTitle(self, obj):
|
||||
return translate("PathOp", "Depths")
|
||||
|
||||
@@ -679,6 +697,7 @@ class TaskPanelDepthsPage(TaskPanelPage):
|
||||
self.form.startDepthSet.setEnabled(False)
|
||||
self.form.finalDepthSet.setEnabled(False)
|
||||
|
||||
|
||||
class TaskPanel(object):
|
||||
'''
|
||||
Generic TaskPanel implementation handling the standard Path operation layout.
|
||||
@@ -881,10 +900,13 @@ class TaskPanel(object):
|
||||
# SelectionObserver interface
|
||||
def addSelection(self, doc, obj, sub, pnt):
|
||||
self.updateSelection()
|
||||
|
||||
def removeSelection(self, doc, obj, sub):
|
||||
self.updateSelection()
|
||||
|
||||
def setSelection(self, doc):
|
||||
self.updateSelection()
|
||||
|
||||
def clearSelection(self, doc):
|
||||
self.updateSelection()
|
||||
|
||||
@@ -914,13 +936,14 @@ class CommandSetStartPoint:
|
||||
def Activated(self):
|
||||
FreeCADGui.Snapper.getPoint(callback=self.setpoint)
|
||||
|
||||
|
||||
def Create(res):
|
||||
'''Create(res) ... generic implementation of a create function.
|
||||
res is an instance of CommandResources. It is not expected that the user invokes
|
||||
this function directly, but calls the Activated() function of the Command object
|
||||
that is created in each operations Gui implementation.'''
|
||||
FreeCAD.ActiveDocument.openTransaction("Create %s" % res.name)
|
||||
obj = res.objFactory(res.name)
|
||||
obj = res.objFactory(res.name)
|
||||
if obj.Proxy:
|
||||
vobj = ViewProvider(obj.ViewObject, res)
|
||||
|
||||
@@ -930,6 +953,7 @@ def Create(res):
|
||||
FreeCAD.ActiveDocument.abortTransaction()
|
||||
return None
|
||||
|
||||
|
||||
class CommandPathOp:
|
||||
'''Generic, data driven implementation of a Path operation creation command.
|
||||
Instances of this class are stored in all Path operation Gui modules and can
|
||||
@@ -956,6 +980,7 @@ class CommandPathOp:
|
||||
def Activated(self):
|
||||
return Create(self.res)
|
||||
|
||||
|
||||
class CommandResources:
|
||||
'''POD class to hold command specific resources.'''
|
||||
def __init__(self, name, objFactory, opPageClass, pixmap, menuText, accelKey, toolTip):
|
||||
@@ -967,13 +992,14 @@ class CommandResources:
|
||||
self.accelKey = accelKey
|
||||
self.toolTip = toolTip
|
||||
|
||||
|
||||
def SetupOperation(name,
|
||||
objFactory,
|
||||
opPageClass,
|
||||
pixmap,
|
||||
menuText,
|
||||
toolTip,
|
||||
accelKey = None):
|
||||
objFactory,
|
||||
opPageClass,
|
||||
pixmap,
|
||||
menuText,
|
||||
toolTip,
|
||||
accelKey=None):
|
||||
'''SetupOperation(name, objFactory, opPageClass, pixmap, menuText, toolTip, accelKey=None)
|
||||
Creates an instance of CommandPathOp with the given parameters and registers the command with FreeCAD.
|
||||
When activated it creates a model with proxy (by invoking objFactory), assigns a view provider to it
|
||||
@@ -989,6 +1015,6 @@ def SetupOperation(name,
|
||||
return command
|
||||
|
||||
|
||||
FreeCADGui.addCommand('Set_StartPoint', CommandSetStartPoint())
|
||||
FreeCADGui.addCommand('Path_SetStartPoint', CommandSetStartPoint())
|
||||
|
||||
FreeCAD.Console.PrintLog("Loading PathOpGui... done\n")
|
||||
|
||||
Reference in New Issue
Block a user