Path: rename Set_StartPoint to conform to command name standard

PEP8
This commit is contained in:
sliptonic
2018-01-15 23:48:52 -06:00
parent 15c62d3685
commit 2814b4600a

View File

@@ -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")