summaryrefslogtreecommitdiff
path: root/wx+/popup_dlg.h
diff options
context:
space:
mode:
Diffstat (limited to 'wx+/popup_dlg.h')
-rw-r--r--wx+/popup_dlg.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/wx+/popup_dlg.h b/wx+/popup_dlg.h
index 12c19c14..ca4a7591 100644
--- a/wx+/popup_dlg.h
+++ b/wx+/popup_dlg.h
@@ -7,7 +7,8 @@
#ifndef POPUP_DLG_H_820780154723456
#define POPUP_DLG_H_820780154723456
-#include <set>
+#include <unordered_set>
+#include <unordered_map>
#include <zen/zstring.h>
#include <wx/window.h>
#include <wx/bitmap.h>
@@ -19,8 +20,6 @@ namespace zen
//parent window, optional: support correct dialog placement above parent on multiple monitor systems
//this module requires error, warning and info image files in Icons.zip, see <wx+/image_resources.h>
-struct PopupDialogCfg;
-
enum class DialogInfoType
{
info,
@@ -53,6 +52,8 @@ enum class QuestionButton2
no = static_cast<int>(ConfirmationButton3::decline),
};
+struct PopupDialogCfg;
+
void showNotificationDialog(wxWindow* parent, DialogInfoType type, const PopupDialogCfg& cfg);
ConfirmationButton showConfirmationDialog(wxWindow* parent, DialogInfoType type, const PopupDialogCfg& cfg, const wxString& labelAccept);
ConfirmationButton2 showConfirmationDialog(wxWindow* parent, DialogInfoType type, const PopupDialogCfg& cfg, const wxString& labelAccept, const wxString& labelAccept2);
@@ -69,6 +70,7 @@ struct PopupDialogCfg
PopupDialogCfg& setMainInstructions (const wxString& label) { textMain = label; return *this; } //set at least one of these!
PopupDialogCfg& setDetailInstructions(const wxString& label) { textDetail = label; return *this; } //
PopupDialogCfg& disableButton(ConfirmationButton3 button) { disabledButtons.insert(button); return *this; }
+ PopupDialogCfg& setButtonImage(ConfirmationButton3 button, const wxImage& img) { buttonImages.emplace(button, img); return *this; }
PopupDialogCfg& alertWhenPending(const Zstring& soundFilePath) { soundFileAlertPending = soundFilePath; return *this; }
PopupDialogCfg& setCheckBox(bool& value, const wxString& label, ConfirmationButton3 disableWhenChecked = ConfirmationButton3::cancel)
{
@@ -85,7 +87,8 @@ private:
wxString title;
wxString textMain;
wxString textDetail;
- std::set<ConfirmationButton3> disabledButtons;
+ std::unordered_set<ConfirmationButton3> disabledButtons;
+ std::unordered_map<ConfirmationButton3, wxImage> buttonImages;
Zstring soundFileAlertPending;
bool* checkBoxValue = nullptr; //in/out
wxString checkBoxLabel;
bgstack15