Exemple #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)
Exemple #2
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)