Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CMenuOption.hpp
Go to the documentation of this file.
1#ifndef LIBS_GUI_CMENUOPTION_HPP_
2#define LIBS_GUI_CMENUOPTION_HPP_
3
5
6#include <bits/stdint-uintn.h>
7#include <string>
8
10{
11public:
13 CMenuOption(const CMenuOption &other);
14 CMenuOption(CMenuOption &&other) noexcept = delete;
15 ~CMenuOption() override;
16 CMenuOption &operator=(const CMenuOption &other) = delete;
17 CMenuOption &operator=(CMenuOption &&other) = delete;
18
19 explicit CMenuOption(std::string_view nameOption);
20 CMenuOption(std::string_view nameOption, std::string_view nameImage, bool isInToolbar);
21
22 bool operator==(const CMenuOption &b) const
23 {
24 return (m_name == b.m_name) && (m_image == b.m_image) && (m_isInToolbar == b.m_isInToolbar) &&
26 }
27
28 [[nodiscard]] std::string getName() const;
29 [[nodiscard]] std::string getImage() const;
30 [[nodiscard]] bool getIsCurrentActiveOption() const;
31 [[nodiscard]] bool isInToolbar() const;
32 void updateActive() const;
33
34 void setOptionName(const std::string &name);
35 void setImage(const std::string &image);
36 void setIsCurrentActiveOption(bool isCurrentActiveOption);
37 void setColorRgb(uint32_t rgb);
38
39 void appendOptionMenubarWidget(IWidget *menuBar, const std::shared_ptr<IComponentsGUI> &frame, CDialog *dlgFather);
40 void appendOptionToolbarWidget(IWidget *toolbar, const std::shared_ptr<IComponentsGUI> &frame, CDialog *dlgFather);
41 void appendOptionMenuContextWidget(IWidget *menuContext, CDialog *dlgFather);
42
43protected:
44 [[nodiscard]] virtual bool isActivated() const;
45
46private:
47 IWidget *createWidget(CDialog *dialogFatherRef) override;
48
49 std::string m_name;
50 std::string m_image;
53
54 uint32_t m_argb;
55
56 IWidget *m_compOption; // this is the menu item
57 IWidget *m_compOptionToolbar;// this is the same item as a button in the toolbar
58};
59
60#endif /* LIBS_GUI_CMENUOPTION_HPP_ */
Definition AbstractClickComponentGUI.hpp:10
Definition CDialog.hpp:21
Definition CMenuOption.hpp:10
virtual bool isActivated() const
Definition CMenuOption.cpp:190
void setImage(const std::string &image)
Definition CMenuOption.cpp:128
std::string m_name
Definition CMenuOption.hpp:49
IWidget * m_compOptionToolbar
Definition CMenuOption.hpp:57
void appendOptionMenuContextWidget(IWidget *menuContext, CDialog *dlgFather)
Definition CMenuOption.cpp:182
IWidget * m_compOption
Definition CMenuOption.hpp:56
bool getIsCurrentActiveOption() const
Definition CMenuOption.cpp:89
IWidget * createWidget(CDialog *dialogFatherRef) override
Definition CMenuOption.cpp:195
void updateActive() const
Definition CMenuOption.cpp:99
std::string m_image
Definition CMenuOption.hpp:50
bool operator==(const CMenuOption &b) const
Definition CMenuOption.hpp:22
CMenuOption & operator=(const CMenuOption &other)=delete
void setOptionName(const std::string &name)
Definition CMenuOption.cpp:117
std::string getImage() const
Definition CMenuOption.cpp:84
CMenuOption & operator=(CMenuOption &&other)=delete
uint32_t m_argb
Definition CMenuOption.hpp:54
~CMenuOption() override
Definition CMenuOption.cpp:64
bool m_isCurrentActiveOption
Definition CMenuOption.hpp:52
bool m_isInToolbar
Definition CMenuOption.hpp:51
void appendOptionMenubarWidget(IWidget *menuBar, const std::shared_ptr< IComponentsGUI > &frame, CDialog *dlgFather)
Definition CMenuOption.cpp:149
void setIsCurrentActiveOption(bool isCurrentActiveOption)
Definition CMenuOption.cpp:139
void appendOptionToolbarWidget(IWidget *toolbar, const std::shared_ptr< IComponentsGUI > &frame, CDialog *dlgFather)
Definition CMenuOption.cpp:164
void setColorRgb(uint32_t rgb)
Definition CMenuOption.cpp:144
std::string getName() const
Definition CMenuOption.cpp:79
bool isInToolbar() const
Definition CMenuOption.cpp:94
CMenuOption()
Definition CMenuOption.cpp:11
CMenuOption(CMenuOption &&other) noexcept=delete
Definition IWidget.hpp:5