1 #ifndef FloatingDockContainerH
2 #define FloatingDockContainerH
34 #include <QRubberBand>
37 #include <QDockWidget>
38 #define tFloatingWidgetBase QDockWidget
41 #define tFloatingWidgetBase QWidget
44 class CDockingStateReader;
48 struct FloatingDockContainerPrivate;
50 struct DockManagerPrivate;
51 class CDockAreaWidget;
52 class CDockContainerWidget;
55 class CDockAreaTabBar;
57 struct DockWidgetTabPrivate;
58 class CDockAreaTitleBar;
59 struct DockAreaTitleBarPrivate;
60 class CFloatingWidgetTitleBar;
61 class CDockingStateReader;
78 virtual void startFloating(
const QPoint& DragStartMousePos,
const QSize& Size,
79 eDragState DragState, QWidget* MouseEventHandler) = 0;
122 void onDockAreasAddedOrRemoved();
123 void onDockAreaCurrentChanged(
int Index);
131 virtual void startFloating(
const QPoint& DragStartMousePos,
const QSize& Size,
132 eDragState DragState, QWidget* MouseEventHandler)
override;
138 QWidget* MouseEventHandler)
147 virtual void finishDragging()
override;
162 void moveFloating()
override;
175 void updateWindowTitle();
178 virtual void changeEvent(QEvent *event)
override;
179 virtual void closeEvent(QCloseEvent *event)
override;
180 virtual void hideEvent(QHideEvent *event)
override;
181 virtual void showEvent(QShowEvent *event)
override;
184 virtual bool event(QEvent *e)
override;
185 virtual void moveEvent(QMoveEvent *event)
override;
189 virtual void moveEvent(QMoveEvent *event)
override;
190 virtual void resizeEvent(QResizeEvent *event)
override;
197 virtual bool nativeEvent(
const QByteArray &eventType,
void *message,
long *result)
override;
233 bool isClosable()
const;
241 bool hasTopLevelDockWidget()
const;
262 void onMaximizeRequest();
270 void showNormal(
bool fixGeometry=
false);
275 void showMaximized();
280 bool isMaximized()
const;
291 bool hasNativeTitleBar();
298 #endif // FloatingDockContainerH