How can I get an interactive search (a search caused by pressing Ctrl-f or /) to iterate over collapsed lines of Gtk.TreeView?
For example, if I wanted to find "Second in Four" without the "Row Four" extension, first in the following code:
from gi.repository import Gtk
class Main(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Recursive Search")
self.set_default_size(200, 200)
self.treestore = Gtk.TreeStore(str, str)
treeiter = self.treestore.append(None, ["Row One", ""])
self.treestore.append(treeiter, ["Row Two", "First in One"])
self.treestore.append(treeiter, ["Row Tree", "Second in One"])
treeiter = self.treestore.append(None, ["Row Four", ""])
self.treestore.append(treeiter, ["Row Five", "First in Four"])
self.treestore.append(treeiter, ["Row Six", "Second in Four"])
treeiter = self.treestore.append(None, ["Row Seven", ""])
self.treestore.append(treeiter, ["Row Eight", "First in Seven"])
self.treestore.append(treeiter, ["Row Nine", "Second in Seven"])
treeview = Gtk.TreeView(model=self.treestore)
renderer_text = Gtk.CellRendererText()
column_text = Gtk.TreeViewColumn(cell_renderer=renderer_text, text=0)
treeview.append_column(column_text)
column_text = Gtk.TreeViewColumn(cell_renderer=renderer_text, text=1)
treeview.append_column(column_text)
treeview.set_search_column(1)
treeview.set_headers_visible(False)
self.add(treeview)
win = Main()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
source
share