LCOV - code coverage report
Current view: top level - src/qt - bitcoinamountfield.h (source / functions) Hit Total Coverage
Test: total_coverage.info Lines: 0 1 0.0 %
Date: 2015-10-12 22:39:14 Functions: 0 2 0.0 %
Legend: Lines: hit not hit

          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_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             : 
      18             : /** Widget for entering bitcoin amounts.
      19             :   */
      20           0 : 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             : 
      34             :     /** Set single step in satoshis **/
      35             :     void setSingleStep(const CAmount& step);
      36             : 
      37             :     /** Make read-only **/
      38             :     void setReadOnly(bool fReadOnly);
      39             : 
      40             :     /** Mark current value as invalid in UI. */
      41             :     void setValid(bool valid);
      42             :     /** Perform input validation, mark field as invalid if entered value is not valid. */
      43             :     bool validate();
      44             : 
      45             :     /** Change unit used to display amount. */
      46             :     void setDisplayUnit(int unit);
      47             : 
      48             :     /** Make field empty and ready for new input. */
      49             :     void clear();
      50             : 
      51             :     /** Enable/Disable. */
      52             :     void setEnabled(bool fEnabled);
      53             : 
      54             :     /** Qt messes up the tab chain by default in some cases (issue https://bugreports.qt-project.org/browse/QTBUG-10907),
      55             :         in these cases we have to set it up manually.
      56             :     */
      57             :     QWidget *setupTabChain(QWidget *prev);
      58             : 
      59             : Q_SIGNALS:
      60             :     void valueChanged();
      61             : 
      62             : protected:
      63             :     /** Intercept focus-in event and ',' key presses */
      64             :     bool eventFilter(QObject *object, QEvent *event);
      65             : 
      66             : private:
      67             :     AmountSpinBox *amount;
      68             :     QValueComboBox *unit;
      69             : 
      70             : private Q_SLOTS:
      71             :     void unitChanged(int idx);
      72             : 
      73             : };
      74             : 
      75             : #endif // BITCOIN_QT_BITCOINAMOUNTFIELD_H

Generated by: LCOV version 1.11