import gtk class LoginManager(gtk.Dialog): def __init__(self, metamodel): gtk.Dialog.__init__(self, flags=gtk.DIALOG_MODAL, buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_CONNECT, gtk.RESPONSE_OK)) self.widgets = {} for i in metamodel: label = gtk.Label(i) self.widgets[i] = entry = gtk.Entry() hbox = gtk.HBox() hbox.set_spacing(5) hbox.pack_start(label) hbox.pack_start(entry) self.vbox.pack_start(hbox) self.set_title("Login information...") self.show_all() def __getitem__(self, key): return self.widgets[key].get_text()