OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
TabToolBarPage.h
Go to the documentation of this file.
1
4// ###########################################################################################################################################################################################################################################################################################################################
5
6#pragma once
7
8// OpenTwin header
11
12// Qt header
13#include <QtCore/qstring.h>
14
15// std header
16#include <list>
17#include <string>
18
19namespace tt { class Page; }
20
21namespace ot {
22
23 class TabToolBar;
24 class TabToolBarGroup;
25 class TabToolBarSubGroup;
26
30 public:
31 TabToolBarPage(TabToolBar* _parentTabToolBar, tt::Page* _page, const std::string& _name);
32 virtual ~TabToolBarPage();
33
34 const std::string& getName(void) const { return m_name; };
35
36 void setParentTabToolBar(TabToolBar* _parentTabToolBar) { m_parentTabToolBar = _parentTabToolBar; };
37 TabToolBar* getParentTabToolBar(void) { return m_parentTabToolBar; };
38 const TabToolBar* getParentTabToolBar(void) const { return m_parentTabToolBar; };
39
40 // ###########################################################################################################################################################################################################################################################################################################################
41
42 // Element creation
43
47 TabToolBarGroup* addGroup(const std::string& _groupName, bool _returnExisting = false);
48
52 TabToolBarSubGroup* addSubGroup(const std::string& _groupName, const std::string& _subGroupName, bool _returnExisting = false);
53
54 // ###########################################################################################################################################################################################################################################################################################################################
55
56 // Child management
57
60 void forgetGroup(TabToolBarGroup* _group);
61
62 TabToolBarGroup* findGroup(const std::string& _groupName);
63 const TabToolBarGroup* findGroup(const std::string& _groupName) const;
64 bool hasGroup(const std::string& _groupName) const { return this->findGroup(_groupName) != nullptr; };
65
66 TabToolBarSubGroup* findSubGroup(const std::string& _groupName, const std::string& _subGroupName);
67 const TabToolBarSubGroup* findSubGroup(const std::string& _groupName, const std::string& _subGroupName) const;
68 bool hasSubGroup(const std::string& _groupName, const std::string& _subGroupName) const { return this->findSubGroup(_groupName, _subGroupName) != nullptr; };
69
70 private:
71 std::string m_name;
72 tt::Page* m_page;
73
74 TabToolBar* m_parentTabToolBar;
75 std::list<TabToolBarGroup*> m_groups;
76 };
77
78}
This file contains defines that may be used simplyfy class creation.
#define OT_DECL_NODEFAULT(___class)
Removes the default copy constructor and assignment operator.
Definition OTClassHelper.h:22
#define OT_DECL_NOCOPY(___class)
Removes the default copy constructor and assignment operator.
Definition OTClassHelper.h:14
#define OT_WIDGETS_API_EXPORT
Definition OTWidgetsAPIExport.h:12
Definition TabToolBarGroup.h:25
Definition TabToolBar.h:27
Definition TabToolBarPage.h:27
bool hasGroup(const std::string &_groupName) const
Definition TabToolBarPage.h:64
const TabToolBar * getParentTabToolBar(void) const
Definition TabToolBarPage.h:38
void setParentTabToolBar(TabToolBar *_parentTabToolBar)
Definition TabToolBarPage.h:36
TabToolBar * getParentTabToolBar(void)
Definition TabToolBarPage.h:37
bool hasSubGroup(const std::string &_groupName, const std::string &_subGroupName) const
Definition TabToolBarPage.h:68
const std::string & getName(void) const
Definition TabToolBarPage.h:34
Definition TabToolBarSubGroup.h:18
Definition Connector.h:8
Definition TabToolBar.h:18