class TaskPanel(Panel): def __init__(self, name="Tasks", parent=None): Panel.__init__(self, name, "Tasks", parent) self.setAttr("refreshSeconds", 5) self.setWidget(TaskWidget(self.attrs, self)) self.setWindowTitle(name) self.__lastJobId = None EventManager.JobOfInterest.connect(self.__handleJobOfInterestEvent) EventManager.LayerOfInterest.connect(self.__handleLayerOfInterestEvent) def init(self): titleBar = self.titleBarWidget() self.__state_filter = CheckableComboBox("Task States", constants.TASK_STATES, parent=self) self.__layer_filter = CheckableComboBox("Layers", [], parent=self) titleBar.addWidget(self.__state_filter) titleBar.addWidget(self.__layer_filter) self.__state_filter.optionSelected.connect(self.__stateFilterChanged) self.__layer_filter.optionSelected.connect(self.__layerFilterChanged) def openLoadDialog(self): print "Open search dialog" def openConfigDialog(self): pass def refresh(self): self.widget().refresh() def __handleJobOfInterestEvent(self, jobId, *args, **kwargs): taskWidget = self.widget() taskWidget.setJobId(jobId) if jobId != self.__lastJobId: self.__layer_filter.setOptions(taskWidget.layerNames) self.__lastJobId = jobId def __handleLayerOfInterestEvent(self, layerId, *args, **kwargs): taskWidget = self.widget() taskWidget.setLayerFilters(layers=[layerId]) name = taskWidget.layerIdToName(layerId) if name: self.__layer_filter.setSelected([name]) def __stateFilterChanged(self): sel = self.__state_filter.selectedOptions() self.widget().setStateFilters(sel) def __layerFilterChanged(self): sel = self.__layer_filter.selectedOptions() self.widget().setLayerFilters(sel)
class TaskPanel(Panel): def __init__(self, name="Tasks", parent=None): Panel.__init__(self, name, "Tasks", parent) self.setAttr("refreshSeconds", 5) self.setWidget(TaskWidget(self.attrs, self)) self.setWindowTitle(name) self.__lastJobId = None EventManager.JobOfInterest.connect(self.__handleJobOfInterestEvent) EventManager.LayerOfInterest.connect(self.__handleLayerOfInterestEvent) def init(self): titleBar = self.titleBarWidget() self.__state_filter = CheckableComboBox("Task States", constants.TASK_STATES, parent=self) self.__layer_filter = CheckableComboBox("Layers", [], parent=self) titleBar.addWidget(self.__state_filter) titleBar.addWidget(self.__layer_filter) self.__state_filter.optionSelected.connect(self.__stateFilterChanged) self.__layer_filter.optionSelected.connect(self.__layerFilterChanged) def openLoadDialog(self): print "Open search dialog" def openConfigDialog(self): pass def refresh(self): self.widget().refresh() def __handleJobOfInterestEvent(self, jobId, *args, **kwargs): taskWidget = self.widget() taskWidget.setJobId(jobId) if jobId != self.__lastJobId: self.__layer_filter.setOptions(taskWidget.layerNames) self.__lastJobId = jobId def __handleLayerOfInterestEvent(self, layerId, *args, **kwargs): taskWidget = self.widget() taskWidget.setLayerFilters(layers=[layerId]) name = taskWidget.layerIdToName(layerId) if name: self.__layer_filter.setSelected([name]) def __stateFilterChanged(self): sel = self.__state_filter.selectedOptions() self.widget().setStateFilters(sel) def __layerFilterChanged(self): sel = self.__layer_filter.selectedOptions() self.widget().setLayerFilters(sel)