Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CTheme.hpp
Go to the documentation of this file.
1#ifndef LIBS_GRAPHICSCOMP_CTHEME_HPP_
2#define LIBS_GRAPHICSCOMP_CTHEME_HPP_
3
5
7class IGraphics;
8
9class CTheme
10{
11public:
12 enum class ETheme
13 {
14 Legacy,
15 Nix,
17 };
18
19 static bool isSystemDarkMode();
20
21 CTheme() = delete;
22 CTheme(IComponentsGUI *frameRef, double heightTextAboutScreen, bool isSmallScaled);
23 CTheme(const CTheme &theme) = delete;
24 virtual ~CTheme();
25
26 void defineMaterials(IGraphics *graphics);
27 void changeTheme(ETheme theme);
28
29 [[nodiscard]] bool isScreenSmallScaled() const;
30
31 [[nodiscard]] double getHeightText() const;
32 [[nodiscard]] double getHeightTextList() const;
33 [[nodiscard]] double getHeightTextMsg() const;
34 [[nodiscard]] double getHeightTitleTab() const;
35
36 void setMaterialBackgroundButtons(IGraphics *graphics) const;
37 void setMaterialBlinkButtons(IGraphics *graphics) const;
38 void setMaterialBackgroundDialog(IGraphics *graphics) const;
39 void setMaterialBackgroundScroll(IGraphics *graphics) const;
41 void setMaterialBackgroundShadowDialog(IGraphics *graphics) const;
42 void setMaterialBackgroundView(IGraphics *graphics) const;
43 void setMaterialBtoBackgroundShadow(IGraphics *graphics) const;
44 void setMaterialBtoMenuContext(IGraphics *graphics) const;
45 void setMaterialDefault(IGraphics *graphics) const;
46 void setMaterialEdge(IGraphics *graphics) const;
47 void setMaterialEdit(IGraphics *graphics) const;
48 void setMaterialEditBackground(IGraphics *graphics) const;
49 void setMaterialFocus(IGraphics *graphics) const;
50 void setMaterialFrameView(IGraphics *graphics) const;
51 void setMaterialHeaderList(IGraphics *graphics) const;
52 void setMaterialIllumination(IGraphics *graphics) const;
53 void setMaterialInactive(IGraphics *graphics) const;
54 void setMaterialLineSeparator(IGraphics *graphics) const;
55 void setMaterialMenuBackground(IGraphics *graphics) const;
56 void setMaterialProgress(IGraphics *graphics) const;
57 void setMaterialScroll(IGraphics *graphics) const;
58 void setMaterialText(IGraphics *graphics) const;
59 void setMaterialTitle(IGraphics *graphics) const;
60 void setMaterialDialogTitle(IGraphics *graphics) const;
61 void setMaterialBackgroundGroupButtons(IGraphics *graphics) const;
62 void setMaterialEdgeGroupButtons(IGraphics *graphics) const;
63 void setMaterialAlternateList(IGraphics *graphics) const;
64 void setMaterialButtonText(IGraphics *graphics) const;
66 void setMaterialLabelTittle(IGraphics *graphics) const;
67 void setMaterialLabelValue(IGraphics *graphics) const;
68
69 [[nodiscard]] std::string getActive24x24() const;
70 [[nodiscard]] std::string getArrowDown32x32() const;
71 [[nodiscard]] std::string getArrowUp32x32() const;
72 [[nodiscard]] std::string getArrowLeft32x32() const;
73 [[nodiscard]] std::string getArrowRight32x32() const;
74
75 [[nodiscard]] bool isChanged() const;
76
77private:
78 const std::string kPrvIdMaterialBackgroundView = "BACKGROUND_VIEW";
79 const std::string kPrvIdMaterialHeaderList = "MATERIAL_HEADER_LIST";
80 const std::string kPrvIdMaterialTitle = "MATERIAL_TITLE";
81 const std::string kPrvIdMaterialDialogTitle = "MATERIAL_DIALOG_TITLE";
82 const std::string kPrvIdMaterialButtonSelectedBackground = "MATERIAL_BUTTON_SELECTED_BACKGROUND";
83 const std::string kPrvMaterialBackgroundButtons = "BACKGROUND_BUTTONS";
84 const std::string kPrvMaterialBlinkButtons = "BLINK_BUTTONS";
85 const std::string kPrvMaterialButtonText = "BUTTON_TEXT";
86 const std::string kPrvMaterialLabelTitle = "LABEL_TITLE";
87 const std::string kPrvMaterialLabelValue = "LABEL_VALUE";
88 const std::string kPrvMaterialBackgroundGroupButtons = "BACKGROUND_GROUP_BUTTONS";
89 const std::string kPrvMaterialEdgeGroupButtons = "EDGE_GROUP_BUTTONS";
90 const std::string kPrvMaterialAlternateList = "ALTERNATE_LIST";
91 const std::string kPrvMaterialIndicatorTitle = "INDICATOR_TITLE";
92 const std::string kPrvMaterialText = "MATERIAL_TEXT";
94
95 const std::string kPrvBackgroundDialog = "BACKGROUND_DIALOG";
96 const std::string kPrvBackgroundShadowDialog = "BACKGROUND_SHADOW_DIALOG";
97 const std::string kPrvBtoBackgroundShadow = "BTO_BACKGROUND_SHADOW";
98 const std::string kPrvIdMaterialDefault = "MATERIAL_DEFAULT";
99 const std::string kPrvIdMaterialFrameView = "FRAME_VIEW";
100 const std::string kPrvIdMaterialMenuBackground = "MENU_BACKGROUND";
101 const std::string kPrvIllumination = "ILLUMINATION";
102 const std::string kPrvMaterialBackgroundButtonShadow = "BACKGROUND_BUTTON_SHADOW";
103 const std::string kPrvMaterialBackgroundEdit = "BACKGROUND_EDIT";
104 const std::string kPrvMaterialBackgroundScroll = "BACKGROUND_SCROLL";
105 const std::string kPrvMaterialBtoMenuContext = "BTO_MENU_CONTEXT";
106 const std::string kPrvMaterialEdit = "EDIT";
107 const std::string kPrvMaterialEdgeMsg = "EDGE_MSG";
108 const std::string kPrvMaterialFocus = "FOCUS";
109 const std::string kPrvMaterialInactive = "INACTIVE";
110 const std::string kPrvMaterialLineSeparator = "LINE_SEPARATOR";
111 const std::string kPrvMaterialScroll = "SCROLL";
112 const std::string kPrvProgress = "PROGRESS";
113
114 void prvLoadTheme(IComponentsGUI *frameRef, double heightTextAboutScreen);
115 void prvLoadThemeNix(IComponentsGUI *frameRef, double heightTextAboutScreen);
116 void prvLoadThemeLegacy(IComponentsGUI *frameRef, double heightTextAboutScreen);
117 void prvLoadThemeNorthland(IComponentsGUI *frameRef, double heightTextAboutScreen);
118
132 //iv::ui::graphics::Material *m_frameView {};
135
154
155 double m_heightMsg {0};
156 double m_heightText {0};
158
160 bool m_isChanged {false};
162};
163
164#endif /* LIBS_GRAPHICSCOMP_CTHEME_HPP_ */
Definition CTheme.hpp:10
iv::ui::graphics::Material * m_backgroundShadowDialog
Definition CTheme.hpp:142
void setMaterialEditBackground(IGraphics *graphics) const
Definition CTheme.cpp:352
iv::ui::graphics::Material * m_blinkButton
Definition CTheme.hpp:124
iv::ui::graphics::Material * m_edit
Definition CTheme.hpp:144
double getHeightText() const
Definition CTheme.cpp:272
const std::string kPrvMaterialIndicatorTitle
Definition CTheme.hpp:91
iv::ui::graphics::Material * m_editBackground
Definition CTheme.hpp:145
const std::string kPrvMaterialText
Definition CTheme.hpp:92
double getHeightTextMsg() const
Definition CTheme.cpp:282
void setMaterialBackgroundView(IGraphics *graphics) const
Definition CTheme.cpp:327
void setMaterialBackgroundScroll(IGraphics *graphics) const
Definition CTheme.cpp:307
iv::ui::graphics::Material * m_btoMenuContext
Definition CTheme.hpp:149
void changeTheme(ETheme theme)
Definition CTheme.cpp:757
std::string getArrowDown32x32() const
Definition CTheme.cpp:692
bool m_isChanged
Definition CTheme.hpp:160
iv::ui::graphics::Material * m_text
Definition CTheme.hpp:130
const std::string kPrvIdMaterialMenuBackground
Definition CTheme.hpp:100
iv::ui::graphics::Material * m_headerList
Definition CTheme.hpp:120
void setMaterialBackgroundShadowDialog(IGraphics *graphics) const
Definition CTheme.cpp:322
void prvLoadTheme(IComponentsGUI *frameRef, double heightTextAboutScreen)
Definition CTheme.cpp:417
const std::string kPrvMaterialBlinkButtons
Definition CTheme.hpp:84
iv::ui::graphics::Material * m_backgroundBtoShadow
Definition CTheme.hpp:153
iv::ui::graphics::Material * m_backgroundButtons
Definition CTheme.hpp:123
const std::string kPrvMaterialEdgeGroupButtons
Definition CTheme.hpp:89
std::string getArrowUp32x32() const
Definition CTheme.cpp:710
void prvLoadThemeNix(IComponentsGUI *frameRef, double heightTextAboutScreen)
Definition CTheme.cpp:439
iv::ui::graphics::Material * m_buttonText
Definition CTheme.hpp:126
std::string getActive24x24() const
Definition CTheme.cpp:674
void setMaterialEdit(IGraphics *graphics) const
Definition CTheme.cpp:347
double m_heightText
Definition CTheme.hpp:156
bool m_isScreenSmallScale
Definition CTheme.hpp:157
void setMaterialLineSeparator(IGraphics *graphics) const
Definition CTheme.cpp:382
ETheme m_theme
Definition CTheme.hpp:159
iv::ui::graphics::Material * m_backgroundScroll
Definition CTheme.hpp:139
void setMaterialLabelValue(IGraphics *graphics) const
Definition CTheme.cpp:783
iv::ui::graphics::Material * m_title
Definition CTheme.hpp:121
void setMaterialFocus(IGraphics *graphics) const
Definition CTheme.cpp:357
const std::string kPrvMaterialBackgroundGroupButtons
Definition CTheme.hpp:88
iv::ui::graphics::Material * m_backgroundSelectedButtons
Definition CTheme.hpp:125
const std::string kPrvMaterialBackgroundButtonShadow
Definition CTheme.hpp:102
const std::string kPrvBackgroundShadowDialog
Definition CTheme.hpp:96
ETheme
Definition CTheme.hpp:13
iv::ui::graphics::Material * m_illumination
Definition CTheme.hpp:140
void setMaterialText(IGraphics *graphics) const
Definition CTheme.cpp:402
void setMaterialDialogTitle(IGraphics *graphics) const
Definition CTheme.cpp:412
iv::ui::graphics::Material * m_focus
Definition CTheme.hpp:148
iv::ui::graphics::Material * m_labelTitle
Definition CTheme.hpp:127
double getHeightTextList() const
Definition CTheme.cpp:277
virtual ~CTheme()
Definition CTheme.cpp:156
void setMaterialEdgeGroupButtons(IGraphics *graphics) const
Definition CTheme.cpp:742
iv::ui::graphics::Material * m_edgeGroupButtons
Definition CTheme.hpp:150
iv::ui::graphics::Material * m_labelValue
Definition CTheme.hpp:128
CTheme(const CTheme &theme)=delete
void setMaterialEdge(IGraphics *graphics) const
Definition CTheme.cpp:342
void setMaterialButtonSelectedBackground(IGraphics *graphics) const
Definition CTheme.cpp:768
void setMaterialInactive(IGraphics *graphics) const
Definition CTheme.cpp:377
void setMaterialMenuBackground(IGraphics *graphics) const
Definition CTheme.cpp:387
const std::string kPrvIdMaterialHeaderList
Definition CTheme.hpp:79
CTheme()=delete
void setMaterialProgress(IGraphics *graphics) const
Definition CTheme.cpp:392
void setMaterialLabelTittle(IGraphics *graphics) const
Definition CTheme.cpp:778
const std::string kPrvIdMaterialBackgroundView
Definition CTheme.hpp:78
iv::ui::graphics::Material * m_edgeMsg
Definition CTheme.hpp:137
const std::string kPrvBackgroundDialog
Definition CTheme.hpp:95
const std::string kPrvMaterialAlternateList
Definition CTheme.hpp:90
void prvLoadThemeLegacy(IComponentsGUI *frameRef, double heightTextAboutScreen)
Definition CTheme.cpp:513
void setMaterialButtonText(IGraphics *graphics) const
Definition CTheme.cpp:773
void setMaterialBackgroundGroupButtons(IGraphics *graphics) const
Definition CTheme.cpp:737
iv::ui::graphics::Material * m_scroll
Definition CTheme.hpp:138
iv::ui::graphics::Material * m_backgroundShadowButtons
Definition CTheme.hpp:136
const std::string kPrvIdMaterialDefault
Definition CTheme.hpp:98
iv::ui::graphics::Material * m_indicatorTitle
Definition CTheme.hpp:129
const std::string kPrvIllumination
Definition CTheme.hpp:101
const std::string kPrvProgress
Definition CTheme.hpp:112
bool isScreenSmallScaled() const
Definition CTheme.cpp:763
iv::ui::graphics::Material * m_dialogTitle
Definition CTheme.hpp:122
const std::string kPrvMaterialFocus
Definition CTheme.hpp:108
const std::string kPrvIdMaterialDialogTitle
Definition CTheme.hpp:81
void setMaterialBackgroundShadowButtons(IGraphics *graphics) const
Definition CTheme.cpp:317
const std::string kPrvIdMaterialTitle
Definition CTheme.hpp:80
void setMaterialBlinkButtons(IGraphics *graphics) const
Definition CTheme.cpp:297
iv::ui::graphics::Material * m_backgroundDialog
Definition CTheme.hpp:143
const std::string kPrvMaterialBackgroundEdit
Definition CTheme.hpp:103
iv::ui::graphics::Material * m_backgroundView
Definition CTheme.hpp:119
bool isChanged() const
Definition CTheme.cpp:752
iv::ui::graphics::Material * m_lineSeparator
Definition CTheme.hpp:146
const std::string kPrvMaterialLabelValue
Definition CTheme.hpp:87
void setMaterialAlternateList(IGraphics *graphics) const
Definition CTheme.cpp:747
void setMaterialHeaderList(IGraphics *graphics) const
Definition CTheme.cpp:367
std::string getArrowLeft32x32() const
Definition CTheme.cpp:728
const std::string kPrvIdMaterialButtonSelectedBackground
Definition CTheme.hpp:82
void setMaterialTitle(IGraphics *graphics) const
Definition CTheme.cpp:407
const std::string kPrvMaterialEdgeMsg
Definition CTheme.hpp:107
void setMaterialBtoMenuContext(IGraphics *graphics) const
Definition CTheme.cpp:332
const std::string kPrvMaterialScroll
Definition CTheme.hpp:111
const std::string kPrvIdMaterialFrameView
Definition CTheme.hpp:99
iv::ui::graphics::Material * m_inactive
Definition CTheme.hpp:147
const std::string kPrvMaterialBackgroundScroll
Definition CTheme.hpp:104
double getHeightTitleTab() const
Definition CTheme.cpp:287
const std::string kPrvMaterialEdit
Definition CTheme.hpp:106
iv::ui::graphics::Material * m_alternateList
Definition CTheme.hpp:152
const std::string kPrvMaterialBtoMenuContext
Definition CTheme.hpp:105
void defineMaterials(IGraphics *graphics)
Definition CTheme.cpp:223
iv::ui::graphics::Material * m_backgroundGroupButtons
Definition CTheme.hpp:151
void prvLoadThemeNorthland(IComponentsGUI *frameRef, double heightTextAboutScreen)
Definition CTheme.cpp:592
const std::string kPrvBtoBackgroundShadow
Definition CTheme.hpp:97
void setMaterialFrameView(IGraphics *graphics) const
Definition CTheme.cpp:362
void setMaterialIllumination(IGraphics *graphics) const
Definition CTheme.cpp:372
const std::string kPrvMaterialBackgroundButtons
Definition CTheme.hpp:83
void setMaterialBtoBackgroundShadow(IGraphics *graphics) const
Definition CTheme.cpp:312
void setMaterialDefault(IGraphics *graphics) const
Definition CTheme.cpp:337
double m_heightMsg
Definition CTheme.hpp:155
void setMaterialBackgroundButtons(IGraphics *graphics) const
Definition CTheme.cpp:292
void setMaterialScroll(IGraphics *graphics) const
Definition CTheme.cpp:397
const std::string kPrvMaterialLabelTitle
Definition CTheme.hpp:86
const std::string kPrvMaterialButtonText
Definition CTheme.hpp:85
static bool isSystemDarkMode()
Definition CTheme.cpp:128
std::string getArrowRight32x32() const
Definition CTheme.cpp:732
void setMaterialBackgroundDialog(IGraphics *graphics) const
Definition CTheme.cpp:302
const std::string kPrvMaterialLineSeparator
Definition CTheme.hpp:110
iv::ui::graphics::Material * m_materialDefault
Definition CTheme.hpp:134
iv::ui::graphics::Material * m_menuBackground
Definition CTheme.hpp:133
const std::string kPrvMaterialInactive
Definition CTheme.hpp:109
IComponentsGUI * m_frameRef
Definition CTheme.hpp:161
iv::ui::graphics::Material * m_progress
Definition CTheme.hpp:141
Definition IComponentsGUI.hpp:37
Definition IGraphics.hpp:20
Definition Material.hpp:49