From ee5bf3366e05f485e9936e12f356afbc7867d521 Mon Sep 17 00:00:00 2001 From: Christian Mayer Date: Tue, 19 Jan 2010 20:09:14 +0000 Subject: started to move code to 'ViewManager' (broken right now) --- diff --git a/ReckonPrimer.activity/display.py b/ReckonPrimer.activity/display.py index 2db90f6..c2d8e90 100755 --- a/ReckonPrimer.activity/display.py +++ b/ReckonPrimer.activity/display.py @@ -10,6 +10,8 @@ from sugar.graphics import style from sugar.activity import activity from views.rhs_view_manager import RHSViewManager +# from views.feedback_view import FeedbackView + class Display: """ @@ -94,20 +96,20 @@ class Display: self.collection_table = gtk.Table(14, 9, True) # self.feedback_view = Feedback(self, 42) # TODO totoal_number_calcs # self.feedback_table = self.feedback_view.table - __rhs_view_manager = RHSViewManager() + self.__rhs_view_manager = RHSViewManager() # Insert the 3 tables into the right half of the screen #self.table.attach(self.settings_table, 1, 2, 0, 5) #self.table.attach(self.collection_table,1, 2, 0, 5) # self.table.attach(self.feedback_table, 1, 2, 0, 5) - self.table.attach(__rhs_view_manager, 1, 2, 0, 5) + self.table.attach(self.__rhs_view_manager, 1, 2, 0, 5) # show all tables, scrolled_window already shown above #self.settings_table_show() # treat uniformly <>! #self.collection_table.show() # treat uniformly ! #self.feedback_table.show() # treat uniformly ! - __rhs_view_manager.show('feedback') + self.__rhs_view_manager.show('feedback') self.table.show() # since all other tables have been inserted @@ -175,6 +177,8 @@ class Display: prepares for calculations from 1 setting. for instance, a calculation might be on 1 ore more lines. """ + self.__rhs_view_manager.show() + print("in display.init_calc") # make empty lines such that all calcs are entered at bottom for i in range(1,21): @@ -199,7 +203,7 @@ class Display: def protocol_generated_calcs(self, calculations, change): print("DEBUG: in display.protocol_generated_calcs") end_iterator = self.log_buffer.get_end_iter() - self.log_buffer.insert_with_tags_by_name(end_iterator, "\n---------- " + change + " ----------" , "fixxxme!" ) + self.log_buffer.insert_with_tags_by_name(end_iterator, "\n---------- " + change + " ----------") for c in calculations: end_iterator = self.log_buffer.get_end_iter() @@ -210,7 +214,7 @@ class Display: to_format[2] + " " + \ to_format[3] + " " + \ to_format[4] - self.log_buffer.insert_with_tags_by_name(end_iterator, "\n" + printable_calc, "fixxxme!" ) + self.log_buffer.insert_with_tags_by_name(end_iterator, "\n" + printable_calc ) mark = self.log_buffer.create_mark(None, end_iterator, True) self.log_view.scroll_mark_onscreen(mark) diff --git a/ReckonPrimer.activity/views/feedback_view.py b/ReckonPrimer.activity/views/feedback_view.py index 39d42c0..5816c1b 100644 --- a/ReckonPrimer.activity/views/feedback_view.py +++ b/ReckonPrimer.activity/views/feedback_view.py @@ -5,11 +5,11 @@ import gobject from sugar import profile # TODO remove dep. -class FeedbackView: +class FeedbackView(gtk.Table): def __init__(self): + gtk.Table.__init__(self, 14, 9, True) self.total_number_of_calculations = 99 - self.table = gtk.Table(14, 9, True) self.build_view() @@ -36,8 +36,6 @@ class FeedbackView: self.correct_count = self.correct_count + 1 self.correct_counter.set_text(str(self.correct_count)) - def hide(self): - self.table.hide() # self.progressbar.set_fraction(0) # self.stopwatch_label.hide() # self.name_label.hide() @@ -48,8 +46,6 @@ class FeedbackView: # self.progress_total.hide() # self.sfb_butt.hide() - def show(self): - self.table.show() def build_view(self): """RENAME to draw_feedback_screen""" @@ -57,15 +53,15 @@ class FeedbackView: self.stopwatch = Timer() self.stopwatch_label = gtk.Label("00:00") self.stopwatch_label.modify_font(pango.FontDescription("sans 16")) - #self.table.attach(self.stopwatch_label, 3, 5, 12, 13) - self.table.attach(self.stopwatch_label, 4, 6, 12, 13) + #self.attach(self.stopwatch_label, 3, 5, 12, 13) + self.attach(self.stopwatch_label, 4, 6, 12, 13) # Section for nickname - self.name = profile.get_nick_name() - self.name_label = gtk.Label(self.name) + name = profile.get_nick_name() + self.name_label = gtk.Label(name) self.name_label.modify_font(pango.FontDescription("sans 16")) - #self.table.attach(self.name_label, 0, 6, 13, 14) - self.table.attach(self.name_label, 0, 9, 13, 14) + #self.attach(self.name_label, 0, 6, 13, 14) + self.attach(self.name_label, 0, 9, 13, 14) # Section for progress bar self.progressbar = gtk.ProgressBar(adjustment=None) @@ -75,12 +71,12 @@ class FeedbackView: style.bg[gtk.STATE_PRELIGHT] = gtk.gdk.color_parse("green") self.progressbar.set_style (style) self.progressbar.set_fraction(0) - self.table.attach(self.progressbar, 0, 9, 8, 9) + self.attach(self.progressbar, 0, 9, 8, 9) # Labels for progress bar self.progress0 = gtk.Label("0") self.progress0.modify_font(pango.FontDescription("sans 16")) - self.table.attach(self.progress0, 0, 1, 9, 10 ) + self.attach(self.progress0, 0, 1, 9, 10 ) # Labels for status update self.correct_count = 0 @@ -93,8 +89,8 @@ class FeedbackView: attr.insert(fg_color) self.correct_counter.set_attributes(attr) - #self.table.attach(self.correct_counter, 2, 4, 9, 10 ) - self.table.attach(self.correct_counter, 3, 5, 9, 10 ) + #self.attach(self.correct_counter, 2, 4, 9, 10 ) + self.attach(self.correct_counter, 3, 5, 9, 10 ) self.false_count = 0 self.false_counter = gtk.Label(str(self.false_count)) @@ -106,8 +102,8 @@ class FeedbackView: attr.insert(fg_color) self.false_counter.set_attributes(attr) - #self.table.attach(self.false_counter, 2, 4, 10, 11 ) - self.table.attach(self.false_counter, 3, 5, 10, 11 ) + #self.attach(self.false_counter, 2, 4, 10, 11 ) + self.attach(self.false_counter, 3, 5, 10, 11 ) self.stopwatch_label.show() gobject.timeout_add(1000, self.update_time) @@ -120,13 +116,13 @@ class FeedbackView: self.progress_total = gtk.Label(str(self.total_number_of_calculations)) self.progress_total.modify_font(pango.FontDescription("sans 16")) - #self.table.attach(self.progress_total, 5, 6, 9, 10 ) - self.table.attach(self.progress_total, 8, 9, 9, 10 ) + #self.attach(self.progress_total, 5, 6, 9, 10 ) + self.attach(self.progress_total, 8, 9, 9, 10 ) self.progress_total.show() self.sfb_butt = gtk.Button(None, gtk.STOCK_STOP) # self.sfb_butt.connect("clicked", self.display.release_feedb_callback) - self.table.attach(self.sfb_butt, 0, 9, 13, 14) + self.attach(self.sfb_butt, 0, 9, 13, 14) self.sfb_alignment = self.sfb_butt.get_children()[0] self.sfb_hbox = self.sfb_alignment.get_children()[0] self.sfb_image, self.sfb_label = self.sfb_hbox.get_children() diff --git a/ReckonPrimer.activity/views/rhs_view_manager.py b/ReckonPrimer.activity/views/rhs_view_manager.py index 78e6924..67ba488 100644 --- a/ReckonPrimer.activity/views/rhs_view_manager.py +++ b/ReckonPrimer.activity/views/rhs_view_manager.py @@ -1,4 +1,4 @@ -from gtk import Container +from gtk import Table from feedback_view import FeedbackView @@ -8,12 +8,18 @@ from feedback_view import FeedbackView - FeedbackView - CollectionView """ -class RHSViewManager(Container): +class RHSViewManager(Table): def __init__(self): + Table.__init__(self) __valid_views = ['Settings', 'Feedback', 'Collection'] __views = {} def show(self, view_name): - view = FeedbackView() + if view_name == "feedback": + view = FeedbackView() + self.attach(view, 1, 2, 0, 5) + view.show() + + \ No newline at end of file diff --git a/ReckonPrimer.activity/views/settings_view.py b/ReckonPrimer.activity/views/settings_view.py new file mode 100644 index 0000000..a1a8be2 --- /dev/null +++ b/ReckonPrimer.activity/views/settings_view.py @@ -0,0 +1,11 @@ +import gtk + + +class SettingsView(gtk.Table): + + def __init__(self): + gtk.Table.__init__(self, 14, 9, True) + self.build_view() + + def build_view(self): + \ No newline at end of file -- cgit v0.9.1