Added docstrings to Gui classes.

This commit is contained in:
Markus Lampert
2017-08-14 22:47:37 -07:00
committed by Yorik van Havre
parent 79337b998d
commit bc6ff3690e
13 changed files with 304 additions and 36 deletions

View File

@@ -29,6 +29,11 @@ import PathScripts.PathOpGui as PathOpGui
from PySide import QtCore, QtGui
__title__ = "Base for Circular Hole based operations' UI"
__author__ = "sliptonic (Brad Collette)"
__url__ = "http://www.freecadweb.org"
__doc__ = "Implementation of circular hole specific base geometry page controller."
if True:
PathLog.setLevel(PathLog.Level.DEBUG, PathLog.thisModule())
PathLog.trackModule(PathLog.thisModule())
@@ -36,14 +41,21 @@ else:
PathLog.setLevel(PathLog.Level.NOTICE, PathLog.thisModule())
class TaskPanelHoleGeometryPage(PathOpGui.TaskPanelBaseGeometryPage):
'''Controller class to be used for the BaseGeomtery page.
Circular holes don't just disply the feature, they also add a column
displaying the radius the feature describes. This page provides that
UI and functionality for all circular hole based operations.'''
DataFeatureName = QtCore.Qt.ItemDataRole.UserRole
DataObject = QtCore.Qt.ItemDataRole.UserRole + 1
DataObjectSub = QtCore.Qt.ItemDataRole.UserRole + 2
def getForm(self):
'''getForm() ... load and return page'''
return FreeCADGui.PySideUic.loadUi(":/panels/PageBaseHoleGeometryEdit.ui")
def setFields(self, obj):
'''setFields(obj) ... fill form with values from obj'''
PathLog.track()
self.form.baseList.blockSignals(True)
self.form.baseList.clearContents()
@@ -75,6 +87,7 @@ class TaskPanelHoleGeometryPage(PathOpGui.TaskPanelBaseGeometryPage):
self.form.baseList.blockSignals(False)
def itemActivated(self):
'''itemActivated() ... callback when item in table is selected'''
PathLog.track()
FreeCADGui.Selection.clearSelection()
activatedRows = []
@@ -92,6 +105,7 @@ class TaskPanelHoleGeometryPage(PathOpGui.TaskPanelBaseGeometryPage):
#FreeCADGui.updateGui()
def deleteBase(self):
'''deleteBase() ... callback for push button'''
PathLog.track()
deletedRows = []
selected = self.form.baseList.selectedItems()
@@ -105,6 +119,7 @@ class TaskPanelHoleGeometryPage(PathOpGui.TaskPanelBaseGeometryPage):
FreeCAD.ActiveDocument.recompute()
def updateBase(self):
'''updateBase() ... helper function to transfer current table to obj'''
PathLog.track()
newlist = []
for i in range(self.form.baseList.rowCount()):
@@ -118,6 +133,7 @@ class TaskPanelHoleGeometryPage(PathOpGui.TaskPanelBaseGeometryPage):
self.obj.Base = newlist
def checkedChanged(self):
'''checkeChanged() ... callback when checked status of a base feature changed'''
PathLog.track()
disabled = []
for i in xrange(0, self.form.baseList.rowCount()):
@@ -128,6 +144,7 @@ class TaskPanelHoleGeometryPage(PathOpGui.TaskPanelBaseGeometryPage):
FreeCAD.ActiveDocument.recompute()
def registerSignalHandlers(self, obj):
'''registerSignalHandlers(obj) ... setup signal handlers'''
self.form.baseList.itemSelectionChanged.connect(self.itemActivated)
self.form.addBase.clicked.connect(self.addBase)
self.form.deleteBase.clicked.connect(self.deleteBase)
@@ -135,6 +152,7 @@ class TaskPanelHoleGeometryPage(PathOpGui.TaskPanelBaseGeometryPage):
self.form.baseList.itemChanged.connect(self.checkedChanged)
def resetBase(self):
'''resetBase() ... push button callback'''
self.obj.Base = []
self.obj.Disabled = []
@@ -142,11 +160,14 @@ class TaskPanelHoleGeometryPage(PathOpGui.TaskPanelBaseGeometryPage):
FreeCAD.ActiveDocument.recompute()
def updateData(self, obj, prop):
'''updateData(obj, prop) ... callback whenever a property of the model changed'''
if prop in ['Base', 'Disabled']:
self.setFields(obj)
class TaskPanelOpPage(PathOpGui.TaskPanelPage):
'''Base class for circular hole based operation's page controller.'''
def taskPanelBaseGeometryPage(self, obj, features):
'''taskPanelBaseGeometryPage(obj, features) ... Return circular hole specific page controller for Base Geometry.'''
return TaskPanelHoleGeometryPage(obj, features)