import gtk class CmdWindow: def __init__(self, status = ''): self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_geometry_hints(min_width = 350); self.window.connect("delete_event", self.delete_event) self.window.connect("destroy", self.destroy_event) self.entry = gtk.Entry() self.entry.connect("activate", self.activate_event) self.button = gtk.Button(stock = gtk.STOCK_OK) self.button.connect("clicked", self.activate_event) vbox = gtk.VBox() if status != '': hbox = gtk.HBox() lbl = gtk.Label(status) hbox.pack_start(lbl, expand = False) vbox.pack_start(hbox) hbox = gtk.HBox() hbox.pack_start(self.entry) hbox.pack_start(self.button, expand = False) vbox.pack_start(hbox) self.window.add(vbox) self.window.show_all() def main(self): self.text = '' gtk.main() return self.text def delete_event(self, widget, event, data=None): return False def destroy_event(self, widget, data=None): gtk.main_quit() def activate_event(self, widget, data=None): self.text = self.entry.get_text() self.window.destroy()