Example #1
0
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)
Example #2
0
File: tasks.py Project: Br3nda/plow
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)