Line data Source code
1 : // Copyright (c) 2011-2013 The Bitcoin Core developers
2 : // Distributed under the MIT software license, see the accompanying
3 : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 :
5 : #ifndef BITCOIN_QT_QVALUECOMBOBOX_H
6 : #define BITCOIN_QT_QVALUECOMBOBOX_H
7 :
8 : #include <QComboBox>
9 : #include <QVariant>
10 :
11 : /* QComboBox that can be used with QDataWidgetMapper to select ordinal values from a model. */
12 0 : class QValueComboBox : public QComboBox
13 : {
14 : Q_OBJECT
15 :
16 : Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged USER true)
17 :
18 : public:
19 : explicit QValueComboBox(QWidget *parent = 0);
20 :
21 : QVariant value() const;
22 : void setValue(const QVariant &value);
23 :
24 : /** Specify model role to use as ordinal value (defaults to Qt::UserRole) */
25 : void setRole(int role);
26 :
27 : Q_SIGNALS:
28 : void valueChanged();
29 :
30 : private:
31 : int role;
32 :
33 : private Q_SLOTS:
34 : void handleSelectionChanged(int idx);
35 : };
36 :
37 : #endif // BITCOIN_QT_QVALUECOMBOBOX_H
|