aboutsummaryrefslogtreecommitdiff
path: root/src/ui_interface.h
blob: c1ed265a01281ec1ef9f1d0d06f939c06681d132 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
// Copyright (c) 2010 Satoshi Nakamoto
// Distributed under the MIT/X11 software license, see the accompanying
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_UI_INTERFACE_H
#define BITCOIN_UI_INTERFACE_H

#include <string>
#include "util.h" // for int64

class CBasicKeyStore;
class CWallet;
class uint256;

#define wxYES                   0x00000002
#define wxOK                    0x00000004
#define wxNO                    0x00000008
#define wxYES_NO                (wxYES|wxNO)
#define wxCANCEL                0x00000010
#define wxAPPLY                 0x00000020
#define wxCLOSE                 0x00000040
#define wxOK_DEFAULT            0x00000000
#define wxYES_DEFAULT           0x00000000
#define wxNO_DEFAULT            0x00000080
#define wxCANCEL_DEFAULT        0x80000000
#define wxICON_EXCLAMATION      0x00000100
#define wxICON_HAND             0x00000200
#define wxICON_WARNING          wxICON_EXCLAMATION
#define wxICON_ERROR            wxICON_HAND
#define wxICON_QUESTION         0x00000400
#define wxICON_INFORMATION      0x00000800
#define wxICON_STOP             wxICON_HAND
#define wxICON_ASTERISK         wxICON_INFORMATION
#define wxICON_MASK             (0x00000100|0x00000200|0x00000400|0x00000800)
#define wxFORWARD               0x00001000
#define wxBACKWARD              0x00002000
#define wxRESET                 0x00004000
#define wxHELP                  0x00008000
#define wxMORE                  0x00010000
#define wxSETUP                 0x00020000
// Force blocking, modal message box dialog (not just notification)
#define wxMODAL                 0x00040000

enum ChangeType
{
    CT_NEW,
    CT_UPDATED,
    CT_DELETED
};

/* These UI communication functions are implemented in bitcoin.cpp (for ui) and noui.cpp (no ui) */

extern int ThreadSafeMessageBox(const std::string& message, const std::string& caption, int style=wxOK);
extern bool ThreadSafeAskFee(int64 nFeeRequired, const std::string& strCaption);
extern void ThreadSafeHandleURI(const std::string& strURI);
extern void QueueShutdown();
extern void InitMessage(const std::string &message);
extern std::string _(const char* psz);

/* Block chain changed. */
extern void NotifyBlocksChanged();

/* Wallet status (encrypted, locked) changed.
 * Note: Called without locks held.
 */
extern void NotifyKeyStoreStatusChanged(CBasicKeyStore *wallet);

/* Address book entry changed.
 * Note: called with lock cs_wallet held.
 */
extern void NotifyAddressBookChanged(CWallet *wallet, const std::string &address, const std::string &label, ChangeType status);

/* Wallet transaction added, removed or updated.
 * Note: called with lock cs_wallet held.
 */
extern void NotifyTransactionChanged(CWallet *wallet, const uint256 &hashTx, ChangeType status);

/* Number of connections changed. */
extern void NotifyNumConnectionsChanged(int newNumConnections);

/* New, updated or cancelled alert.
 * Note: called with lock cs_mapAlerts held.
 */
extern void NotifyAlertChanged(const uint256 &hash, ChangeType status);

#endif