00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef QINPUTDIALOG_H
00039 #define QINPUTDIALOG_H
00040
00041 #ifndef QT_H
00042 #include <qdialog.h>
00043 #include <qstring.h>
00044 #include <qlineedit.h>
00045 #endif // QT_H
00046
00047 class QInputDialogPrivate;
00048
00049 class QSpinBox;
00050 class QComboBox;
00051
00052 class Q_EXPORT QInputDialog : public QDialog
00053 {
00054 #if defined(_CC_MSVC_)
00055 friend class QInputDialog;
00056 #endif
00057 Q_OBJECT
00058
00059 private:
00060 enum Type { LineEdit, SpinBox, ComboBox, EditableComboBox };
00061
00062 QInputDialog( const QString &label, QWidget* parent = 0, const char* name = 0,
00063 bool modal = TRUE, Type type = LineEdit );
00064 ~QInputDialog();
00065
00066 QLineEdit *lineEdit() const;
00067 QSpinBox *spinBox() const;
00068 QComboBox *comboBox() const;
00069 QComboBox *editableComboBox() const;
00070
00071 void setType( Type t );
00072 Type type() const;
00073
00074 public:
00075 static QString getText( const QString &caption, const QString &label, const QString &text = QString::null,
00076 bool *ok = 0, QWidget *parent = 0, const char *name = 0 );
00077 static QString getText( const QString &caption, const QString &label, QLineEdit::EchoMode echo,
00078 const QString &text = QString::null, bool *ok = 0, QWidget *parent = 0, const char *name = 0 );
00079
00080 static int getInteger( const QString &caption, const QString &label, int num = 0, int from = -2147483647,
00081 int to = 2147483647,
00082 int step = 1, bool *ok = 0, QWidget *parent = 0, const char *name = 0 );
00083 static double getDouble( const QString &caption, const QString &label, double num = 0,
00084 double from = -2147483647, double to = 2147483647,
00085 int decimals = 1, bool *ok = 0, QWidget *parent = 0, const char *name = 0 );
00086 static QString getItem( const QString &caption, const QString &label, const QStringList &list,
00087 int current = 0, bool editable = TRUE,
00088 bool *ok = 0, QWidget *parent = 0, const char *name = 0 );
00089
00090 private slots:
00091 void textChanged( const QString &s );
00092 void tryAccept();
00093
00094 private:
00095 QInputDialogPrivate *d;
00096
00097 friend class QInputDialogPrivate;
00098
00099 private:
00100 #if defined(Q_DISABLE_COPY)
00101 QInputDialog( const QInputDialog & );
00102 QInputDialog &operator=( const QInputDialog & );
00103 #endif
00104 };
00105
00106 #endif // QINPUTDIALOG_H