Move the update method to View.
[matthijs/upstream/mobilegtd.git] / src / gui / gui.py
index 33f8973fa8ddaafaa9b6f1cac3d8161d901018b3..f03880854f2310bdccda1216bc322c4a60e1277a 100644 (file)
@@ -137,14 +137,21 @@ class View(object):
     def exit(self):
         self.exit_flag = True
         self.lock.signal()
-        super(View, self).exit()
+
+    def update(self,subject=None):
+        """
+        Update the current view (e.g., make sure refresh is called). We
+        can't call it directly, since we're in another thread.
+        """
+        if self.lock:
+            self.lock.signal()
 
     def refresh(self):
         """
-        Update the gui after a change in model or some user interaction.
-        Should be filled by subclasses.
+        Called when the current view must be updated. Never call
+        directly. Subclasses should extend this method, not update.
         """
-        super(View, self).refresh()
+        appuifw.app.menu=self.get_menu_entries()
 
     def get_menu_entries(self):
         """ Returns a list of menu entries to display. Will be
@@ -165,14 +172,8 @@ class ListView(View):
         This function is called when the user selects an an entry (e.g.,
         navigates to it and push the ok button).
         """
-        super(ListView).entry_selected()
+        pass
     
-    def update(self,subject=None):
-        #logger.log(u'Updated %s'%repr(self))
-        if self.lock:
-            self.lock.signal()
-        #pass
-
     def index_changed(self,adjustment=None):
         if adjustment:
             index = self.selected_index() + adjustment
@@ -184,9 +185,6 @@ class ListView(View):
             index = 0
         self.set_bindings_for_selection(index)
 
-    def refresh(self):
-        appuifw.app.menu=self.get_menu_entries()
-
     def set_index(self,index):
         if index > len(self.widgets):
             index = len(self.widgets)