33#include <NDEVR/NDEVRWindow.h>
34#include <NDEVR/GettingStartedDialog.h>
35#include <NDEVR/QCustomDockWidget.h>
36#include <NDEVR/BaseValues.h>
41 class QTWindowManager;
43 class GettingStartedDialog;
47 class MainWindowPopupWidget :
public QWidget
49 MainWindowPopupWidget(MainWindow* window);
50 virtual void resizeEvent(QResizeEvent* event);
52 QTimer* m_resize_timer;
54 class MainWindow :
public NDEVRWindow
57 MainWindow(QTModelManager* model_manager, QTWindowManager* window_manager, QWidget* parent =
nullptr);
58 MainWindow(uint04 desktop_index, QTModelManager* model_manager, QTWindowManager* window_manager, QWidget* parent =
nullptr);
60 void init(QTModelManager* model_manager, QTWindowManager* window_manager);
61 void resizeEvent(QResizeEvent *event)
override;
62 void moveEvent(QMoveEvent* event)
override;
63 bool event(QEvent* event)
override;
64 NDEVRRibbon* ribbon() {
return m_ribbon; };
65 DockWidget<GettingStartedDialog>* home() {
return m_home; };
66 DockWidget<CameraPane>* cameraPane() {
return m_camera_pane; }
67 ContainerWidget* container() {
return m_container_widget; };
68 void setPopupPosition();
69 virtual void keyReleaseEvent(QKeyEvent* event)
override;
70 virtual void closeEvent(QCloseEvent *event)
override;
71 virtual void hideEvent(QHideEvent* event)
override;
72 virtual void showEvent(QShowEvent* event)
override;
73 void addBottomWidget(QWidget* widget);
74 void removeBottomWidget(QWidget* widget);
76 void removeFromResetShow(UUID
id);
78 void updateModified();
79 QSize minimumSizeHint()
const override;
81 ContainerWidget* m_container_widget;
82 NDEVRRibbon* m_ribbon;
83 DockWidget<GettingStartedDialog>* m_home;
84 QTWindowManager* m_window_manager;
85 QTModelManager* m_model_manager;
86 DockWidget<CameraPane>* m_camera_pane;
87 Buffer<Buffer<QPointer<FloatingWidget>>> m_reset_fullscreen_stack;
88 QWidget* m_popup_widget;