--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProjectDjangoTagsMenu/MultiLineInputDialog.py Sun Feb 09 18:21:45 2014 +0100 @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a dialog for the input of multi line text. +""" + +from PyQt4.QtGui import QDialog + +from .Ui_MultiLineInputDialog import Ui_MultiLineInputDialog + + +class MultiLineInputDialog(QDialog, Ui_MultiLineInputDialog): + """ + Class implementing a dialog for the input of multi line text. + """ + def __init__(self, label, default, parent=None): + """ + Constructor + + @param label label for the entry field (string) + @param default default value for the entry field (string) + @param parent reference to the parent widget (QWidget) + """ + super(MultiLineInputDialog, self).__init__(parent) + self.setupUi(self) + + def getData(self): + """ + Public method to retrieve the multi line text. + + @return multi line text (string) + """ + return self.multiLineEdit.toPlainText() + + @staticmethod + def getText(parent, title, label, default=""): + """ + Static method to create the dialog and return the multi line text. + + @param parent reference to the parent widget (QWidget) + @param title title of the dialog (string) + @param label label for the entry field (string) + @param default default value for the entry field (string) + @return multi line text (string) and a flag indicating the acceptance + state (boolean) + """ + dlg = MultiLineInputDialog(label, default, parent) + dlg.setWindowTitle(title) + if dlg.exec_() == QDialog.Accepted: + return dlg.getData(), True + else: + return "", False