3 from gi.repository
import Gtk
as gtk
4 from gi.repository
import GObject
as gobject
23 def __init__(self, label='Filters', existing_filters=[]):
24 super(FiltersFrame, self).
__init__(label=label)
28 list_store = gtk.ListStore(gobject.TYPE_STRING,
30 gobject.TYPE_PYOBJECT)
34 col_names = [
'Type',
'Description']
35 for i
in range(len(col_names)):
36 col = gtk.TreeViewColumn(col_names[i], gtk.CellRendererText(), text=i)
37 col.set_resizable(
True)
38 self.treeview.append_column(col)
41 model = self.treeview.get_model()
42 for cur_filter
in existing_filters:
43 model.append([cur_filter.get_filter_type_str(), cur_filter.get_filter_desc_str(), cur_filter])
45 vbox.pack_start(self.
treeview,
True,
True, 0)
48 button_box = gtk.HButtonBox()
49 add_button = UIUtils.create_button(
'Add Filter', UIUtils.BUTTON_ICONS.ADD, UIUtils.BUTTON_ICON_SIZES.PX22)
51 remove_button = UIUtils.create_button(
'Remove Filter', UIUtils.BUTTON_ICONS.REMOVE, UIUtils.BUTTON_ICON_SIZES.PX22)
53 button_box.add(add_button)
54 button_box.add(remove_button)
56 vbox.pack_start(button_box,
False,
False, 0)
63 tree_model = self.treeview.get_model()
64 filters_iter = tree_model.get_iter_first()
67 filters.append(tree_model.get_value(filters_iter, 2))
68 filters_iter = tree_model.iter_next(filters_iter)
76 filter_list_store = self.treeview.get_model()
77 filter_list_store.append([new_filter.get_filter_type_str(), new_filter.get_filter_desc_str(), new_filter])
83 model, it = self.treeview.get_selection().get_selected()