6 #ifndef SWIFT_GUI_INFOAREA_H
7 #define SWIFT_GUI_INFOAREA_H
11 #include <QMainWindow>
36 class CDockWidgetInfoArea;
49 void addToContextMenu(QMenu *menu)
const;
61 int getSelectedDockInfoAreaIndex()
const;
64 QList<const CDockWidgetInfoArea *> getDockWidgetInfoAreas()
const;
70 QList<QAction *> getInfoAreaSelectActions(
bool withShortcut, QWidget *parent)
const;
75 QList<QAction *> getInfoAreaToggleFloatingActions(QWidget *parent)
const;
80 QList<QAction *> getInfoAreaRestoreActions(QWidget *parent)
const;
85 QList<QAction *> getInfoAreaResetPositionActions(QWidget *parent)
const;
88 QList<int> getAreaIndexesDockedOrFloating(
bool floating)
const;
91 void dockAllWidgets();
94 void adjustSizeForAllDockWidgets();
97 void floatAllWidgets();
100 void allFloatingOnTop();
103 void resetAllFloatingWidgetSettings();
106 void resetAllWidgetSettings();
109 virtual void toggleFloatingWholeInfoArea();
112 void toggleFloatingByIndex(
int areaIndex);
115 void toggleVisibility(
int areaIndex);
118 void selectArea(
int areaIndex);
121 void resetPosition(
int areaIndex);
127 void selectAreaByAction();
130 void resetPositionByAction();
133 void toggleAreaFloatingByAction();
136 void restoreDockWidgetInfoArea();
139 void restoreDockWidgetInfoAreaByIndex(
int areaIndex);
142 void selectLeftTab();
145 void selectRightTab();
165 explicit CInfoArea(QWidget *parent =
nullptr);
168 virtual void closeEvent(QCloseEvent *event)
override;
171 virtual void paintEvent(QPaintEvent *event)
override;
175 virtual void keyPressEvent(QKeyEvent *event)
override;
188 void setTabBarPosition(QTabWidget::TabPosition position);
191 void toggleTabBarLocked(
bool locked);
194 QList<CDockWidgetInfoArea *> m_dockWidgetInfoAreas;
195 QList<CInfoArea *> m_childInfoAreas;
196 QTabBar *m_tabBar =
nullptr;
197 bool m_showTabTexts =
true;
198 bool m_infoAreaFloating =
false;
199 bool m_showTabBar =
true;
200 bool m_lockTabBar =
false;
203 void toggleTabBarPosition();
206 void tabifyAllWidgets();
209 void unTabifyAllWidgets();
212 bool isValidAreaIndex(
int areaIndex)
const;
215 int getAreaIndexByWindowTitle(
const QString &title)
const;
218 int getTabBarIndexByTitle(
const QString &title)
const;
230 void setFeaturesForDockableWidgets(QDockWidget::DockWidgetFeatures features);
233 int countDockedWidgetInfoAreas()
const;
236 void setTabPixmaps();
239 void connectTopLevelChanged();
242 void onTabBarDoubleClicked(
int tabBarIndex);
245 void onWidgetTopLevelChanged(
CDockWidget *dockWidget,
bool topLevel);
248 void onStyleSheetChanged();
251 void showContextMenu(
const QPoint &pos);
254 void showTabTexts(
bool show);
257 void showTabBar(
bool show);
260 void setDockArea(Qt::DockWidgetArea area);
263 void setWholeInfoAreaFloating(
bool floating);
266 void emitInfoAreaStatus();
269 void onTabBarIndexChanged(
int tabBarIndex);
274 QList<CInfoArea *> findOwnChildInfoAreas()
const;
278 QList<CDockWidgetInfoArea *> findOwnDockWidgetInfoAreas()
const;
Main window which can be frameless.
Info area, hosting dockable widgets.
void changedInfoAreaStatus(int currentTabIndex, QList< int > dockedAreas, QList< int > floatingAreas)
Status of info area changed.
void changedInfoAreaTabBarIndex(int index)
Tab bar changed.
virtual QSize getPreferredSizeWhenFloating(int areaIndex) const =0
Preferred size when floating (size hint)
void changedWholeInfoAreaFloating(bool floating)
Whole info area floating.
bool isFloating() const
Is the area floating?
virtual const QPixmap & indexToPixmap(int areaIndex) const =0
Info area (index) to icon.
Streamable status message, e.g.
Status messages, e.g. from Core -> GUI.
#define SWIFT_GUI_EXPORT
Export a class or function from the library.