self.data[row[0]] = row[1]
return self.data
- def get_allrecords(self, field):
+ def get_allrecords(self, field, struct):
"""return records"""
cur = self.conn.cursor()
cur.execute("select data.id, data.value "
"from data left join field "
"on data.id_field=field.id "
- "where field.name=?", (field,))
+ "left join relation on data.id=relation.id_data "
+ "where field.name=? and relation.id_struct=?", (field, struct))
self.data = {}
for row in cur:
#print row
ts.append(item[row[2]], [row[0], row[1]])
return ts
+ def get_list(self, parent):
+
+ """return list of struct with same parent"""
+ conn = self.connect()
+ if conn is None:
+ return None
+ cur = conn.cursor()
+ cur.execute("select id, name from struct where parent=?", (parent,))
+ data = {}
+ for row in cur:
+ data[row[0]] = row[1]
+
+ return data
vbox.pack_start(sw, True, True, 0)
self.dbo = db.DbSqlite()
- self.data = self.dbo.get_allrecords('cn')
+ #data = self.dbo.get_allrecords('cn')
+ data = self.dbo.get_list(0)
store = gtk.ListStore(int, str)
- for d in self.data:
- store.append([d, self.data[d]])
+ for d in data:
+ store.append([d, data[d]])
- ts = db.make_tree()
- tree = gtk.TreeView(ts)
- tree.set_rules_hint(True)
+ self.tree = gtk.TreeView(store)
+ self.tree.set_rules_hint(True)
- tree.connect("row-activated", self.select_item)
+ self.tree.connect("row-activated", self.select_item)
t1 = gtk.CellRendererText()
column = gtk.TreeViewColumn("Id", t1, text=0)
column.set_sort_column_id(0)
column.set_visible(False)
- tree.append_column(column)
+ self.tree.append_column(column)
t1 = gtk.CellRendererText()
column = gtk.TreeViewColumn("Name", t1, text=1)
column.set_sort_column_id(0)
- tree.append_column(column)
+ self.tree.append_column(column)
- sw.add(tree)
+ sw.add(self.tree)
+
+ #st = gtk.ListStore(int, str)
+ #data = self.dbo.get_list(0)
+ #for d in self.data:
+ # st.append([d, self.data[d]])
+ #self.tree.set_model(st)
self.window.add(vbox)
self.window.show_all()
def select_item(self, widget, path, column):
+ store = gtk.ListStore(int, str)
+ parent = widget.get_model()[path][0]
+ data = self.dbo.get_list(parent)
+ for d in data:
+ store.append([d, data[d]])
+ #add people
+ data = self.dbo.get_allrecords('cn', parent)
+ for d in data:
+ store.append([d, data[d]])
+ self.tree.set_model(store)
+ print "set model"
+
+
+ def select_item1(self, widget, path, column):
+
#print "select_item path:%s" % path
self.dialog = gtk.Dialog("Item descrition",
self.window,