Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CDialog.hpp
Go to the documentation of this file.
1#ifndef LIBS_GUI_CDIALOG_HPP_
2#define LIBS_GUI_CDIALOG_HPP_
3
5
6#include <cstdint>
7#include <functional>
8#include <memory>
9#include <optional>
10#include <string>
11#include <string_view>
12#include <vector>
13
16class CTxtColor;
17class IComponentsGUI;
18class IWidget;
19
21{
22public:
23 static std::shared_ptr<CDialog> createDialog(std::string_view title, bool isResizable,
24 AbstractComponentGUI **panel);
25 static CDialog *createDialogApplication(IWidget *mainWindow);
26 static void runMessage(CEnumComponentsGUI::EMessageType messageType, CDialog *dlgFather, const std::string &msg,
27 const std::string &title = "");
28 static void runMessageError(CDialog *dlgFather, const std::string &msgError, const std::string &title = "");
29 static void runMessageInform(CDialog *dlgFather, const std::string &msgInform, const std::string &title = "");
30 static bool runMessageQuestion(CDialog *dlgFather, const std::string &msgQuestion, const std::string &title = "");
31 static void runMessageWarning(CDialog *dlgFather, const std::string &msgWarning, const std::string &title = "");
32
33 CDialog(const CDialog &other) = delete;
34 CDialog(CDialog &&other) = delete;
35 virtual ~CDialog();
36
37 CDialog &operator=(const CDialog &other) = delete;
38 CDialog &operator=(CDialog &&other) = delete;
39
40 void addMsgStateMenuContext(IWidget *menuContext, const CTxtColor &txtColor);
41 void addOptionMenuContext(IWidget *menuContext, const std::string &txtOption, uint32_t argbColorBackground,
42 const std::string &nameImageOpt, AbstractClickComponentGUI *componentOption,
43 IWidget **menuOption);
44 void accept();
45 void close();
48 IWidget *createComponentMenuContext(const std::string &titleMenu);
49 void pendingEvent();
51 bool isTransientFor, CDialog *dialogFatherRef, bool withPosition = false,
52 double posX = 0., double posY = 0., unsigned char justify = 5);
53 void runDialogNonModal(CDialog *dlgFather,
54 const std::optional<std::function<bool()>> &closeDialogHandler = std::nullopt);
55 void runDialogPanelIndicator(CDialog *dlgFather, bool isVisible);
56 void runMenuContext(IWidget **menuContext, double x, double y);
57
59
60 void setDetectionErrors(bool bDetectErrors = true);
61 void setPosition(double xPos, double yPos, unsigned char justify);
62 void setVisibleNonModal(bool isVisible);
63 void setCanBeClosed(bool canBeClosed = true);
64
65private:
66 CDialog();
67
68 bool m_canBeClosed {true};
72
73 std::string m_title;
75
77
80
82};
83
84#endif /* LIBS_GUI_CDIALOG_HPP_ */
Definition AbstractClickComponentGUI.hpp:10
Definition AbstractComponentGUI.hpp:30
Definition CDialog.hpp:21
AbstractComponentGUI * m_panel
Definition CDialog.hpp:76
static bool runMessageQuestion(CDialog *dlgFather, const std::string &msgQuestion, const std::string &title="")
Definition CDialog.cpp:135
void closeDialogNonModal()
Definition CDialog.cpp:222
void setPosition(double xPos, double yPos, unsigned char justify)
Definition CDialog.cpp:382
std::string m_title
Definition CDialog.hpp:73
IWidget * getWidget()
Definition CDialog.cpp:372
CDialog(CDialog &&other)=delete
void close()
Definition CDialog.cpp:214
static void runMessageInform(CDialog *dlgFather, const std::string &msgInform, const std::string &title="")
Definition CDialog.cpp:125
CEnumComponentsGUI::EDialogType m_dialogType
Definition CDialog.hpp:70
static void runMessageError(CDialog *dlgFather, const std::string &msgError, const std::string &title="")
Definition CDialog.cpp:115
static std::shared_ptr< CDialog > createDialog(std::string_view title, bool isResizable, AbstractComponentGUI **panel)
Definition CDialog.cpp:78
IWidget * m_dialogRef
Definition CDialog.hpp:78
IWidget * createComponentMenuContext(const std::string &titleMenu)
Definition CDialog.cpp:245
void addMsgStateMenuContext(IWidget *menuContext, const CTxtColor &txtColor)
Definition CDialog.cpp:187
static void runMessageWarning(CDialog *dlgFather, const std::string &msgWarning, const std::string &title="")
Definition CDialog.cpp:147
static void runMessage(CEnumComponentsGUI::EMessageType messageType, CDialog *dlgFather, const std::string &msg, const std::string &title="")
Definition CDialog.cpp:104
void runMenuContext(IWidget **menuContext, double x, double y)
Definition CDialog.cpp:364
bool m_withDetectionErrors
Definition CDialog.hpp:71
CDialog & operator=(CDialog &&other)=delete
CDialog * m_dialogFatherRef
Definition CDialog.hpp:81
void setVisibleNonModal(bool isVisible)
Definition CDialog.cpp:390
void pendingEvent()
Definition CDialog.cpp:255
virtual ~CDialog()
Definition CDialog.cpp:157
bool m_canBeClosed
Definition CDialog.hpp:68
AbstractComponentGUI * m_content
Definition CDialog.hpp:79
void runDialogPanelIndicator(CDialog *dlgFather, bool isVisible)
Definition CDialog.cpp:340
void setCanBeClosed(bool canBeClosed=true)
Definition CDialog.cpp:398
CEnumComponentsGUI::EDialogResponse run(CEnumComponentsGUI::EDialogButtons buttons, bool isModal, bool isTransientFor, CDialog *dialogFatherRef, bool withPosition=false, double posX=0., double posY=0., unsigned char justify=5)
Definition CDialog.cpp:263
static CDialog * createDialogApplication(IWidget *mainWindow)
Definition CDialog.cpp:90
void closeDialogsRecursively()
Definition CDialog.cpp:237
void setDetectionErrors(bool bDetectErrors=true)
Definition CDialog.cpp:377
bool m_isResizable
Definition CDialog.hpp:74
void runDialogNonModal(CDialog *dlgFather, const std::optional< std::function< bool()> > &closeDialogHandler=std::nullopt)
Run a dialog non-modal.
Definition CDialog.cpp:322
void accept()
Definition CDialog.cpp:206
CDialog & operator=(const CDialog &other)=delete
CDialog(const CDialog &other)=delete
void addOptionMenuContext(IWidget *menuContext, const std::string &txtOption, uint32_t argbColorBackground, const std::string &nameImageOpt, AbstractClickComponentGUI *componentOption, IWidget **menuOption)
Definition CDialog.cpp:195
CDialog()
Definition CDialog.cpp:407
EDialogButtons
Definition CEnumComponentsGUI.hpp:39
EMessageType
Definition CEnumComponentsGUI.hpp:74
EDialogResponse
Definition CEnumComponentsGUI.hpp:53
EDialogType
Definition CEnumComponentsGUI.hpp:68
Definition CTxtColor.hpp:10
Definition IComponentsGUI.hpp:37
Definition IWidget.hpp:5