Skip to content
Snippets Groups Projects
Commit bc1d34e1 authored by Marko Mecina's avatar Marko Mecina
Browse files

add search function to data pool tab

parent 443ded91
No related branches found
No related tags found
No related merge requests found
......@@ -391,7 +391,7 @@ class CBRSearch(Gtk.Box):
# self.popover_filter_columns.add(self.listbox_columns)
# search field
self.input_field = Gtk.Entry()
self.input_field = Gtk.SearchEntry()
self.pack_start(self.input_field, False, False, 0)
self.input_buffer = Gtk.EntryBuffer()
self.input_field.set_buffer(self.input_buffer)
......
......@@ -91,13 +91,10 @@ class DataPoolTable(Gtk.Grid):
# setting the filter function
self.data_pool_filter.set_visible_func(self.data_pool_filter_func)
self.pid = None
# Create ListStores for the ComboBoxes
# self.pid_liststore = Gtk.ListStore(str)
# for pid_ref in pid_list:
# self.pid_liststore.append([pid_ref, ])
# self.current_filter_type = None
# filter entry
self.filter_entry = Gtk.SearchEntry()
self.filter_entry.connect('search-changed', self.do_filter)
self.attach(self.filter_entry, 0, 0, 8, 1)
# creating the treeview, making it use the filter a model, adding columns
self.treeview = Gtk.TreeView.new_with_model(Gtk.TreeModelSort(self.data_pool_filter))
......@@ -107,12 +104,6 @@ class DataPoolTable(Gtk.Grid):
column.set_sort_column_id(i)
self.treeview.append_column(column)
# self.treeview.set_tooltip_text('Right-click for copy menu')
# Handle selection
self.selected_row = self.treeview.get_selection()
#self.selected_row.connect("changed", self.item_selected)
# setting up layout, treeview in scrollwindow
self.scrollable_treelist = Gtk.ScrolledWindow()
self.scrollable_treelist.set_vexpand(True)
......@@ -134,6 +125,10 @@ class DataPoolTable(Gtk.Grid):
self.show_all()
def do_filter(self, widget, *args):
self.current_filter_data_pool = widget.get_text()
self.data_pool_filter.refilter()
def on_treeview_clicked(self, widget, event):
if event.button == 3:
self.rcl_menu.popup_at_pointer()
......@@ -147,30 +142,12 @@ class DataPoolTable(Gtk.Grid):
else:
self.clipboard.set_text(model[it][cell_idx], -1)
def on_pid_combo_changed(self, combo):
combo_iter = combo.get_active_iter()
if combo_iter is not None:
model = combo.get_model()
number = model[combo_iter][0]
self.current_filter_data_pool = int(number)
self.data_pool_filter.refilter()
def on_clear_button_clicked(self, widget):
self.current_filter_data_pool = None
self.data_pool_filter.refilter()
def item_selected(self, selection):
model, row = selection.get_selected()
if row is not None:
self.pid = model[row][:2]
def data_pool_filter_func(self, model, iter, data):
if self.current_filter_data_pool is None or self.current_filter_data_pool == "None":
if not self.current_filter_data_pool:
return True
else:
return model[iter][0] == self.current_filter_data_pool
# match search string in PID, NAME, DESCR columns
return ' '.join([*model[iter][:2], model[iter][5]]).lower().count(self.current_filter_data_pool.lower())
def on_drag_data_get(self, treeview, drag_context, selection_data, info, time, *args):
treeselection = treeview.get_selection()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment