Some structurization in Main
authorEugene Gagarin <mosfet07@ya.ru>
Thu, 7 May 2009 09:16:31 +0000 (13:16 +0400)
committerEugene Gagarin <mosfet07@ya.ru>
Thu, 7 May 2009 09:16:31 +0000 (13:16 +0400)
src/main.py

index b2d7b8e..a5e7fbf 100755 (executable)
@@ -20,7 +20,6 @@ class Control(object):
         if(len(sys.argv) > 1):  ###
             self.present = Cli_Presentation(self.abstrac)
         else:
-            import gtk; global gtk
             self.present = Gtk_Presentation(self.abstrac)
 
     def run(self):
@@ -87,58 +86,61 @@ class Cli_Presentation(object):
 class Gtk_Presentation(object):
     """Main window class."""
 
-    def __init__(self, abstrac):
+    def _create_menu(self):
+        """Create main menu."""
+        menubar = gtk.MenuBar()
+        fileitem = gtk.MenuItem(_('_File'))
+        viewitem = gtk.MenuItem(_('_View'))
+        helpitem = gtk.MenuItem(_('_Help'))
+        helpitem.connect('activate', self.about_dialog)
+        menubar.add(fileitem)
+        menubar.add(viewitem)
+        menubar.add(helpitem)
+        return menubar
+
+    def _create_toolbar(self):
+        """Create toolbar."""
+        toolbar = gtk.Toolbar()
+        filesearch_tbtn = gtk.RadioToolButton(None)
+        debsearch_tbtn = gtk.RadioToolButton(filesearch_tbtn)
+
+        filesearch_tbtn.set_name('files')
+        debsearch_tbtn.set_name('debs')
+
+        filesearch_tbtn.set_label(_('Files search'))
+        debsearch_tbtn.set_label(_('Debs search'))
+
+        filesearch_tbtn.connect('clicked', self.show_search_toplevel, 'files')
+        debsearch_tbtn.connect('clicked', self.show_search_toplevel, 'debs')
+
+        toolbar.insert(filesearch_tbtn, -1)
+        toolbar.insert(debsearch_tbtn, -1)
+
+        search_tbtns = [filesearch_tbtn, debsearch_tbtn]
+
+        # Activate radio tool button
+        for btn in search_tbtns:
+            if btn.get_name() == config['search']:
+                btn.set_active(True)
+
+        return toolbar
+
+    def about_dialog(self, widget):
+        """About dialog window."""
+        dialog = gtk.AboutDialog()
+        dialog.set_name(self.abstrac.progname)
+        dialog.set_version(self.abstrac.version)
+        dialog.set_authors(self.abstrac.authors)
+        dialog.set_comments(self.abstrac.comments)
+        dialog.set_license(self.abstrac.license)
+        dialog.show_all()
+        dialog.run()
+        dialog.destroy()
 
-        def _create_menu():
-            """Create main menu."""
-            menubar = gtk.MenuBar()
-            fileitem = gtk.MenuItem(_('_File'))
-            viewitem = gtk.MenuItem(_('_View'))
-            helpitem = gtk.MenuItem(_('_Help'))
-            helpitem.connect('activate', about_dialog)
-            menubar.add(fileitem)
-            menubar.add(viewitem)
-            menubar.add(helpitem)
-            return menubar
-
-        def _create_toolbar():
-            """Create toolbar."""
-            toolbar = gtk.Toolbar()
-            filesearch_tbtn = gtk.RadioToolButton(None)
-            debsearch_tbtn = gtk.RadioToolButton(filesearch_tbtn)
-
-            filesearch_tbtn.set_name('files')
-            debsearch_tbtn.set_name('debs')
-
-            filesearch_tbtn.set_label(_('Files search'))
-            debsearch_tbtn.set_label(_('Debs search'))
-
-            filesearch_tbtn.connect('clicked', self.show_search_toplevel, 'files')
-            debsearch_tbtn.connect('clicked', self.show_search_toplevel, 'debs')
-
-            toolbar.insert(filesearch_tbtn, -1)
-            toolbar.insert(debsearch_tbtn, -1)
-
-            search_tbtns = [filesearch_tbtn, debsearch_tbtn]
-
-            # Activate radio tool button
-            for btn in search_tbtns:
-                if btn.get_name() == config['search']:
-                    btn.set_active(True)
-
-            return toolbar
-
-        def about_dialog(widget):
-            """About dialog window."""
-            dialog = gtk.AboutDialog()
-            dialog.set_name(abstrac.progname)
-            dialog.set_version(abstrac.version)
-            dialog.set_authors(abstrac.authors)
-            dialog.set_comments(abstrac.comments)
-            dialog.set_license(abstrac.license)
-            dialog.show_all()
-            dialog.run()
-            dialog.destroy()
+    def __init__(self, abstrac):
+        import gtk
+        global gtk  # for run()
+        self.abstrac = abstrac
 
         self.window = gtk.Window()
         self.window.set_default_size(600, 400)
@@ -147,8 +149,8 @@ class Gtk_Presentation(object):
         self.window.set_wmclass('MainWindow', 'FindIT')
         self.window.connect('destroy', gtk.main_quit)
 
-        menu = _create_menu()
-        toolbar = _create_toolbar()
+        menu = self._create_menu()
+        toolbar = self._create_toolbar()
 
         self.vbox = gtk.VBox(False, 0)
         self.vbox.pack_start(menu, False, False, 0)