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