Source code for director.tasklaunchpanel

from PythonQt import QtCore, QtGui
from director import applogic as app
import functools

[docs]class TaskLaunchPanel(object): def __init__(self, widgetMap): self.widget = QtGui.QTabWidget() self.widget.setWindowTitle('Task Panel') for name, widget in widgetMap.iteritems(): self.addTaskPanel(name, widget)
[docs] def getTaskPanelNames(self): return [self.widget.tabText(i) for i in xrange(self.widget.count)]
[docs] def removeTaskPanel(self, taskPanelName): names = self.getTaskPanelNames() assert taskPanelName in names self.widget.removeTab(names.index(taskPanelName))
[docs] def clear(self): self.widget.clear()
[docs] def addTaskPanel(self, taskPanelName, taskPanelWidget): self.widget.addTab(taskPanelWidget, taskPanelName)
[docs] def showTaskLaunchPanel(self): widget = self.widget widget.show() widget.raise_() widget.activateWindow()
def _getAction(): return app.getToolBarActions()['ActionTaskLauncher']
[docs]def init(widgetMap): global panel panel = TaskLaunchPanel(widgetMap) _getAction().connect('triggered()', panel.showTaskLaunchPanel) return panel