| |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| from PySide import QtGui |
| import FreeCADGui |
| import Path |
| from Path.Base.Gui import IconViewProvider |
| from Path.Tool.toolbit.ui.panel import TaskPanel |
|
|
|
|
| class ViewProvider(object): |
| """ |
| ViewProvider for a ToolBit DocumentObject. |
| It's sole job is to provide an icon and invoke the TaskPanel |
| on edit. |
| """ |
|
|
| def __init__(self, vobj, name): |
| Path.Log.track(name, vobj.Object) |
| self.panel = None |
| self.icon = name |
| self.obj = vobj.Object |
| self.vobj = vobj |
| vobj.Proxy = self |
|
|
| def attach(self, vobj): |
| Path.Log.track(vobj.Object) |
| self.vobj = vobj |
| self.obj = vobj.Object |
|
|
| def getIcon(self): |
| try: |
| png_data = self.obj.Proxy.get_thumbnail() |
| except AttributeError: |
| png_data = None |
| if png_data: |
| pixmap = QtGui.QPixmap() |
| pixmap.loadFromData(png_data, "PNG") |
| return QtGui.QIcon(pixmap) |
| return ":/icons/CAM_ToolBit.svg" |
|
|
| def dumps(self): |
| return None |
|
|
| def loads(self, state): |
| return None |
|
|
| def onDelete(self, vobj, arg2=None): |
| Path.Log.track(vobj.Object.Label) |
| vobj.Object.Proxy.onDelete(vobj.Object) |
|
|
| def getDisplayMode(self, mode): |
| return "Default" |
|
|
| def _openTaskPanel(self, vobj, deleteOnReject): |
| Path.Log.track() |
| self.panel = TaskPanel(vobj, deleteOnReject) |
| FreeCADGui.Control.closeDialog() |
| FreeCADGui.Control.showDialog(self.panel) |
| self.panel.setupUi() |
|
|
| def setCreate(self, vobj): |
| Path.Log.track() |
| self._openTaskPanel(vobj, True) |
|
|
| def setEdit(self, vobj, mode=0): |
| self._openTaskPanel(vobj, False) |
| return True |
|
|
| def unsetEdit(self, vobj, mode): |
| FreeCADGui.Control.closeDialog() |
| self.panel = None |
| return |
|
|
| def claimChildren(self): |
| if self.obj.BitBody: |
| return [self.obj.BitBody] |
| return [] |
|
|
| def doubleClicked(self, vobj): |
| pass |
|
|
| def setupContextMenu(self, vobj, menu): |
| |
| |
| pass |
|
|
|
|
| IconViewProvider.RegisterViewProvider("ToolBit", ViewProvider) |
|
|