3 # vim: sw=4 ts=4 expandtab ai
5 #==============================================================================
7 # class OutTable_Control(object):
9 # self.table_present = Gtk_Presentation()
11 # def show(self, filelist, flsize):
12 # self.table_present.show_result(filelist, flsize)
15 # return self.table_present.get_toplevel()
18 # #==============================================================================
20 # class OutTable_Abstraction(object):
23 #==============================================================================
25 class Cli_Presentation(object):
26 def __init__(self, filelist): ###
27 self.toplevel = self.print_results(filelist)
29 def print_results(self, filelist):
30 for bsize, path, size in filelist:
31 print '%10d' % bsize, path
33 #==============================================================================
35 class Gtk_Presentation(object):
36 def __init__(self, filelist): ###
40 # Определяем переменную в которой будет храниться выводимый список
41 self.liststore = gtk.ListStore(str, str, gobject.TYPE_INT64)
43 for bsize, path, size in filelist:
44 self.liststore.append([path, size, bsize])
46 treeview = gtk.TreeView(self.liststore)
48 # Создаем и настраиваем колонку с размером файла
49 size_col = gtk.TreeViewColumn(_('Size'))
50 cell1 = gtk.CellRendererText()
51 cell1.set_property('width', 90)
52 size_col.pack_start(cell1, True)
53 size_col.add_attribute(cell1, 'text', 1)
54 treeview.append_column(size_col)
55 # Создаем и настраиваем колонку с именем файла
56 path_col = gtk.TreeViewColumn(_('Path'))
57 cell2 = gtk.CellRendererText()
58 path_col.pack_start(cell2, True)
59 path_col.add_attribute(cell2, 'text', 0)
60 treeview.append_column(path_col)
62 # Добавляем сортировку для колонок
63 treeview.set_search_column(1)
64 path_col.set_sort_column_id(0)
65 size_col.set_sort_column_id(2)
67 self.swin = gtk.ScrolledWindow()
68 self.swin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
69 self.swin.add(treeview)
70 ### self.swin.show_all()
71 self.toplevel = self.swin
73 # #=== Functions ============================================================
74 # def show_results(self, filelist):
75 # self.liststore.clear()
76 # for path, size, bsize in filelist:
77 # print path, size, bsize
78 # self.liststore.append([path, size, bsize])
80 #==============================================================================
82 class Hildon_Presentation(object):
83 def __init__(self, filelist): ###
88 # На таблетке не отображаються заголовки столбцов по умолчанию -
89 # след строка заставляет их отображаться принудительно
90 treeview.set_headers_visible(1)