def _create_list(self, column_title): object_list = ObjectList([ KanbanObjectListColumn('markup', title=column_title, data_type=str, use_markup=True, expand=True), ]) object_list.connect('row-activated', self._on_row_activated) object_list.connect('right-click', self._on_right_click) sw = object_list.get_scrolled_window() sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) sw.set_shadow_type(gtk.SHADOW_NONE) treeview = object_list.get_treeview() treeview.set_name(column_title) treeview.connect( "button-press-event", self._on_button_press_event) treeview.set_rules_hint(False) column = object_list.get_column_by_name('markup') column.treeview_column.set_clickable(False) white = gtk.gdk.color_parse('white') treeview.modify_base(gtk.STATE_ACTIVE, white) treeview.modify_base(gtk.STATE_SELECTED, white) object_list.set_cell_data_func(self._on_results__cell_data_func) return object_list
def _create_list(self, column_title): object_list = ObjectList([ KanbanObjectListColumn('markup', title=column_title, data_type=str, use_markup=True, expand=True), ]) object_list.connect('row-activated', self._on_row_activated) object_list.connect('right-click', self._on_right_click) sw = object_list.get_scrolled_window() sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) sw.set_shadow_type(Gtk.ShadowType.NONE) treeview = object_list.get_treeview() treeview.set_name(column_title) treeview.connect( "button-press-event", self._on_button_press_event) treeview.set_rules_hint(False) column = object_list.get_column_by_name('markup') column.treeview_column.set_clickable(False) white = Gdk.color_parse('white') treeview.modify_base(Gtk.StateType.ACTIVE, white) treeview.modify_base(Gtk.StateType.SELECTED, white) object_list.set_cell_data_func(self._on_results__cell_data_func) return object_list
class FormFieldEditor(BasicDialog): size = (700, 400) title = _("Form fields") def __init__(self, store): self.store = store BasicDialog.__init__(self, size=FormFieldEditor.size, title=FormFieldEditor.title) self._create_ui() def _create_ui(self): hbox = Gtk.HBox() self.main.remove(self.main.get_child()) self.main.add(hbox) hbox.show() self.forms = ObjectList( [Column('description', title=_('Description'), sorted=True, expand=True, format_func=stoqlib_gettext)], self.store.find(UIForm), Gtk.SelectionMode.BROWSE) self.forms.connect('selection-changed', self._on_forms__selection_changed) self.forms.set_headers_visible(False) self.forms.set_size_request(200, -1) hbox.pack_start(self.forms, False, False, 0) self.forms.show() box = Gtk.VBox() hbox.pack_start(box, True, True, 0) box.show() self.fields = ObjectList(self._get_columns(), [], Gtk.SelectionMode.BROWSE) box.pack_start(self.fields, True, True, 0) self.fields.show() box.show() def _on_forms__selection_changed(self, forms, form): if not form: return self.fields.add_list(self.store.find(UIField, ui_form=form), clear=True) self.fields.set_cell_data_func(self._uifield__cell_data_func) def _uifield__cell_data_func(self, column, renderer, obj, text): if isinstance(renderer, Gtk.CellRendererText): return text manager = get_plugin_manager() if manager.is_any_active(['nfe', 'nfce']): is_editable = obj.field_name not in [u'street', u'district', u'city', u'state', u'country', u'street_number'] renderer.set_property('sensitive', is_editable) renderer.set_property('activatable', is_editable) return text def _get_columns(self): return [Column('description', title=_('Description'), data_type=str, expand=True, sorted=True, format_func=stoqlib_gettext), Column('visible', title=_('Visible'), data_type=bool, width=120, editable=True), Column('mandatory', title=_('Mandatory'), data_type=bool, width=120, editable=True)] def confirm(self, *args): self.store.confirm(True) BasicDialog.confirm(self, *args) info(_("Changes will be applied after all instances of Stoq are restarted.")) def cancel(self, *args): self.store.rollback(close=False) BasicDialog.confirm(self, *args)