PRCYCoin  2.0.0.7rc1
P2P Digital Currency
bitcoinamountfield.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2013 The Bitcoin developers
2 // Distributed under the MIT/X11 software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_QT_BITCOINAMOUNTFIELD_H
6 #define BITCOIN_QT_BITCOINAMOUNTFIELD_H
7 
8 #include "amount.h"
9 
10 #include <QWidget>
11 
12 class AmountSpinBox;
13 
14 QT_BEGIN_NAMESPACE
15 class QValueComboBox;
16 QT_END_NAMESPACE
17 
20 class BitcoinAmountField : public QWidget
21 {
22  Q_OBJECT
23 
24  // ugly hack: for some unknown reason CAmount (instead of qint64) does not work here as expected
25  // discussion: https://github.com/bitcoin/bitcoin/pull/5117
26  Q_PROPERTY(qint64 value READ value WRITE setValue NOTIFY valueChanged USER true)
27 
28 public:
29  explicit BitcoinAmountField(QWidget* parent = 0);
30 
31  CAmount value(bool* value = 0) const;
32  void setValue(const CAmount& value);
33 
35  void setSingleStep(const CAmount& step);
36 
38  void setReadOnly(bool fReadOnly);
39 
41  void setValid(bool valid);
43  bool validate();
44 
46  void setDisplayUnit(int unit);
47 
49  void clear();
50 
52  void setEnabled(bool fEnabled);
53 
57  QWidget* setupTabChain(QWidget* prev);
58 
59 Q_SIGNALS:
60  void valueChanged();
61 
62 protected:
64  bool eventFilter(QObject* object, QEvent* event);
65 
66 private:
69 
70 private Q_SLOTS:
71  void unitChanged(int idx);
72 };
73 
74 #endif // BITCOIN_QT_BITCOINAMOUNTFIELD_H
BitcoinAmountField::unitChanged
void unitChanged(int idx)
Definition: bitcoinamountfield.cpp:271
BitcoinAmountField::valueChanged
void valueChanged()
BitcoinAmountField::setReadOnly
void setReadOnly(bool fReadOnly)
Make read-only.
Definition: bitcoinamountfield.cpp:265
BitcoinAmountField::unit
QValueComboBox * unit
Definition: bitcoinamountfield.h:68
BitcoinAmountField::setDisplayUnit
void setDisplayUnit(int unit)
Change unit used to display amount.
Definition: bitcoinamountfield.cpp:282
QValueComboBox
Definition: qvaluecombobox.h:12
BitcoinAmountField::value
qint64 value
Definition: bitcoinamountfield.h:26
Checkpoints::fEnabled
bool fEnabled
Definition: checkpoints.cpp:29
BitcoinAmountField::setupTabChain
QWidget * setupTabChain(QWidget *prev)
Qt messes up the tab chain by default in some cases (issue https://bugreports.qt-project....
Definition: bitcoinamountfield.cpp:248
CAmount
int64_t CAmount
Amount in PRCY (Can be negative)
Definition: amount.h:17
BitcoinAmountField::eventFilter
bool eventFilter(QObject *object, QEvent *event)
Intercept focus-in event and ',' key presses.
Definition: bitcoinamountfield.cpp:239
AmountSpinBox
QSpinBox that uses fixed-point numbers internally and uses our own formatting/parsing functions.
Definition: bitcoinamountfield.cpp:20
BitcoinAmountField::setValue
void setValue(const CAmount &value)
Definition: bitcoinamountfield.cpp:260
BitcoinAmountField::clear
void clear()
Make field empty and ready for new input.
Definition: bitcoinamountfield.cpp:211
BitcoinAmountField::setSingleStep
void setSingleStep(const CAmount &step)
Set single step in satoshis.
Definition: bitcoinamountfield.cpp:287
BitcoinAmountField::amount
AmountSpinBox * amount
Definition: bitcoinamountfield.h:67
BitcoinAmountField::setValid
void setValid(bool valid)
Mark current value as invalid in UI.
Definition: bitcoinamountfield.cpp:231
BitcoinAmountField
Widget for entering bitcoin amounts.
Definition: bitcoinamountfield.h:20
BitcoinAmountField::BitcoinAmountField
BitcoinAmountField(QWidget *parent=0)
Definition: bitcoinamountfield.cpp:182
amount.h
BitcoinAmountField::validate
bool validate()
Perform input validation, mark field as invalid if entered value is not valid.
Definition: bitcoinamountfield.cpp:223
BitcoinAmountField::setEnabled
void setEnabled(bool fEnabled)
Enable/Disable.
Definition: bitcoinamountfield.cpp:217