3 # vim: sw=4 ts=4 expandtab ai
7 class Out_Table_Control(object):
9 self.out_ui = Output_Presentation()
11 def show(self, filelist):
12 self.out_ui.show_result(filelist)
15 return self.out_ui.get_ui()
18 class Out_Table_Abstraction(object):
22 class Out_Table_Presentation(object):
25 self.scrollwind = gtk.ScrolledWindow()
26 self.scrollwind.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
28 # Определяем переменную в которой будет храниться выводимый список
29 self.liststore = gtk.ListStore(str, str, int)
30 self.treeview = gtk.TreeView(self.liststore)
31 # На таблетке не отображаються заголовки столбцов по умолчанию -
32 # след строка заставляет их отображаться принудительно
33 self.treeview.set_headers_visible(1)
34 self.liststore.append(['', '', 0])
36 # Создаем и настраиваем колонку с размером файла
37 size_col = gtk.TreeViewColumn( 'Size')
38 cell = gtk.CellRendererText()
39 cell.set_property('width', 90)
40 size_col.pack_start(cell, True)
41 size_col.add_attribute(cell, 'text', 1)
42 self.treeview.append_column(size_col)
43 # Создаем и настраиваем колонку с именем файла
44 path_col = gtk.TreeViewColumn( 'Path')
45 cell2 = gtk.CellRendererText()
46 path_col.pack_start(cell2, True)
47 path_col.add_attribute(cell2, 'text', 0)
48 self.treeview.append_column(path_col)
50 # Добавляем сортировку для колонок
51 self.treeview.set_search_column(1)
52 path_col.set_sort_column_id(0)
53 size_col.set_sort_column_id(2)
55 self.scrollwind.add(self.treeview)
58 return self.scrollwind
60 def show_result(self, filelist):
61 self.liststore.clear()
62 for stroka in filelist:
63 self.liststore.append(stroka)