c117b7b91a8ffacff6cf7820f0d724deada4a931
[findit] / src / mvc / controllers / application.py
1 from gtkmvc import Controller
2 import gtk
3
4 from about import AboutCtrl
5 from views.about import AboutView
6
7
8 class ApplicationCtrl(Controller):
9     """Controller of the top-level window (application)"""
10
11     def __init__(self, model):
12         Controller.__init__(self, model)
13         return
14
15     def register_view(self, view):
16         """Creates treeview columns, and connect missing signals"""
17         Controller.register_view(self, view)
18
19         # connects the signals:
20         self.view['main_window'].connect('destroy', gtk.main_quit)
21         self.view['about_btn'].connect('clicked', self.on_tb_about_clicked)
22         self.view['quit_btn'].connect('clicked', self.on_tb_quit_clicked)
23         return
24
25     # -----------------------------------------------------
26     #                  user callbacks
27     # -----------------------------------------------------
28
29     def quit(self):
30         gtk.main_quit()
31         return
32
33     # -----------------------------------------------------
34     #                    gtk signals
35     # -----------------------------------------------------
36
37     def on_tb_about_clicked(self, tb):
38         c = AboutCtrl(self.model.about)
39         v = AboutView(c)
40         v.run() # this runs in modal mode
41         return
42
43     def on_tb_quit_clicked(self, bt):
44         self.quit()
45
46     # -----------------------------------------------------
47     #                observable properties
48     # -----------------------------------------------------
49
50     pass # end of class