Merge commit 'origin/mosfet/master' into alex2ndr/master
[findit] / src / debs / outtable.py
diff --git a/src/debs/outtable.py b/src/debs/outtable.py
new file mode 100755 (executable)
index 0000000..7fc52ad
--- /dev/null
@@ -0,0 +1,77 @@
+#!/usr/bin/env python
+# -*-coding: utf-8 -*-
+# vim: sw=4 ts=4 expandtab ai
+
+#==============================================================================
+
+# class OutTable_Control(object):
+#     def __init__(self):
+#         self.table_present = Gtk_Presentation()
+# 
+#     def show(self, filelist, flsize):
+#         self.table_present.show_result(filelist, flsize)
+# 
+#     def get_ui(self):
+#         return self.table_present.get_toplevel()
+# 
+# 
+# #==============================================================================
+# 
+# class OutTable_Abstraction(object):
+#     pass
+
+#==============================================================================
+
+class Cli_Presentation(object):
+    pass
+
+#==============================================================================
+
+class Gtk_Presentation(object):
+    def __init__(self, filelist):   ###
+        import gtk
+        import gobject
+
+        # Определяем переменную в которой будет храниться выводимый список
+        self.liststore = gtk.ListStore(str, str, gobject.TYPE_INT64)
+
+        for bsize, path, size in filelist:
+            self.liststore.append([path, size, bsize])
+
+        treeview = gtk.TreeView(self.liststore)
+
+        # На таблетке не отображаються заголовки столбцов по умолчанию -
+        # след строка заставляет их отображаться принудительно
+        treeview.set_headers_visible(1)
+
+        # Создаем и настраиваем колонку с размером файла
+        size_col = gtk.TreeViewColumn( 'Size')
+        cell1 = gtk.CellRendererText()
+        cell1.set_property('width', 90)
+        size_col.pack_start(cell1, True)
+        size_col.add_attribute(cell1, 'text', 1)
+        treeview.append_column(size_col)
+        # Создаем и настраиваем колонку с именем файла
+        path_col = gtk.TreeViewColumn( 'Path')
+        cell2 = gtk.CellRendererText()
+        path_col.pack_start(cell2, True)
+        path_col.add_attribute(cell2, 'text', 0)
+        treeview.append_column(path_col)
+
+        # Добавляем сортировку для колонок
+        treeview.set_search_column(1)
+        path_col.set_sort_column_id(0)
+        size_col.set_sort_column_id(2)
+
+        self.swin = gtk.ScrolledWindow()
+        self.swin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+        self.swin.add(treeview)
+###        self.swin.show_all()
+        self.toplevel = self.swin
+
+#     #=== Functions ============================================================
+#     def show_results(self, filelist):
+#         self.liststore.clear()
+#         for path, size, bsize in filelist:
+#             print path, size, bsize
+#             self.liststore.append([path, size, bsize])