Bitcoin Core 31.99.0
P2P Digital Currency
interface_ui.h
Go to the documentation of this file.
1// Copyright (c) 2010 Satoshi Nakamoto
2// Copyright (c) 2012-present The Bitcoin Core developers
3// Distributed under the MIT software license, see the accompanying
4// file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
6#ifndef BITCOIN_NODE_INTERFACE_UI_H
7#define BITCOIN_NODE_INTERFACE_UI_H
8
9#include <util/btcsignals.h>
10
11#include <cstdint>
12#include <functional>
13#include <string>
14#include <vector>
15
16class CBlockIndex;
17enum class SynchronizationState;
18struct bilingual_str;
19
22{
23public:
25 enum MessageBoxFlags : uint32_t {
27 ICON_WARNING = (1U << 0),
28 ICON_ERROR = (1U << 1),
34
36 BTN_OK = 0x00000400U, // QMessageBox::Ok
37 BTN_YES = 0x00004000U, // QMessageBox::Yes
38 BTN_NO = 0x00010000U, // QMessageBox::No
39 BTN_ABORT = 0x00040000U, // QMessageBox::Abort
40 BTN_RETRY = 0x00080000U, // QMessageBox::Retry
41 BTN_IGNORE = 0x00100000U, // QMessageBox::Ignore
42 BTN_CLOSE = 0x00200000U, // QMessageBox::Close
43 BTN_CANCEL = 0x00400000U, // QMessageBox::Cancel
44 BTN_DISCARD = 0x00800000U, // QMessageBox::Discard
45 BTN_HELP = 0x01000000U, // QMessageBox::Help
46 BTN_APPLY = 0x02000000U, // QMessageBox::Apply
47 BTN_RESET = 0x04000000U, // QMessageBox::Reset
54
56 MODAL = 0x10000000U,
57
59 SECURE = 0x40000000U,
60
65 };
66
68 btcsignals::signal<void(const bilingual_str& message, unsigned int style)> ThreadSafeMessageBox;
69
71 btcsignals::signal<bool(const bilingual_str& message, const std::string& noninteractive_message, unsigned int style), btcsignals::any_of> ThreadSafeQuestion;
72
74 btcsignals::signal<void(const std::string& message)> InitMessage;
75
78
80 btcsignals::signal<void(int newNumConnections)> NotifyNumConnectionsChanged;
81
84
89
94 btcsignals::signal<void(const std::string& title, int nProgress, bool resume_possible)> ShowProgress;
95
97 btcsignals::signal<void(SynchronizationState, const CBlockIndex& block, double verification_progress)> NotifyBlockTip;
98
100 btcsignals::signal<void(SynchronizationState, int64_t height, int64_t timestamp, bool presync)> NotifyHeaderTip;
101
104};
105
107void InitWarning(const bilingual_str& str);
108
110bool InitError(const bilingual_str& str);
111bool InitError(const bilingual_str& str, const std::vector<std::string>& details);
112
114
115#endif // BITCOIN_NODE_INTERFACE_UI_H
The block chain is a tree shaped structure starting with the genesis block at the root,...
Definition: chain.h:94
Signals for UI communication.
Definition: interface_ui.h:22
btcsignals::signal< void(const std::string &message)> InitMessage
Progress message during initialization.
Definition: interface_ui.h:74
btcsignals::signal< bool(const bilingual_str &message, const std::string &noninteractive_message, unsigned int style), btcsignals::any_of > ThreadSafeQuestion
If possible, ask the user a question.
Definition: interface_ui.h:71
btcsignals::signal< void()> InitWallet
Wallet loader created.
Definition: interface_ui.h:77
btcsignals::signal< void()> NotifyAlertChanged
Status bar alerts changed.
Definition: interface_ui.h:88
btcsignals::signal< void(bool networkActive)> NotifyNetworkActiveChanged
Network activity state changed.
Definition: interface_ui.h:83
btcsignals::signal< void(int newNumConnections)> NotifyNumConnectionsChanged
Number of network connections changed.
Definition: interface_ui.h:80
btcsignals::signal< void(const bilingual_str &message, unsigned int style)> ThreadSafeMessageBox
Show message box.
Definition: interface_ui.h:68
btcsignals::signal< void(SynchronizationState, const CBlockIndex &block, double verification_progress)> NotifyBlockTip
New block has been accepted.
Definition: interface_ui.h:97
btcsignals::signal< void(const std::string &title, int nProgress, bool resume_possible)> ShowProgress
Show progress e.g.
Definition: interface_ui.h:94
MessageBoxFlags
Flags for CClientUIInterface::ThreadSafeMessageBox.
Definition: interface_ui.h:25
@ ICON_MASK
Mask of all available icons in CClientUIInterface::MessageBoxFlags This needs to be updated,...
Definition: interface_ui.h:33
@ BTN_MASK
Mask of all available buttons in CClientUIInterface::MessageBoxFlags This needs to be updated,...
Definition: interface_ui.h:52
@ BTN_OK
These values are taken from qmessagebox.h "enum StandardButton" to be directly usable.
Definition: interface_ui.h:36
@ MSG_INFORMATION
Predefined combinations for certain default usage cases.
Definition: interface_ui.h:62
@ MODAL
Force blocking, modal message box dialog (not just OS notification)
Definition: interface_ui.h:56
@ SECURE
Do not print contents of message to debug log.
Definition: interface_ui.h:59
btcsignals::signal< void(void)> BannedListChanged
Banlist did change.
Definition: interface_ui.h:103
btcsignals::signal< void(SynchronizationState, int64_t height, int64_t timestamp, bool presync)> NotifyHeaderTip
Best header has changed.
Definition: interface_ui.h:100
A combiner, which checks if at least one callback returned true.
Definition: btcsignals.h:42
CClientUIInterface uiInterface
void InitWarning(const bilingual_str &str)
Show warning message.
bool InitError(const bilingual_str &str)
Show error message.
Bilingual messages:
Definition: translation.h:24
SynchronizationState
Current sync state passed to tip changed callbacks.
Definition: validation.h:93