''' Created on 13 mai 2011 @author: laurent_bernabe ''' import pygtk pygtk.require('2.0') import gtk class InputDialog(gtk.MessageDialog): ''' Creates an input dialog with => a label (for the prompt) => a text entry => ok_button and cancel_button ''' def __init__(self, prompt, parent=None): ''' Constructor(prompt, parent=None) prompt argument : the text of the dialog parent : the parent control ''' gtk.MessageDialog.__init__(self, parent, gtk.DIALOG_MODAL, gtk.MESSAGE_QUESTION, gtk.BUTTONS_OK_CANCEL, prompt) self.__entry = gtk.Entry() self.vbox.pack_start(self.__entry, True, True, 0) self.connect("delete-event", lambda widget, event : self.__close() ) def run(self): ''' Run() Runs the dialog ''' self.show_all() response = super(InputDialog,self).run() if response == gtk.RESPONSE_OK : text = self.__entry.get_text() else : text = None self.destroy() return text def __close(self): ''' __close() Closes the dialog and returns None ''' self.destroy() return None