preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue
[novacoin.git] / src / qt / bitcoinunits.h
1 #ifndef BITCOINUNITS_H
2 #define BITCOINUNITS_H
3
4 #include <QString>
5
6 // Bitcoin unit definitions
7 class BitcoinUnits
8 {
9 public:
10     enum Unit
11     {
12         BTC,
13         mBTC,
14         uBTC
15     };
16
17     // Short name
18     static QString name(Unit unit);
19     // Longer description
20     static QString description(Unit unit);
21     // Number of satoshis / unit
22     static qint64 factor(Unit unit);
23     // Number of decimals left
24     static int decimals(Unit unit);
25     // Format as string
26     static QString format(Unit unit, qint64 amount, bool plussign=false);
27     // Format as string (with unit)
28     static QString formatWithUnit(Unit unit, qint64 amount, bool plussign=false);
29     // Parse string to coin amount
30     static bool parse(Unit unit, const QString &value, qint64 *val_out);
31
32 };
33
34 #endif // BITCOINUNITS_H