Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CButton.hpp
Go to the documentation of this file.
1#ifndef LIBS_GUI_CBUTTON_HPP_
2#define LIBS_GUI_CBUTTON_HPP_
3
6#include "ui/gui/enums.hpp"
8
9#include <string>
10
11enum class EButtonType
12{
14 Normal
15};
16
18{
19public:
20 static CButton *createText(std::string_view textButton);
22 static CButton *createImageAndText(const std::string &textButton, const iv::ui::resources::ImageResource &resource,
23 CEnumComponentsGUI::EImagePosition alignmentImageInButton);
25
26 ~CButton() override = default;
27
28 [[nodiscard]] std::string getText() const;
29
30 void setImage(const iv::ui::resources::ImageResource &resource);
32 void setText(const std::string &txtButton);
33 void setTextAndImage(const std::string &txtButton, const iv::ui::resources::ImageResource &resource);
34 void setSelected(bool isSelected);
36
37 [[nodiscard]] bool isSelected() const;
38
39private:
40 explicit CButton(std::string_view textButton);
41 explicit CButton(const iv::ui::resources::ImageResource &resource);
42 explicit CButton(const std::string &textButton, const iv::ui::resources::ImageResource &resource,
43 CEnumComponentsGUI::EImagePosition alignmentImageInButton);
44 explicit CButton(iv::types::color *rgb);
45
46 IWidget *createWidget(CDialog *dialogFather) override;
47
50
51 std::optional<std::string> m_txtButtonOpt;
52 std::optional<iv::ui::resources::ImageResource> m_imageResourceOpt;
53 std::optional<iv::types::color *> m_rgbRefOpt;
54
57 bool m_isSelected {false};
58};
59
60#endif /* LIBS_GUI_CBUTTON_HPP_ */
EButtonType
Definition CButton.hpp:12
Definition AbstractClickComponentGUI.hpp:10
Definition CButton.hpp:18
std::optional< std::string > m_txtButtonOpt
Definition CButton.hpp:51
std::string getText() const
Definition CButton.cpp:113
CEnumComponentsGUI::EImageSize m_sizeImage
Definition CButton.hpp:56
IWidget * createWidget(CDialog *dialogFather) override
Definition CButton.cpp:178
void setTextAndImage(const std::string &txtButton, const iv::ui::resources::ImageResource &resource)
Definition CButton.cpp:145
static CButton * createImage(const iv::ui::resources::ImageResource &resource)
Definition CButton.cpp:90
iv::gui::eButtonBlinkType m_blinkType
Definition CButton.hpp:49
void setText(const std::string &txtButton)
Definition CButton.cpp:135
bool m_isSelected
Definition CButton.hpp:57
void setSelected(bool isSelected)
Definition CButton.cpp:158
~CButton() override=default
std::optional< iv::ui::resources::ImageResource > m_imageResourceOpt
Definition CButton.hpp:52
bool isSelected() const
Definition CButton.cpp:173
void setImage(const iv::ui::resources::ImageResource &resource)
Definition CButton.cpp:118
CButton(std::string_view textButton)
Definition CButton.cpp:37
void setImageSize(CEnumComponentsGUI::EImageSize size)
Definition CButton.cpp:128
EButtonType m_typeButton
Definition CButton.hpp:48
std::optional< iv::types::color * > m_rgbRefOpt
Definition CButton.hpp:53
static CButton * createImageAndText(const std::string &textButton, const iv::ui::resources::ImageResource &resource, CEnumComponentsGUI::EImagePosition alignmentImageInButton)
Definition CButton.cpp:95
static CButton * createText(std::string_view textButton)
Definition CButton.cpp:85
CEnumComponentsGUI::EImagePosition m_alignmentImageInButton
Definition CButton.hpp:55
static CButton * createButtonColorSelection(iv::types::color *rgb)
Definition CButton.cpp:101
void setBlinkingType(iv::gui::eButtonBlinkType blinkType)
Definition CButton.cpp:163
Definition CDialog.hpp:21
EImagePosition
Definition CEnumComponentsGUI.hpp:81
EImageSize
Definition CEnumComponentsGUI.hpp:89
Definition IWidget.hpp:5
Definition ImageResource.hpp:15
eButtonBlinkType
Definition enums.hpp:8
uint32_t color
Definition types.hpp:12