예제 #1
0
 def set_filters_and_actions( self, filters_and_actions ):
     """sets filters for the tableview"""
     assert object_thread( self )
     filters, actions = filters_and_actions
     from camelot.view.controls.filterlist import FilterList
     from camelot.view.controls.actionsbox import ActionsBox
     logger.debug( 'setting filters for tableview' )
     filters_widget = self.findChild(FilterList, 'filters')
     actions_widget = self.findChild(ActionsBox, 'actions')
     if filters_widget:
         filters_widget.filters_changed_signal.disconnect( self.rebuild_query )
         self.filters_layout.removeWidget(filters_widget)
         filters_widget.deleteLater()
     if actions_widget:
         self.filters_layout.removeWidget(actions_widget)
         actions_widget.deleteLater()
     if filters:
         splitter = self.findChild( QtGui.QWidget, 'splitter' )
         filters_widget = FilterList( filters, parent=splitter )
         filters_widget.setObjectName('filters')
         self.filters_layout.addWidget( filters_widget )
         filters_widget.filters_changed_signal.connect( self.rebuild_query )
     #
     # filters might have default values, so we can only build the queries now
     #
     self.rebuild_query()
     if actions:
         actions_widget = ActionsBox( parent = self,
                                      gui_context = self.gui_context )
         actions_widget.setObjectName( 'actions' )
         actions_widget.set_actions( actions )
         self.filters_layout.addWidget( actions_widget )
예제 #2
0
 def set_filters_and_actions(self, filters_and_actions):
     """sets filters for the tableview"""
     assert object_thread(self)
     filters, actions = filters_and_actions
     from camelot.view.controls.filterlist import FilterList
     from camelot.view.controls.actionsbox import ActionsBox
     logger.debug('setting filters for tableview')
     filters_widget = self.findChild(FilterList, 'filters')
     actions_widget = self.findChild(ActionsBox, 'actions')
     if filters_widget:
         filters_widget.filters_changed_signal.disconnect(
             self.rebuild_query)
         self.filters_layout.removeWidget(filters_widget)
         filters_widget.deleteLater()
     if actions_widget:
         self.filters_layout.removeWidget(actions_widget)
         actions_widget.deleteLater()
     if filters:
         splitter = self.findChild(QtGui.QWidget, 'splitter')
         filters_widget = FilterList(filters, parent=splitter)
         filters_widget.setObjectName('filters')
         self.filters_layout.addWidget(filters_widget)
         filters_widget.filters_changed_signal.connect(self.rebuild_query)
     #
     # filters might have default values, so we can only build the queries now
     #
     self.rebuild_query()
     if actions:
         actions_widget = ActionsBox(parent=self,
                                     gui_context=self.gui_context)
         actions_widget.setObjectName('actions')
         actions_widget.set_actions(actions)
         self.filters_layout.addWidget(actions_widget)
예제 #3
0
 def set_filters_and_actions(self, filters_and_actions):
     """sets filters for the tableview"""
     filters, actions = filters_and_actions
     from camelot.view.controls.filterlist import FilterList
     from camelot.view.controls.actionsbox import ActionsBox
     logger.debug('setting filters for tableview')
     filters_widget = self.findChild(FilterList, 'filters')
     actions_widget = self.findChild(ActionsBox, 'actions')
     if filters_widget:
         filters_widget.filters_changed_signal.disconnect(
             self.rebuild_query)
         self.filters_layout.removeWidget(filters_widget)
         filters_widget.deleteLater()
     if actions_widget:
         self.filters_layout.removeWidget(actions_widget)
         actions_widget.deleteLater()
     if filters:
         splitter = self.findChild(QtGui.QWidget, 'splitter')
         filters_widget = FilterList(filters, parent=splitter)
         filters_widget.setObjectName('filters')
         self.filters_layout.addWidget(filters_widget)
         filters_widget.filters_changed_signal.connect(self.rebuild_query)
     #
     # filters might have default values, so we can only build the queries now
     #
     self.rebuild_query()
     if actions:
         #
         # Attention, the ActionBox should only contain a reference to the
         # table, and not to the table model, since this will cause the
         # garbage collector to collect them both in random order, causing
         # segfaults (see the test_qt_bindings)
         #
         actions_widget = ActionsBox(self, self.get_collection,
                                     self.get_selection)
         actions_widget.setObjectName('actions')
         actions_widget.setActions(actions)
         self.filters_layout.addWidget(actions_widget)
예제 #4
0
    def set_filters_and_actions(self, filters_and_actions):
        """sets filters for the tableview"""
        filters, actions = filters_and_actions
        from camelot.view.controls.filterlist import FilterList
        from camelot.view.controls.actionsbox import ActionsBox

        logger.debug("setting filters for tableview")
        filters_widget = self.findChild(FilterList, "filters")
        actions_widget = self.findChild(ActionsBox, "actions")
        if filters_widget:
            filters_widget.filters_changed_signal.disconnect(self.rebuild_query)
            self.filters_layout.removeWidget(filters_widget)
            filters_widget.deleteLater()
        if actions_widget:
            self.filters_layout.removeWidget(actions_widget)
            actions_widget.deleteLater()
        if filters:
            splitter = self.findChild(QtGui.QWidget, "splitter")
            filters_widget = FilterList(filters, parent=splitter)
            filters_widget.setObjectName("filters")
            self.filters_layout.addWidget(filters_widget)
            filters_widget.filters_changed_signal.connect(self.rebuild_query)
        #
        # filters might have default values, so we can only build the queries now
        #
        self.rebuild_query()
        if actions:
            #
            # Attention, the ActionBox should only contain a reference to the
            # table, and not to the table model, since this will cause the
            # garbage collector to collect them both in random order, causing
            # segfaults (see the test_qt_bindings)
            #
            actions_widget = ActionsBox(self, self.get_collection, self.get_selection)
            actions_widget.setObjectName("actions")
            actions_widget.setActions(actions)
            self.filters_layout.addWidget(actions_widget)