SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
compacttoolbarcontroller.h
Go to the documentation of this file.
1#ifndef COMPACTTOOLBARCONTROLLER_H
2#define COMPACTTOOLBARCONTROLLER_H
3
19#include <QList>
20#include <QObject>
21#include <QString>
22
23class QMainWindow;
24class QTabBar;
25class QToolBar;
26
27namespace openswmmvis::ui {
28
29class CompactToolbarController : public QObject
30{
31 Q_OBJECT
32
33public:
34 explicit CompactToolbarController(QMainWindow *window);
35
39 void addTab(const QString &id, const QString &title,
40 const QList<QToolBar *> &toolbars, bool contextual = false);
41
47 void setOwnRow(QToolBar *bar);
48
51 void finalize();
52
53 void setTabVisible(const QString &id, bool visible);
54 void setCurrentTab(const QString &id);
55 QString currentTab() const;
56 bool isTabVisible(const QString &id) const;
57 QStringList tabIds() const;
58 QList<QToolBar *> toolbarsForTab(const QString &id) const;
59
61 QToolBar *stripToolBar() const { return mStrip; }
62
63signals:
64 void currentTabChanged(const QString &id);
65
66private:
67 int indexOf(const QString &id) const;
68 void applyVisibility();
69 void relayoutStrip();
70
71 struct Tab {
72 QString id;
73 QString title;
74 QList<QToolBar *> bars;
75 bool contextual = false;
76 };
77
78 QMainWindow *mWindow = nullptr;
79 QToolBar *mStrip = nullptr;
80 QTabBar *mTabBar = nullptr;
81 QList<Tab> mTabs;
82 QList<QToolBar *> mOwnRowBars;
83 bool mFinalized = false;
84};
85
86} // namespace openswmmvis::ui
87
88#endif // COMPACTTOOLBARCONTROLLER_H
Definition compacttoolbarcontroller.h:30
void finalize()
Definition compacttoolbarcontroller.cpp:76
void setOwnRow(QToolBar *bar)
Definition compacttoolbarcontroller.cpp:69
void setTabVisible(const QString &id, bool visible)
Definition compacttoolbarcontroller.cpp:135
bool isTabVisible(const QString &id) const
Definition compacttoolbarcontroller.cpp:177
QList< QToolBar * > toolbarsForTab(const QString &id) const
Definition compacttoolbarcontroller.cpp:192
QStringList tabIds() const
Definition compacttoolbarcontroller.cpp:183
QToolBar * stripToolBar() const
Definition compacttoolbarcontroller.h:61
void setCurrentTab(const QString &id)
Definition compacttoolbarcontroller.cpp:164
void addTab(const QString &id, const QString &title, const QList< QToolBar * > &toolbars, bool contextual=false)
Definition compacttoolbarcontroller.cpp:54
void currentTabChanged(const QString &id)
QString currentTab() const
Definition compacttoolbarcontroller.cpp:171
hid_t id
Definition mesh2dh5reader.cpp:29
Definition openswmmvislayer.h:43
const char * title
Definition snowpackeditordialog.cpp:71