Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-07 08:35:36

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
0004 
0005 #ifndef QINPUTDIALOG_H
0006 #define QINPUTDIALOG_H
0007 
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtCore/qstring.h>
0010 #include <QtWidgets/qlineedit.h>
0011 
0012 #include <QtWidgets/qdialog.h>
0013 
0014 QT_REQUIRE_CONFIG(inputdialog);
0015 
0016 QT_BEGIN_NAMESPACE
0017 
0018 class QInputDialogPrivate;
0019 
0020 class Q_WIDGETS_EXPORT QInputDialog : public QDialog
0021 {
0022     Q_OBJECT
0023     Q_DECLARE_PRIVATE(QInputDialog)
0024     QDOC_PROPERTY(InputMode inputMode READ inputMode WRITE setInputMode)
0025     QDOC_PROPERTY(QString labelText READ labelText WRITE setLabelText)
0026     QDOC_PROPERTY(InputDialogOptions options READ options WRITE setOptions)
0027     QDOC_PROPERTY(QString textValue READ textValue WRITE setTextValue NOTIFY textValueChanged)
0028     QDOC_PROPERTY(int intValue READ intValue WRITE setIntValue NOTIFY intValueChanged)
0029     QDOC_PROPERTY(int doubleValue READ doubleValue WRITE setDoubleValue NOTIFY doubleValueChanged)
0030     QDOC_PROPERTY(QLineEdit::EchoMode textEchoMode READ textEchoMode WRITE setTextEchoMode)
0031     QDOC_PROPERTY(bool comboBoxEditable READ isComboBoxEditable WRITE setComboBoxEditable)
0032     QDOC_PROPERTY(QStringList comboBoxItems READ comboBoxItems WRITE setComboBoxItems)
0033     QDOC_PROPERTY(int intMinimum READ intMinimum WRITE setIntMinimum)
0034     QDOC_PROPERTY(int intMaximum READ intMaximum WRITE setIntMaximum)
0035     QDOC_PROPERTY(int intStep READ intStep WRITE setIntStep)
0036     QDOC_PROPERTY(double doubleMinimum READ doubleMinimum WRITE setDoubleMinimum)
0037     QDOC_PROPERTY(double doubleMaximum READ doubleMaximum WRITE setDoubleMaximum)
0038     QDOC_PROPERTY(int doubleDecimals READ doubleDecimals WRITE setDoubleDecimals)
0039     QDOC_PROPERTY(QString okButtonText READ okButtonText WRITE setOkButtonText)
0040     QDOC_PROPERTY(QString cancelButtonText READ cancelButtonText WRITE setCancelButtonText)
0041     QDOC_PROPERTY(double doubleStep READ doubleStep WRITE setDoubleStep)
0042 
0043 public:
0044     enum InputDialogOption {
0045         NoButtons                    = 0x00000001,
0046         UseListViewForComboBoxItems  = 0x00000002,
0047         UsePlainTextEditForTextInput = 0x00000004
0048     };
0049 
0050     Q_DECLARE_FLAGS(InputDialogOptions, InputDialogOption)
0051 
0052     enum InputMode {
0053         TextInput,
0054         IntInput,
0055         DoubleInput
0056     };
0057 
0058     QInputDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
0059     ~QInputDialog();
0060 
0061     void setInputMode(InputMode mode);
0062     InputMode inputMode() const;
0063 
0064     void setLabelText(const QString &text);
0065     QString labelText() const;
0066 
0067     void setOption(InputDialogOption option, bool on = true);
0068     bool testOption(InputDialogOption option) const;
0069     void setOptions(InputDialogOptions options);
0070     InputDialogOptions options() const;
0071 
0072     void setTextValue(const QString &text);
0073     QString textValue() const;
0074 
0075     void setTextEchoMode(QLineEdit::EchoMode mode);
0076     QLineEdit::EchoMode textEchoMode() const;
0077 
0078     void setComboBoxEditable(bool editable);
0079     bool isComboBoxEditable() const;
0080 
0081     void setComboBoxItems(const QStringList &items);
0082     QStringList comboBoxItems() const;
0083 
0084     void setIntValue(int value);
0085     int intValue() const;
0086 
0087     void setIntMinimum(int min);
0088     int intMinimum() const;
0089 
0090     void setIntMaximum(int max);
0091     int intMaximum() const;
0092 
0093     void setIntRange(int min, int max);
0094 
0095     void setIntStep(int step);
0096     int intStep() const;
0097 
0098     void setDoubleValue(double value);
0099     double doubleValue() const;
0100 
0101     void setDoubleMinimum(double min);
0102     double doubleMinimum() const;
0103 
0104     void setDoubleMaximum(double max);
0105     double doubleMaximum() const;
0106 
0107     void setDoubleRange(double min, double max);
0108 
0109     void setDoubleDecimals(int decimals);
0110     int doubleDecimals() const;
0111 
0112     void setOkButtonText(const QString &text);
0113     QString okButtonText() const;
0114 
0115     void setCancelButtonText(const QString &text);
0116     QString cancelButtonText() const;
0117 
0118     using QDialog::open;
0119     void open(QObject *receiver, const char *member);
0120 
0121     QSize minimumSizeHint() const override;
0122     QSize sizeHint() const override;
0123 
0124     void setVisible(bool visible) override;
0125 
0126     static QString getText(QWidget *parent, const QString &title, const QString &label,
0127                            QLineEdit::EchoMode echo = QLineEdit::Normal,
0128                            const QString &text = QString(), bool *ok = nullptr,
0129                            Qt::WindowFlags flags = Qt::WindowFlags(),
0130                            Qt::InputMethodHints inputMethodHints = Qt::ImhNone);
0131     static QString getMultiLineText(QWidget *parent, const QString &title, const QString &label,
0132                                     const QString &text = QString(), bool *ok = nullptr,
0133                                     Qt::WindowFlags flags = Qt::WindowFlags(),
0134                                     Qt::InputMethodHints inputMethodHints = Qt::ImhNone);
0135     static QString getItem(QWidget *parent, const QString &title, const QString &label,
0136                            const QStringList &items, int current = 0, bool editable = true,
0137                            bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(),
0138                            Qt::InputMethodHints inputMethodHints = Qt::ImhNone);
0139 
0140     static int getInt(QWidget *parent, const QString &title, const QString &label, int value = 0,
0141                       int minValue = -2147483647, int maxValue = 2147483647,
0142                       int step = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
0143 
0144     static double getDouble(QWidget *parent, const QString &title, const QString &label, double value = 0,
0145                             double minValue = -2147483647, double maxValue = 2147483647,
0146                             int decimals = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(),
0147                             double step = 1);
0148 
0149     void setDoubleStep(double step);
0150     double doubleStep() const;
0151 
0152 Q_SIGNALS:
0153     void textValueChanged(const QString &text);
0154     void textValueSelected(const QString &text);
0155     void intValueChanged(int value);
0156     void intValueSelected(int value);
0157     void doubleValueChanged(double value);
0158     void doubleValueSelected(double value);
0159 
0160 public:
0161     void done(int result) override;
0162 
0163 private:
0164     Q_DISABLE_COPY(QInputDialog)
0165 };
0166 
0167 Q_DECLARE_OPERATORS_FOR_FLAGS(QInputDialog::InputDialogOptions)
0168 
0169 QT_END_NAMESPACE
0170 
0171 #endif // QINPUTDIALOG_H