class ShowPanelCommandClass(): def GetResources(self): return {'MenuText': "Show Panel"} def Activated(self): from PySide import QtCore import BoxerGui print('ShowPanelCommandClass.Activated') window = FreeCADGui.getMainWindow() window.addDockWidget(QtCore.Qt.RightDockWidgetArea, BoxerGui.gui.dockWidget) BoxerGui.gui.dockWidget.show() return def IsActive(self): return True class BoxerWorkbench(Workbench): MenuText = "Boxer" ToolTip = "Box Maker" def Initialize(self): self.list = ["BoxerShowPanel"] self.appendToolbar("Boxer Commands", self.list) import BoxerGui # Loads the Boxer modules def Activated(self): Gui.runCommand('BoxerShowPanel') return def Deactivated(self): return def ContextMenu(self, recipient): self.appendContextMenu("Boxer", self.list) def GetClassName(self): return "Gui::PythonWorkbench" Gui.addCommand('BoxerShowPanel', ShowPanelCommandClass()) Gui.addWorkbench(BoxerWorkbench())