123
authortanya <tanya@tanin.oblgaz>
Wed, 27 Jan 2010 14:48:02 +0000 (16:48 +0200)
committertanya <tanya@tanin.oblgaz>
Wed, 27 Jan 2010 14:48:02 +0000 (16:48 +0200)
database/db.py
list.py

index b5ddd73..6b66b39 100755 (executable)
@@ -6,6 +6,9 @@
 
 import os
 import sqlite3
+import pygtk
+pygtk.require('2.0')
+import gtk
 
 class DbSqlite:
 
@@ -135,4 +138,22 @@ class DbSqlite:
         conn.commit()
         conn.close()
 
+    def make_tree(self):
+
+        """create TreeStore from database table Struct"""
+        ts = gtk.TreeStore(int, str)
+        
+        conn = self.connect()
+        if conn is None:
+            return None
+        cur = conn.cursor()
+        cur.execute("select id, name, parent from struct")
+        item = {}
+        for row in cur:
+            if (row[2] == 0):
+                item[row[0]] = ts.append(None, [row[0], row[1]]) 
+            else :
+                ts.append(item[row[2]], [row[0], row[1]])
+        return ts
+
 
diff --git a/list.py b/list.py
index 117e25c..cbbd987 100755 (executable)
--- a/list.py
+++ b/list.py
@@ -56,7 +56,8 @@ class List:
         for d in self.data:
             store.append([d, self.data[d]])
         
-        tree = gtk.TreeView(store)
+        ts = db.make_tree()
+        tree = gtk.TreeView(ts)
         tree.set_rules_hint(True)
 
         tree.connect("row-activated", self.select_item)