df53d75699b02701dbba3050c50c664e4fdd1a7a
[findit] / src / mvc / views / application.py
1 from gtkmvc import View
2 import gtk
3
4 from filesearch import FilesearchView
5
6
7 class ApplicationView(View):
8     """A view for the top level window (application)"""
9
10     def __init__(self, ctrl):
11         View.__init__(self, ctrl, register=False)
12         self.filesearch = None
13         self.__build_widgets()
14         ctrl.register_view(self)
15
16     def __build_widgets(self):
17         self['main_window'] = gtk.Window()
18         self['main_window'].set_default_size(500, 350)
19         self['main_window'].set_border_width(4)
20
21         self['about_btn'] = gtk.Button('About')
22         self['quit_btn'] = gtk.Button('Exit')
23
24         self['about_btn'].set_size_request(100, 50)
25         self['quit_btn'].set_size_request(100, 50)
26
27         hbox = gtk.HBox(True, 4)
28         hbox.pack_start(self['about_btn'])
29         hbox.pack_start(self['quit_btn'])
30
31         self['vbox'] = gtk.VBox(False, 4)
32         self['vbox'].pack_start(hbox, False, False, 0)
33
34         self['main_window'].add(self['vbox'])
35         self['main_window'].show_all()
36
37     def create_sub_views(self, filesearch_ctrl):
38         """Creates and connects sub views"""
39         self.filesearch = FilesearchView(filesearch_ctrl) # not a top level
40         self['vbox'].pack_start(self.filesearch['vbox'])