Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CLayoutTabs.hpp
Go to the documentation of this file.
1#ifndef LIBS_GUI_CLAYOUTTABS_HPP_
2#define LIBS_GUI_CLAYOUTTABS_HPP_
3
5
6#include <bits/stdint-uintn.h>
7#include <string>
8#include <vector>
9
11{
12public:
13 struct SPrvTab
14 {
15 SPrvTab(std::string_view nameTab, AbstractComponentGUI **componentTab,
16 std::optional<iv::types::color> colorARGB);
17 ~SPrvTab();
18
19 std::string m_nameTab;
21 std::vector<AbstractComponentGUI *> m_titleComponents;
22 std::optional<iv::types::color> m_colorARGB;
23 };
24
25 explicit CLayoutTabs(std::string titleTab);
26 ~CLayoutTabs() override;
27
28 void destroyWidget() override;
29
30 void addTab(std::string_view nameTab, AbstractComponentGUI **component);
31 void addTabTitleComponent(uint64_t indTab, AbstractComponentGUI *component) const;
32 void setTab(uint64_t indTab);
33 [[nodiscard]] uint64_t getActiveTab() const;
34 void setColorARGB(std::string_view nameTab, std::optional<iv::types::color> colorARGB);
35 void setColorTextARGB(std::string_view nameTab, std::optional<iv::types::color> colorARGB);
36 void setBlinking(std::string_view nameTab, bool isBlinking);
37 void setBlinkingColor(std::string_view nameTab, std::optional<iv::types::color> colorARGB);
38
39private:
40 void prvProcessCloseChildren() override;
41 IWidget *createWidget(CDialog *dialogFather) override;
42
44 std::string m_titleTabs;
45
46 std::vector<SPrvTab *> m_tabs;
47
49};
50
51#endif /* LIBS_GUI_CLAYOUTTABS_HPP_ */
Definition AbstractComponentGUI.hpp:30
Definition CDialog.hpp:21
Definition CLayoutTabs.hpp:11
void setColorTextARGB(std::string_view nameTab, std::optional< iv::types::color > colorARGB)
Definition CLayoutTabs.cpp:180
uint64_t getActiveTab() const
Definition CLayoutTabs.cpp:143
void setBlinkingColor(std::string_view nameTab, std::optional< iv::types::color > colorARGB)
Definition CLayoutTabs.cpp:196
void addTab(std::string_view nameTab, AbstractComponentGUI **component)
Definition CLayoutTabs.cpp:114
uint64_t m_indCurrentTab
Definition CLayoutTabs.hpp:43
std::string m_titleTabs
Definition CLayoutTabs.hpp:44
void setColorARGB(std::string_view nameTab, std::optional< iv::types::color > colorARGB)
Definition CLayoutTabs.cpp:159
void setTab(uint64_t indTab)
Definition CLayoutTabs.cpp:133
void addTabTitleComponent(uint64_t indTab, AbstractComponentGUI *component) const
Adds a component to the tab title.
Definition CLayoutTabs.cpp:125
CLayoutTabs(std::string titleTab)
Definition CLayoutTabs.cpp:81
IWidget * m_componentTabsRef
Definition CLayoutTabs.hpp:48
std::vector< SPrvTab * > m_tabs
Definition CLayoutTabs.hpp:46
void destroyWidget() override
Definition CLayoutTabs.cpp:107
~CLayoutTabs() override
Definition CLayoutTabs.cpp:98
void setBlinking(std::string_view nameTab, bool isBlinking)
Definition CLayoutTabs.cpp:188
void prvProcessCloseChildren() override
Definition CLayoutTabs.cpp:237
IWidget * createWidget(CDialog *dialogFather) override
Definition CLayoutTabs.cpp:204
Definition IWidget.hpp:5
Definition CLayoutTabs.hpp:14
std::vector< AbstractComponentGUI * > m_titleComponents
Definition CLayoutTabs.hpp:21
SPrvTab(std::string_view nameTab, AbstractComponentGUI **componentTab, std::optional< iv::types::color > colorARGB)
Definition CLayoutTabs.cpp:67
AbstractComponentGUI * m_componentTab
Definition CLayoutTabs.hpp:20
~SPrvTab()
Definition CLayoutTabs.cpp:75
std::string m_nameTab
Definition CLayoutTabs.hpp:19
std::optional< iv::types::color > m_colorARGB
Definition CLayoutTabs.hpp:22