class Citation: def __init__(self, title, bib, entries): from pygui.pyref import PyRefTable import pygtk import gtk self.table = PyRefTable(bib, entries, "journal", "year", "volume", "pages", "authors", "title") self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_title(title) self.vbox = gtk.VBox() self.hbox = gtk.HBox() self.erase_button = gtk.Button("Delete selected") self.erase_button.connect("clicked", self.delete_refs) self.downarrow = gtk.Arrow(gtk.ARROW_DOWN, gtk.SHADOW_IN) self.uparrow = gtk.Arrow(gtk.ARROW_UP, gtk.SHADOW_IN) self.downbutton = gtk.Button() self.downbutton.set_image(self.downarrow) self.upbutton = gtk.Button() self.upbutton.set_image(self.uparrow) self.downbutton.connect("clicked", self.table.downRef) self.upbutton.connect("clicked", self.table.upRef) self.hbox.pack_start(self.erase_button, True) self.hbox.pack_start(self.upbutton, False) self.hbox.pack_start(self.downbutton, False) self.vbox.pack_start(self.hbox, False) self.scrollwindow = gtk.ScrolledWindow() self.scrollwindow.add(self.table.getTree()) self.vbox.pack_end(self.scrollwindow, True) self.window.add(self.vbox) self.window.show_all() self.window.maximize() # self.window.connect("focus-in-event", self.start_listening) # self.window.connect("focus-out-event", self.stop_listening) self.window.connect("destroy", self.close) self.thread = CiteThread(self) self.thread.start() def addReferences(self, refs): self.table.addReferences(refs) def delete_refs(self, widget, data=None): self.table.removeSelected() def close(self, widget, data=None): import pygtk import gtk self.thread.stop() gtk.main_quit() def getEntries(self): return self.table.getEntries()