--- /dev/null
+# -*- coding: UTF-8 -*-
+
+import gtk
+import sys
+
+from stan import STAN
+
+class StanTimetable(gtk.VBox):
+
+ def create(self):
+ self.current_timetable = False
+ self.navigation = False
+
+ def set_activated_callback(self, new_callback):
+ self.cell_activated = new_callback
+
+ def cell_activated(self, data):
+ print data
+
+ def __cell_activated(self, timetable_view=None, cell_position=None, column_view=None):
+ if len(cell_position) == 1:
+ data = self.timetable_struct[ cell_position[0] ][0]
+ self.cell_activated(data)
+
+ def navigation_buttons(self):
+ box = gtk.HBox()
+
+ next = gtk.Button()
+ prev = gtk.Button()
+
+ box.add(prev)
+ box.add(next)
+ return box
+
+ def load(self, lineobj, date, time):
+
+ if (self.current_timetable):
+ self.remove(self.current_timetable)
+
+ self.timetable_struct = STAN().load_timetable(lineobj['id'], date, time)
+
+ self.timetable_navigation = self.timetable_struct['navigation']
+ self.timetable_struct = self.timetable_struct['timetable']
+
+ self.timetable_store = gtk.ListStore(*([str] * len(self.timetable_struct[0])))
+ for line in self.timetable_struct:
+ print line
+
+ self.timetable_store.append( line )
+ self.timetable_view = gtk.TreeView(self.timetable_store)
+
+ self.timetable_view.connect("row-activated", self.__cell_activated)
+
+ #
+
+ column_name = gtk.TreeViewColumn(u"Name")
+ self.timetable_view.append_column(column_name)
+ cell = gtk.CellRendererText()
+ column_name.pack_start(cell, True)
+ column_name.add_attribute(cell, 'text', 0)
+
+ nb_curses_columns = len(self.timetable_struct[0])-1
+ #nb_curses_columns -= 2
+
+ for i in range(nb_curses_columns):
+ column = gtk.TreeViewColumn(None)
+ self.timetable_view.append_column(column)
+ cell = gtk.CellRendererText()
+ cell.set_property('xalign', 0.5)
+ column.pack_start(cell, True)
+ column.add_attribute(cell, 'text', i+1)
+
+ self.timetable_view.set_search_column(0)
+
+ self.current_timetable = gtk.ScrolledWindow()
+
+ self.current_timetable.add(self.timetable_view)
+
+ if self.navigation != False:
+ self.remove(self.navigation)
+ self.navigation = self.navigation_buttons()
+ self.add(self.navigation)
+
+ self.add(self.current_timetable)
+
+ self.show_all()
+
+
+
+ pass