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;
50 class MainWindowPopupWidget :
public QWidget
52 MainWindowPopupWidget(MainWindow* window);
53 virtual void resizeEvent(QResizeEvent* event);
55 QTimer* m_resize_timer;
60 class MainWindow :
public NDEVRWindow
63 MainWindow(QTModelManager* model_manager, QTWindowManager* window_manager, QWidget* parent =
nullptr);
64 MainWindow(uint04 desktop_index, QTModelManager* model_manager, QTWindowManager* window_manager, QWidget* parent =
nullptr);
66 void init(QTModelManager* model_manager, QTWindowManager* window_manager);
67 void resizeEvent(QResizeEvent *event)
override;
68 void moveEvent(QMoveEvent* event)
override;
69 bool event(QEvent* event)
override;
70 NDEVRRibbon* ribbon() {
return m_ribbon; };
71 DockWidget<GettingStartedDialog>* home() {
return m_home; };
72 DockWidget<CameraPane>* cameraPane() {
return m_camera_pane; }
73 ContainerWidget* container() {
return m_container_widget; };
74 void setPopupPosition();
75 virtual void keyReleaseEvent(QKeyEvent* event)
override;
76 virtual void closeEvent(QCloseEvent *event)
override;
77 virtual void hideEvent(QHideEvent* event)
override;
78 virtual void showEvent(QShowEvent* event)
override;
79 void addBottomWidget(QWidget* widget);
80 void removeBottomWidget(QWidget* widget);
82 void removeFromResetShow(UUID
id);
84 void updateModified();
85 QSize minimumSizeHint()
const override;
87 ContainerWidget* m_container_widget;
88 NDEVRRibbon* m_ribbon;
89 DockWidget<GettingStartedDialog>* m_home;
90 QTWindowManager* m_window_manager;
91 QTModelManager* m_model_manager;
92 DockWidget<CameraPane>* m_camera_pane;
93 Buffer<Buffer<QPointer<FloatingWidget>>> m_reset_fullscreen_stack;
94 QWidget* m_popup_widget;