33#include <NDEVR/NDEVRWindow.h>
34#include <NDEVR/GettingStartedDialog.h>
35#include <NDEVR/QCustomDockWidget.h>
36#include <NDEVR/BaseValues.h>
50 class MainWindowPopupWidget :
public QWidget
63 QTimer* m_resize_timer;
The equivelent of std::vector but with a bit more control.
The default container for multiple Viewports in the NDEVR environment.
This dialog is shown front and center before the user has loaded any data or created a project In tou...
virtual void resizeEvent(QResizeEvent *event)
Handles resize events to reposition popup content after a debounce timer.
The primary Window within the NDEVR API.
MainWindow(QTModelManager *model_manager, QTWindowManager *window_manager, QWidget *parent=nullptr)
Constructs the main window with the given model and window managers.
virtual void keyReleaseEvent(QKeyEvent *event) override
Handles key release events for global keyboard shortcuts.
QSize minimumSizeHint() const override
Returns the minimum size hint for the main window.
void setPopupPosition()
Repositions the popup overlay widget to match the current window geometry.
ContainerWidget * m_container_widget
The central container widget that holds docked panes.
bool event(QEvent *event) override
Processes general Qt events for the main window.
NDEVRRibbon * ribbon()
Returns the main ribbon toolbar widget.
virtual void closeEvent(QCloseEvent *event) override
Handles the window close event, prompting to save if needed.
void updateModified()
Updates the window title to reflect the current document modification state.
void init(QTModelManager *model_manager, QTWindowManager *window_manager)
Initializes the main window layout, ribbon, camera pane, and home dock.
void addBottomWidget(QWidget *widget)
Adds a widget to the bottom bar of the main window.
~MainWindow()
Destroys the main window and releases owned resources.
DockWidget< GettingStartedDialog > * m_home
The home dock widget with the getting-started dialog.
DockWidget< CameraPane > * m_camera_pane
The camera pane dock widget for 3D viewport navigation.
NDEVRRibbon * m_ribbon
The main ribbon toolbar.
void resizeEvent(QResizeEvent *event) override
Handles resize events to update layout and popup positioning.
virtual void hideEvent(QHideEvent *event) override
Handles the hide event for the main window.
QTWindowManager * m_window_manager
The application window manager.
Buffer< Buffer< QPointer< FloatingWidget > > > m_reset_fullscreen_stack
Stack of fullscreen widget states saved during UI resets.
void removeBottomWidget(QWidget *widget)
Removes a widget from the bottom bar of the main window.
ContainerWidget * container()
Returns the central container widget that holds docked content.
void removeFromResetShow(UUID id)
Removes a widget identified by its UUID from the reset-show restoration list.
MainWindow(uint04 desktop_index, QTModelManager *model_manager, QTWindowManager *window_manager, QWidget *parent=nullptr)
Constructs the main window on a specific desktop monitor index.
DockWidget< CameraPane > * cameraPane()
Returns the camera pane dock widget.
QWidget * m_popup_widget
Overlay widget used for popup dialogs.
DockWidget< GettingStartedDialog > * home()
Returns the home dock widget containing the getting-started dialog.
void moveEvent(QMoveEvent *event) override
Handles move events to update popup positioning.
virtual void showEvent(QShowEvent *event) override
Handles the show event for the main window.
void beginReset()
Begins a UI reset, saving fullscreen state of floating widgets.
QTModelManager * m_model_manager
The application model manager.
void endReset()
Ends a UI reset, restoring previously saved fullscreen widget states.
The Ribbon that typically appears on the top of the window or, in touch mode, to the side of the wind...
NDEVRWindow(QWidget *parent=nullptr)
Constructs an NDEVRWindow.
A wrapper around DesignObjectLookup that provides signal and slot functionality and adds rendering ca...
Manages all windows and logic surrounding dialogs and views for displaying and managing a 3D environm...
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
The primary namespace for the NDEVR SDK.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...