6 from database import db
10 def delete_event(self, widget, event, data=None):
12 print "delete event occurred"
15 def destroy(self, widget, data=None):
16 print "destroy signal occurred"
22 gtk.rc_parse_string("style 'scroll' {\n"
23 " GtkRange::slider-width = 40\n"
25 "class 'GtkRange' style 'scroll'")
26 #gtk.rc_parse_string("style 'scroll' {\n"
27 # " GtkRange::slider-width = 40\n"
29 # "class 'GtkRange' style 'scroll'")
31 self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
33 self.window.set_size_request(800, 480)
35 #self.window.fullscreen();
37 self.window.connect("delete_event", self.delete_event)
39 self.window.connect("destroy", self.destroy)
40 #self.window.connect("window-state-event", self.window_state_cb)
42 self.window.set_border_width(10)
44 vbox = gtk.VBox(False, 8)
46 sw = gtk.ScrolledWindow()
47 sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
48 sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
50 vbox.pack_start(sw, True, True, 0)
52 self.dbo = db.DbSqlite()
53 #data = self.dbo.get_allrecords('cn')
54 data = self.dbo.get_list(0)
56 store = gtk.ListStore(int, str)
58 store.append([d, data[d]])
60 self.tree = gtk.TreeView(store)
61 self.tree.set_rules_hint(True)
63 self.tree.connect("row-activated", self.select_item)
65 t1 = gtk.CellRendererText()
66 column = gtk.TreeViewColumn("Id", t1, text=0)
67 column.set_sort_column_id(0)
68 column.set_visible(False)
69 self.tree.append_column(column)
71 t1 = gtk.CellRendererText()
72 column = gtk.TreeViewColumn("Name", t1, text=1)
73 column.set_sort_column_id(0)
74 self.tree.append_column(column)
78 #st = gtk.ListStore(int, str)
79 #data = self.dbo.get_list(0)
81 # st.append([d, self.data[d]])
82 #self.tree.set_model(st)
85 self.window.show_all()
91 def select_item(self, widget, path, column):
93 store = gtk.ListStore(int, str)
94 parent = widget.get_model()[path][0]
95 data = self.dbo.get_list(parent)
97 store.append([d, data[d]])
99 data = self.dbo.get_allrecords('cn', parent)
101 store.append([d, data[d]])
102 self.tree.set_model(store)
106 def select_item1(self, widget, path, column):
108 #print "select_item path:%s" % path
109 self.dialog = gtk.Dialog("Item descrition",
111 gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
112 (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
113 model = widget.get_model()
115 rec = self.dbo.get_record(id)
118 tb = gtk.TextBuffer()
121 #print "%s -> %s" % (r, rec[r])
122 text += "%s: %s\n" % (r, rec[r])
124 tb.insert_at_cursor(text)
126 sw = gtk.ScrolledWindow()
127 sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
128 sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
130 tv = gtk.TextView(tb)
133 self.dialog.vbox.pack_start(sw)
134 self.dialog.set_size_request(600, 360)
137 response = self.dialog.run()
138 self.dialog.destroy()
139 print "response= %s" % response
145 if __name__ == "__main__":