OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
TabToolBar.h
Go to the documentation of this file.
1
4// ###########################################################################################################################################################################################################################################################################################################################
5
6#pragma once
7
8// OpenTwin header
10
11// Qt header
12#include <QtCore/qstring.h>
13
14// std header
15#include <list>
16#include <string>
17
18namespace tt { class TabToolbar; }
19
20namespace ot {
21
22 class MainWindow;
23 class TabToolBarPage;
24 class TabToolBarGroup;
25 class TabToolBarSubGroup;
26
29 public:
30 TabToolBar(MainWindow* _window = (MainWindow*)nullptr);
31 virtual ~TabToolBar();
32
33 virtual QToolBar* getToolBar(void) override;
34 virtual const QToolBar* getToolBar(void) const override;
35
36 // ###########################################################################################################################################################################################################################################################################################################################
37
38 // Element creation
39
43 TabToolBarPage* addPage(const std::string& _pageName, bool _returnExisting = false);
44
48 TabToolBarGroup* addGroup(const std::string& _pageName, const std::string& _groupName, bool _returnExisting = false);
49
53 TabToolBarSubGroup* addSubGroup(const std::string& _pageName, const std::string& _groupName, const std::string& _subGroupName, bool _returnExisting = false);
54
55 // ###########################################################################################################################################################################################################################################################################################################################
56
57 // Child management
58
61 void forgetPage(TabToolBarPage* _page);
62
63 TabToolBarPage* findPage(const std::string& _pageName);
64 const TabToolBarPage* findPage(const std::string& _pageName) const;
65 bool hasPage(const std::string& _pageName) const { return this->findPage(_pageName) != nullptr; };
66
67 TabToolBarGroup* findGroup(const std::string& _pageName, const std::string& _groupName);
68 const TabToolBarGroup* findGroup(const std::string& _pageName, const std::string& _groupName) const;
69 bool hasGroup(const std::string& _pageName, const std::string& _groupName) const { return this->findGroup(_pageName, _groupName) != nullptr; };
70
71 TabToolBarSubGroup* findSubGroup(const std::string& _pageName, const std::string& _groupName, const std::string& _subGroupName);
72 const TabToolBarSubGroup* findSubGroup(const std::string& _pageName, const std::string& _groupName, const std::string& _subGroupName) const;
73 bool hasSubGroup(const std::string& _pageName, const std::string& _groupName, const std::string& _subGroupName) const { return this->findSubGroup(_pageName, _groupName, _subGroupName) != nullptr; };
74
75 private:
76 tt::TabToolbar* m_toolBar;
77
78 std::list<TabToolBarPage*> m_pages;
79 };
80
81}
#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 AbstractToolBar.h:16
Definition MainWindow.h:17
Definition TabToolBarGroup.h:25
Definition TabToolBar.h:27
bool hasPage(const std::string &_pageName) const
Definition TabToolBar.h:65
bool hasGroup(const std::string &_pageName, const std::string &_groupName) const
Definition TabToolBar.h:69
bool hasSubGroup(const std::string &_pageName, const std::string &_groupName, const std::string &_subGroupName) const
Definition TabToolBar.h:73
Definition TabToolBarPage.h:27
Definition TabToolBarSubGroup.h:18
Definition Connector.h:8
Definition TabToolBar.h:18