class WikiWindow: def __init__(self): if (os.path.exists("../data/wikineitor.glade")): glade_file = "../data/wikineitor.glade" self.widgets = WikiWidgets(glade_file) self.wdb = WikiDB("../wikipedia.db") def main(self): win = self.widgets["wiki-window"] win.connect("delete_event", gtk.main_quit) # # Add completion for search entry # entry = self.widgets["search-box"] completion = gtk.EntryCompletion() liststore = gtk.ListStore(gobject.TYPE_STRING) completion.set_model(liststore) entry.set_completion(completion) completion.set_text_column(0) for s in self.wdb.get_completion(""): liststore.append([s[0]]) connections = { 'search-box/activate' : self.do_search, 'search-button/clicked' : self.do_search } for wid_con, func in connections.iteritems(): wid,con = wid_con.split('/') self.widgets[wid].connect(con,func) win.show_all() gtk.main() def do_search(self, button): entry = self.widgets['search-box'] title = entry.get_text() (title, page) = self.wdb.get_page(title) self.widgets['page-content'].get_buffer().set_text(page)
def __init__(self): if (os.path.exists("../data/wikineitor.glade")): glade_file = "../data/wikineitor.glade" self.widgets = WikiWidgets(glade_file) self.wdb = WikiDB("../wikipedia.db")