Changes in application mvc
authorEugene Gagarin <mosfet07@ya.ru>
Sun, 22 Mar 2009 10:15:01 +0000 (13:15 +0300)
committerEugene Gagarin <mosfet07@ya.ru>
Sun, 22 Mar 2009 10:15:01 +0000 (13:15 +0300)
src/mvc/controllers/application.py
src/mvc/models/application.py
src/mvc/views/application.py

index c117b7b..3f883bb 100755 (executable)
@@ -1,6 +1,8 @@
 from gtkmvc import Controller
 import gtk
 
+from filesearch import FilesearchCtrl
+
 from about import AboutCtrl
 from views.about import AboutView
 
@@ -10,16 +12,20 @@ class ApplicationCtrl(Controller):
 
     def __init__(self, model):
         Controller.__init__(self, model)
+
+        self.filesearch = FilesearchCtrl(model.filesearch)
         return
 
     def register_view(self, view):
-        """Creates treeview columns, and connect missing signals"""
+        """Creates subviews and connect signals"""
         Controller.register_view(self, view)
 
+        self.view.create_sub_views(self.filesearch)
+
         # connects the signals:
         self.view['main_window'].connect('destroy', gtk.main_quit)
-        self.view['about_btn'].connect('clicked', self.on_tb_about_clicked)
-        self.view['quit_btn'].connect('clicked', self.on_tb_quit_clicked)
+        self.view['about_btn'].connect('clicked', self.on_about_btn_clicked)
+        self.view['quit_btn'].connect('clicked', self.on_quit_btn_clicked)
         return
 
     # -----------------------------------------------------
@@ -34,13 +40,13 @@ class ApplicationCtrl(Controller):
     #                    gtk signals
     # -----------------------------------------------------
 
-    def on_tb_about_clicked(self, tb):
+    def on_about_btn_clicked(self, tb):
         c = AboutCtrl(self.model.about)
         v = AboutView(c)
         v.run() # this runs in modal mode
         return
 
-    def on_tb_quit_clicked(self, bt):
+    def on_quit_btn_clicked(self, bt):
         self.quit()
 
     # -----------------------------------------------------
index c841508..9f6cd24 100755 (executable)
@@ -1,6 +1,6 @@
 from gtkmvc import Model
-import os.path
 
+from filesearch import FilesearchModel
 from about import AboutModel
 
 
@@ -9,6 +9,7 @@ class ApplicationModel(Model):
     def __init__(self):
         Model.__init__(self)
 
+        self.filesearch = FilesearchModel()
         self.about = AboutModel()
         return
 
index 78325e3..25c524b 100755 (executable)
@@ -1,36 +1,46 @@
 from gtkmvc import View
-import os.path
 import gtk
 
+from filesearch import FilesearchView
+
 
 class ApplicationView(View):
     """A view for the top level window (application)"""
 
     def __init__(self, ctrl):
         View.__init__(self, ctrl, register=False)
+        self.filesearch = None
+        self.__build_widgets()
+        ctrl.register_view(self)
+        return
 
-        window = gtk.Window()
-        window.set_border_width(4)
+    def __build_widgets(self):
+        self['main_window'] = gtk.Window()
+        self['main_window'].set_default_size(500, 350)
+        self['main_window'].set_border_width(4)
 
-        hbox = gtk.HBox(4, True)
+        self['about_btn'] = gtk.Button('About')
+        self['quit_btn'] = gtk.Button('Exit')
 
-        about_btn = gtk.Button('About')
-        quit_btn = gtk.Button('Exit')
+        self['about_btn'].set_size_request(100, 50)
+        self['quit_btn'].set_size_request(100, 50)
 
-        about_btn.set_size_request(100, 150)
-        quit_btn.set_size_request(100, 150)
+        hbox = gtk.HBox(True, 4)
+        hbox.pack_start(self['about_btn'])
+        hbox.pack_start(self['quit_btn'])
 
-        hbox.pack_start(about_btn, True, True, 0)
-        hbox.pack_start(quit_btn, True, True, 0)
+        self['vbox'] = gtk.VBox(False, 4)
+        self['vbox'].pack_start(hbox, False, False, 0)
 
-        window.add(hbox)
-        window.show_all()
+        self['main_window'].add(self['vbox'])
+        self['main_window'].show_all()
 
-        self['main_window'] = window
-        self['about_btn'] = about_btn
-        self['quit_btn'] = quit_btn
+        return
 
-        ctrl.register_view(self)
+    def create_sub_views(self, filesearch_ctrl):
+        """Creates and connects sub views"""
+        self.filesearch = FilesearchView(filesearch_ctrl) # not a top level
+        self['vbox'].pack_start(self.filesearch['vbox'])
         return
 
     pass # end of class