import gtk
import hildon
+import gobject
class mEveMonUI():
win.set_app_menu(menu)
pannable_area = hildon.PannableArea()
- table = self.create_table(win)
- pannable_area.add_with_viewport(table)
-
+ # gtk.HILDON_UI_MODE_NORMAL -> not selection in the treeview
+ # gtk.HILDON_UI_MODE_EDIT -> selection in the treeview
+ treeview = hildon.GtkTreeView(gtk.HILDON_UI_MODE_NORMAL)
+
+ model = self.create_model()
+ treeview.set_model(model)
+
+ self.add_columns_to_treeview(treeview)
+
+ pannable_area.add(treeview)
+
win.add(pannable_area);
win.show_all()
+
+ def create_model(self):
+ lstore = gtk.ListStore(gtk.gdk.Pixbuf, gobject.TYPE_STRING)
+
+ #get icon and name and put in a liststore
+
+ # temporary hard-coding until we can fetch the data with eveapi
+ # something like:
+ # char list = self.controller.get_characters()
+ char_list = [("Character 1", "avatar.png"), ("Character 2", "avatar.png")]
+
+ for name, icon in char_list:
+ liter = lstore.append()
+ lstore.set(liter, 1, name, 0, self.set_pix(icon))
+
+ return lstore
+
+ def set_pix(self, filename):
+ pixbuf = gtk.gdk.pixbuf_new_from_file(filename)
+ return pixbuf
+
+ def add_columns_to_treeview(self, treeview):
+ #Column 0 for the treeview
+ renderer = gtk.CellRendererPixbuf()
+ column = gtk.TreeViewColumn()
+ column.pack_start(renderer, True)
+ column.add_attribute(renderer, "pixbuf", 0)
+ treeview.append_column(column)
+
+ #Column 1 for the treeview
+ renderer = gtk.CellRendererText()
+ column = gtk.TreeViewColumn('title', renderer, text=1)
+ column.set_property("expand", True)
+ treeview.append_column(column)
+
def settings_clicked(self, button, window):
return menu
- def create_table(self, window):
-
- # create a table of 10 by 10 squares.
- table = gtk.Table (1, 10, False)
- table.show()
-
- # this simply creates a grid of toggle buttons on the table
- # to demonstrate the scrolled window.
- for i in range(10):
- data_buffer = "button %d\n" % i
- button = gtk.ToggleButton(data_buffer)
- table.attach(button, 0, 1 , i, i+1)
-
- return table
-
-
if __name__ == "__main__":
main()