3 # vim: sw=4 ts=4 expandtab ai
7 class Out_Table_Control(object):
8 def __init__(self, config):
9 win_width = config.get('window_width')
10 win_height = config.get('window_height')
11 self.out_ui = Out_Table_Presentation(win_width, win_height)
13 def show(self, filelist):
14 self.out_ui.show_result(filelist)
20 class Out_Table_Abstraction(object):
24 class Out_Table_Presentation(gtk.Window):
25 def __init__(self, win_width, win_height):
27 gtk.Window.__init__(self)
28 self.set_default_size(win_width, win_height)
29 self.set_border_width(4)
30 self.connect('delete_event', gtk.main_quit)
32 scrollwind = gtk.ScrolledWindow()
33 scrollwind.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
35 # Определяем переменную в которой будет храниться выводимый список
36 self.liststore = gtk.ListStore(str, str, int)
37 self.treeview = gtk.TreeView(self.liststore)
38 # На таблетке не отображаються заголовки столбцов по умолчанию -
39 # след строка заставляет их отображаться принудительно
40 self.treeview.set_headers_visible(1)
41 self.liststore.append(['', '', 0])
43 # Создаем и настраиваем колонку с размером файла
44 size_col = gtk.TreeViewColumn( 'Size')
45 cell = gtk.CellRendererText()
46 cell.set_property('width', 90)
47 size_col.pack_start(cell, True)
48 size_col.add_attribute(cell, 'text', 1)
49 self.treeview.append_column(size_col)
50 # Создаем и настраиваем колонку с именем файла
51 path_col = gtk.TreeViewColumn( 'Path')
52 cell2 = gtk.CellRendererText()
53 path_col.pack_start(cell2, True)
54 path_col.add_attribute(cell2, 'text', 0)
55 self.treeview.append_column(path_col)
57 # Добавляем сортировку для колонок
58 self.treeview.set_search_column(1)
59 path_col.set_sort_column_id(0)
60 size_col.set_sort_column_id(2)
62 scrollwind.add(self.treeview)
65 def show_result(self, filelist):
66 self.liststore.clear()
67 for stroka in filelist:
68 self.liststore.append(stroka)