# InputDialog.py Own implementation of InputDialog # #This file is part of LearningWriting. # #LearningWriting is free software: you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation, either version 3 of the License, or #(at your option) any later version. # #LearningWriting is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. # #You should have received a copy of the GNU General Public License #along with LearningWriting. If not, see . 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, text=""): ''' Constructor(prompt, parent=None) prompt argument : the text of the dialog parent : the parent control text : the initial text in the TextEntry ''' gtk.MessageDialog.__init__(self, parent, gtk.DIALOG_MODAL, gtk.MESSAGE_QUESTION, gtk.BUTTONS_OK_CANCEL, prompt) self.__entry = gtk.Entry() self.__entry.set_text(text) 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