3 # vim: sw=4 ts=4 expandtab ai
4 # main.py --search files -o=table -p ". 7"
8 __progname__ = 'FindIT'
11 #==============================================================================
13 class Control(object):
15 if(len(sys.argv) > 1):
20 #==============================================================================
22 class Abstraction(object):
25 #==============================================================================
27 class Cli_Presentation(object):
30 from optparse import OptionParser
32 parser = OptionParser()
33 parser.add_option('--search', '-s', dest='search', type='string')
34 parser.add_option('--output', '-o', dest='output', type='string')
35 parser.add_option('--params', '-p', dest='params', type='string')
36 (options, args) = parser.parse_args()
40 self.show_search_toplevel(options.search, options.output, options.params)
42 def show_search_toplevel(self, searchtype, output, params):
43 search_module = __import__(searchtype + '.search')
44 toplevel = search_module.search.Control('cli').run()
46 #==============================================================================
48 class Gtk_Presentation(object):
49 """Main window class."""
55 """Create main menu."""
56 menubar = gtk.MenuBar()
57 fileitem = gtk.MenuItem( '_File' )
58 viewitem = gtk.MenuItem( '_View' )
59 helpitem = gtk.MenuItem( '_Help' )
65 def _create_toolbar():
67 toolbar = gtk.Toolbar()
68 filesearch_tbtn = gtk.RadioToolButton(None)
69 debsearch_tbtn = gtk.RadioToolButton(filesearch_tbtn)
71 filesearch_tbtn.set_label('Files search')
72 debsearch_tbtn.set_label('Debs search')
74 filesearch_tbtn.connect('clicked', self.show_search_toplevel, 'files')
75 debsearch_tbtn.connect('clicked', self.show_search_toplevel, 'debs')
77 toolbar.insert(filesearch_tbtn, -1)
78 toolbar.insert(debsearch_tbtn, -1)
83 window.set_default_size(560, 400)
84 window.set_border_width(4)
85 window.set_wmclass('MainWindow', 'FindIT')
86 window.connect('destroy', gtk.main_quit)
89 toolbar = _create_toolbar()
91 # about_btn = gtk.Button('About')
92 # about_btn.set_size_request(-1, 30)
93 # about_btn.connect('clicked', self.about_dialog)
95 # quit_btn = gtk.Button('Exit')
96 # quit_btn.connect('clicked', gtk.main_quit)
98 # file_btn = gtk.Button('Files search')
99 # file_btn.connect('clicked', self.show_search_toplevel, 'files')
101 # deb_btn = gtk.Button('Debs search')
102 # deb_btn.connect('clicked', self.show_search_toplevel, 'debs')
104 # toolbar = gtk.HBox(True, 4)
105 # toolbar.pack_start(file_btn)
106 # toolbar.pack_start(deb_btn)
107 # toolbar.pack_start(about_btn)
108 # toolbar.pack_start(quit_btn)
110 self.vbox = gtk.VBox(False, 4)
111 self.vbox.pack_start(menu, False, False, 0)
112 self.vbox.pack_start(toolbar, False, False, 0)
113 self.show_search_toplevel(None, 'files') ###
115 window.add(self.vbox)
119 def about_dialog(self, btn):
120 from about import About
123 #=== Search selecting =====================================================
124 def show_search_toplevel(self, btn, searchtype):
125 print 'Entering <' + searchtype + '> search mode...'
127 search_module = __import__(searchtype + '.search')
128 search_toplevel = search_module.search.Control('gtk').run()
131 self.vbox.remove(self.vbox.get_children()[2])
134 self.vbox.pack_start(search_toplevel, True, True, 0)
135 search_toplevel.show_all()
137 #==============================================================================
139 if __name__ == '__main__':