comparison multichoicedialog.h @ 68:b918e57c7bea

* Flesh out multi-choice dialog a big
author Chris Cannam
date Wed, 17 Nov 2010 22:13:34 +0000
parents be627aeceaed
children 6d5a5571caec
comparison
equal deleted inserted replaced
67:be627aeceaed 68:b918e57c7bea
18 #ifndef MULTICHOICEDIALOG_H 18 #ifndef MULTICHOICEDIALOG_H
19 #define MULTICHOICEDIALOG_H 19 #define MULTICHOICEDIALOG_H
20 20
21 #include <QDialog> 21 #include <QDialog>
22 #include <QString> 22 #include <QString>
23 #include <QPushButton>
24 #include <QMap>
25 #include <QLabel>
26 #include <QLineEdit>
27 #include <QGridLayout>
28 #include <QStackedWidget>
23 29
24 class MultiChoiceDialog : public QDialog 30 class MultiChoiceDialog : public QDialog
25 { 31 {
26 Q_OBJECT 32 Q_OBJECT
27 public: 33 public:
28 explicit MultiChoiceDialog(QWidget *parent = 0); 34 explicit MultiChoiceDialog(QString title, QString heading, QWidget *parent = 0);
29 35
30 enum ArgType { 36 enum ArgType {
31 NoArg, 37 NoArg,
32 FileArg, 38 FileArg,
33 UrlArg, 39 UrlArg,
40 QString getSelectedIdentifier(); 46 QString getSelectedIdentifier();
41 QString getArgument(); 47 QString getArgument();
42 48
43 signals: 49 signals:
44 50
45 public slots: 51 private slots:
52
53
54 private:
55 void updateArgWidgets(); // when choice changes
56
57 QMap<QString, QString> m_texts;
58 QMap<QString, QString> m_descriptions;
59
60 QString m_currentChoice;
61 QMap<QString, QPushButton *> m_choiceButtons;
62
63 QGridLayout *m_choiceLayout;
64 QLabel *m_descriptionLabel;
65 QLabel *m_argLabel;
66 QLineEdit *m_argEdit;
67 QPushButton *m_browseButton;
46 68
47 }; 69 };
48 70
49 #endif // MULTICHOICEDIALOG_H 71 #endif // MULTICHOICEDIALOG_H