creating wizard view - minor changes in src/pkgsearch.py
[findit] / src / outtable.py
1 #!/usr/bin/env python
2 # -*-coding: utf-8 -*-
3 # vim: sw=4 ts=4 expandtab ai
4
5 import gtk
6
7 class Out_Table_Control(object):
8     def __init__(self):
9         self.out_ui = Output_Presentation()
10
11     def show(self, filelist):
12         self.out_ui.show_result(filelist)
13
14     def get_ui(self):
15         return self.out_ui.get_ui()
16
17
18 class Out_Table_Abstraction(object):
19     pass
20
21
22 class Out_Table_Presentation(object):
23     def __init__(self):
24         # Список файлов
25         self.scrollwind = gtk.ScrolledWindow()
26         self.scrollwind.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
27
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])
35
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)
49
50         # Добавляем сортировку для колонок
51         self.treeview.set_search_column(1)
52         path_col.set_sort_column_id(0)
53         size_col.set_sort_column_id(2)
54
55         self.scrollwind.add(self.treeview)
56
57     def get_ui(self):
58         return self.scrollwind
59
60     def show_result(self, filelist):
61         self.liststore.clear()
62         for stroka in filelist:
63             self.liststore.append(stroka)