1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 __maintainer__ = 'Lionel Martin <lionel@fluendo.com>'
19
20
21 from elisa.base_components.view import View
22
23 import pygtk
24 pygtk.require('2.0')
25 import gtk
26
27
28
30 """
31 This class implements gtk list view support
32 """
33
34 supported_controllers = ('base:list_controller',)
35
42
44 self.tvcolumn1 = gtk.TreeViewColumn("Test list")
45
46 self.treeview.append_column(self.tvcolumn1)
47 self.cell1 = gtk.CellRendererText()
48
49 self.tvcolumn1.pack_start(self.cell1, True)
50 self.tvcolumn1.set_attributes(self.cell1, text=0)
51
52 tree_selection = self.treeview.get_selection()
53 tree_selection.set_mode(gtk.SELECTION_SINGLE)
54 tree_selection.connect("changed", self._gtk_selection_changed)
55
56
58 selected_rows = selection.get_selected_rows()
59 if selected_rows[1]:
60 new_index = selected_rows[1][0][0]
61 self.controller.model.current_selection = new_index
62
63
65 self.liststore.clear()
66
67 for model in self._controller.model:
68 self.liststore.append([model])
69 tree_selection = self.treeview.get_selection()
70
71 if len(self._controller.model):
72 iter = self.liststore.get_iter(0)
73 tree_selection.select_iter(iter)
74
77
78 - def removed(self, elements, position):
80
83
86
88 self.treeview.get_selection().select_path(new_index)
89