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