Manages all windows and logic surrounding dialogs and views for displaying and managing a 3D environment.
More...
|
| | QTWindowManager (QTModelManager *manager, const Buffer< String > &args=Buffer< String >()) |
| | Constructs a 3D window manager with the given model manager and command-line arguments.
|
| virtual void | addCustomDockWidget (DockInit *widget) override |
| | Adds a widget to be docked in the default location when a project has been loaded.
|
| virtual void | addWindow (MainWindow *window) |
| | Adds an existing main window to the manager.
|
| const Buffer< String > & | args () const |
| | Returns the command-line arguments passed at construction.
|
| virtual bool | autoCreateWindows () |
| | Checks whether camera viewport windows are automatically created.
|
| virtual DockWidget< CameraPane > * | cameraPane () const |
| | Returns the camera pane dock widget.
|
| void | cameraSwapSlot (UUID camera) |
| | Slot invoked to swap a camera view to the primary viewport position.
|
| DockWidget< CameraView > * | cameraView (const UUID &camera) const |
| | Returns the camera view dock widget for a specific camera.
|
| Buffer< QPointer< DockWidget< CameraView > > > | cameraViews () const |
| | Returns all camera view dock widgets.
|
| virtual void | closeWindow (MainWindow *window, QCloseEvent *event) |
| | Closes a specific main window, handling the close event.
|
| virtual ContainerWidget * | container () const override |
| | Returns the primary container widget for adding new docks.
|
| virtual MainWindow * | createWindow (uint04 monitor_number) |
| | Creates a new main window on the specified monitor.
|
| template<class t_dock_type> |
| DockWidget< t_dock_type > * | customDock () const |
| | Searches custom dock widgets for one matching the given type.
|
| virtual DockWidget< DownloadDatasetWidget > * | downloadWidget () |
| | Returns the dataset download widget dock.
|
| virtual DockWidget< DrawCommandsWidget > * | drawEditor () |
| | Returns the draw commands editor dock widget.
|
| virtual void | exit (bool relaunch=false, const StringView &relaunch_options="--relaunch") override |
| | Saves user settings and exits the application, relaunching if requested.
|
|
void | finishInitialSetup () |
| | Completes the initial setup process and transitions to the main application state.
|
| virtual DockWidget< GettingStartedDialog > * | home () const |
| | Returns the getting started / home dialog dock widget.
|
| virtual bool | isClosing () const |
| | Checks whether the application is currently closing.
|
| virtual DockWidget< LibraryWidget > * | libraryEditor () |
| | Returns the library widget dock for asset browsing.
|
| virtual QWidget * | mainWindow () const override |
| | Returns the primary window for the application.
|
| virtual String | mainWindowPreferedName () const |
| | Returns the preferred name for the main window title.
|
| virtual DockWidget< MeasurementCommandsWidget > * | measureEditor () |
| | Returns the measurement commands editor dock widget.
|
| virtual DockWidget< ModelCommandsWidget > * | modelEditor () |
| | Returns the model commands editor dock widget.
|
| virtual void | onViewportSelection (UUID id) |
| | Handles a viewport selection event for the given object.
|
|
void | refreshCameraSwap () |
| | Slot that refreshes the camera swap state.
|
| virtual void | requestExitWithFunction (std::function< void()> exit_function, const PopupInfo &popup_origin=PopupInfo()) override |
| | Prompts the user to confirm an exit and save changes if required.
|
| virtual NDEVRRibbon * | ribbon () const |
| | Returns the primary ribbon widget.
|
| virtual DockWidget< SceneTreeWidget > * | sceneTree () const |
| | Returns the scene tree dock widget.
|
| virtual DockWidget< SelectionWidget > * | selectionWidget () |
| | Returns the selection properties dock widget.
|
| virtual void | setAutoCreateCameras (bool autocreate) |
| | Sets whether camera viewport windows are automatically created for new cameras.
|
|
void | setupRemoteWidgetsSlot () |
| | Slot that sets up remote widgets based on the current configuration.
|
|
void | setupSelectionWidget () |
| | Slot that initializes or refreshes the selection widget.
|
| virtual void | showModelProperties (const ShowPropertiesSettings &settings) override |
| | Called when we want to show the dialog for editing a specific object using application default editing dialogs.
|
| virtual void | updateModified () override |
| | Called when application should check to see if the project has been modified since last save.
|
| virtual void | userZoomToModel (const UUID &id) |
| | Zooms the dialog to an object, and if required, shows a viewport if none are visible.
|
| virtual Toolbar * | verticalModeToolbar () |
| | Returns the vertical mode toolbar.
|
| virtual MainWindow * | window (uint04 index) const |
| | Returns the main window at the given index.
|
| virtual uint04 | windowCount () const |
| | Returns the number of managed main windows.
|
| | WindowManager (QTModelManager *manager) |
| | Constructs a WindowManager with the given model manager.
|
| virtual DockWidget< AboutDialog > * | aboutDialog () |
| | Returns the about dialog, which details information about the application, and instruction manuals, if available.
|
| virtual void | addInitialSetupSettingsMenu (WidgetInit *menu, bool always_show=false) |
| | Adds a menu to the initial setup dialog shown on first launch.
|
| virtual void | addSettingsMenu (WidgetInit *menu, std::function< void()> reset_to_defaults) |
| | Adds a dialog to the logic such that, should a settings dialog be created, the dialog will be added to the menu.
|
| virtual DockWidget< AsciiModelFileDialog > * | asciiExporterWindow (Buffer< UUID > model, const Buffer< FileRequest > &file) |
| | Returns the ASCII exporter dialog configured for the given model and file requests.
|
| virtual DockWidget< AsciiModelFileDialog > * | asciiImporterWindow () |
| | Returns the dialog adjusting used for adjust the import settings of a given ascii file request.
|
| virtual DockWidget< AsciiModelFileDialog > * | asciiImporterWindow (const Buffer< FileRequest > &requests) |
| | Returns the ASCII importer dialog configured for the given file requests.
|
| virtual void | closeAll (const PopupInfo &popup_origin=PopupInfo()) |
| | Prompts the user to save changes, if required, then closes everything returning to application initial state with no project loaded.
|
| void | createNewProject (bool show_settings, const PopupInfo &popup_origin=PopupInfo()) |
| | Creates a new project and shows any relevant information based on show_settings parameter.
|
| virtual void | createNewProjectNow (bool show_settings, const PopupInfo &popup_origin=PopupInfo()) |
| | Creates a new project immediately without prompting to save.
|
| virtual DockWidget< AutoModelFileDialog > * | exporterWindow (Buffer< UUID > model, const Buffer< FileRequest > &file) |
| | Returns the dialog adjusting the export settings of a given file request.
|
| virtual void | exportFile (ExportRequest request) |
| | Called when the user exports.
|
| virtual void | exportFiles (Buffer< UUID > model, const Buffer< FileRequest > &files, const PopupInfo &popup_origin) |
| | Called when the user has selected a file format and default data to export.
|
| virtual FileChooserDialog * | fileChooser () |
| | Returns the default file chooser dialog used for user selection of files for import or export.
|
| virtual DockWidget< AutoModelFileDialog > * | importerWindow () |
| | Returns the dialog adjusting used for adjust the import settings of a given file request.
|
| virtual DockWidget< AutoModelFileDialog > * | importerWindow (const Buffer< FileRequest > &requests) |
| | Returns the dialog adjusting the import settings of a given file request.
|
| virtual void | importUserFiles (const Buffer< FileRequest > &files, PopupInfo popup_origin=PopupInfo()) |
| | Called when the user has requested to import and has selected a file.
|
|
void | initialSetupFinishedSignal () |
| | Signal emitted when the initial setup process has completed.
|
|
void | initKeypad () |
| | Initializes the on-screen keypad for touch input.
|
| virtual DockWidget< LogManagerDialog > * | logView () |
| | Returns the dialog for viewing all application logs related to the session and project.
|
| virtual void | onNewProjectSelected (bool show_settings, const PopupInfo &popup_origin=PopupInfo()) |
| | Creates a new project and shows any relevant information based on show_settings parameter.
|
| virtual void | onNewProjectSelected (const PopupInfo &popup_origin=PopupInfo()) |
| | Creates a new project and shows any relevant information based on WindowOptions.
|
|
void | onNewProjectSignal () |
| | Signal emitted when a new project is created.
|
| virtual void | openUserFiles (const Buffer< FileRequest > &files, PopupInfo popup_origin=PopupInfo()) |
| | Opens user-selected files as new projects or adds them to the current project.
|
| virtual void | removeCustomDockWidget (DockInit *widget) |
| | Removes a widget that was added with addCustomDockWidget.
|
| virtual void | removeInitialSetupSettingsMenu (WidgetInit *menu) |
| | Removes a previously added initial setup settings menu.
|
| virtual void | removeSettingsMenu (WidgetInit *menu) |
| | Removes a previously added settings menu from the settings dialog.
|
| virtual void | requestExit (const PopupInfo &popup_origin=PopupInfo()) |
| | Prompts the user to confirm an exit and save changes if required.
|
| virtual void | requestExit (QCloseEvent *event, const PopupInfo &popup_origin=PopupInfo()) |
| | Prompts the user to confirm an exit and save changes if required.
|
| virtual void | saveImage (const StringView &image_id, const File &default_file, PopupInfo info) |
| | Prompts the user to save an image to a file location.
|
| virtual void | saveProjectAs (const PopupInfo &popup_origin=PopupInfo()) |
| | Called when the user has selected the project to save and we want to allow them to rename the file Will prompt the user for any additional export settings, if required, then export data.
|
| virtual void | setMainWindowCallback (const std::function< void(QWidget *)> &main_window_callback) |
| | Sets a callback invoked when the main window is created or changed.
|
| virtual DockWidget< SettingsDialog > * | settingsDialog () |
| | Returns the settings dialog for allowing the user to adjust application specific objects.
|
| virtual void | showImportDialogIfNeeded (const Buffer< FileRequest > &file, PopupInfo popup_origin=PopupInfo()) |
| | Shows the import settings dialog if additional configuration is needed for the file requests.
|
|
virtual void | showMainScreen () |
| | Shows the main screen and puts it in front of any windows.
|
| void | simulateKeyPress (int key) |
| | Simulates a key press event as if the user pressed a key on the keyboard.
|
| void | userDataAdded (Buffer< UUID > object) |
| | Signal emitted when user data has been added to the project.
|
| virtual void | userDeleteObjects (const Buffer< UUID > &ids, PopupInfo info) |
| | Called when the user deletes objects.
|
| virtual void | userImportFile (PopupInfo popup_origin, const Buffer< FileFormat > &formats) |
| | Called when the user has requested to import a file.
|
| virtual void | userImportFile (PopupInfo popup_origin=PopupInfo()) |
| | Called when the user has requested to import a file.
|
| virtual void | userOpenProject (PopupInfo popup_origin=PopupInfo()) |
| | Called when the user has requested to choose a project file to open.
|
|
| void | addUserData (Buffer< UUID > object) |
| | Slot invoked when user data has been added to the project.
|
|
virtual void | clearAll () override |
| | Resets the entire display to the initial state with no project loaded.
|
| virtual void | closeWindow (uint04 index, QCloseEvent *event) |
| | Closes the main window at the given index, handling the close event.
|
| virtual DownloadDatasetWidget * | createDownloadDatabaseWidget () |
| | Creates a new download dataset widget.
|
| virtual GettingStartedDialog * | createGettingStartedDialog () const |
| | Creates a new getting started dialog for the home screen.
|
| virtual LibraryWidget * | createLibraryWidget () const |
| | Creates a new library widget for asset browsing.
|
| virtual LogManagerDialog * | createLogView () override |
| | Creates and returns a new LogManagerDialog instance.
|
| virtual MainWindow * | createMainWindow (uint04 monitor_number) |
| | Creates a new main window on the specified monitor.
|
| virtual SceneTreeWidget * | createSceneTree () const |
| | Creates a new scene tree widget.
|
| virtual SelectionWidget * | createSelectionWidget () const |
| | Creates a new selection widget for displaying selected object properties.
|
| virtual DropArea | defaultDropArea (const QCustomDockWidget *dock_widget) const override |
| | Returns the default drop area for a dock widget.
|
| virtual SectionWidget * | defaultDropReference (const QCustomDockWidget *dock_widget=nullptr) const override |
| | Returns the default section widget to drop relative to.
|
| virtual RibbonArea | defaultRibbonArea (const QCustomDockWidget *dock_widget) override |
| | Returns the default ribbon area for a dock widget.
|
| void | designObjectAdded (Buffer< UUID > object) |
| | Slot invoked when design objects have been added to the project.
|
| bool | eventFilter (QObject *Object, QEvent *Event) override |
| | Filters events for managed objects.
|
|
void | hideCurrentSelectionEditorDialog () |
| | Hides the currently displayed selection editor dialog.
|
| virtual QCustomDockWidget * | largestCameraView (bool check_visible=true) const |
| | Returns the largest camera view dock widget, optionally filtering by visibility.
|
|
void | layoutAll () override |
| | Performs a full layout pass, arranging all dock widgets and panels.
|
| void | onCameraAdd (UUID camera) |
| | Slot invoked when a new camera is added.
|
| void | onCameraDelete (UUID camera) |
| | Slot invoked when a camera is deleted.
|
| void | onCameraLayoutUpdated (Buffer< QPointer< DockWidget< CameraView > > > &removed_views) |
| | Handles a camera layout update, cleaning up removed views.
|
|
void | onClearSlot () |
| | Slot invoked when the project is cleared.
|
| void | onDesignObjectDelete (Buffer< UUID > object) |
| | Slot invoked when design objects are being deleted.
|
| virtual void | readArg (const StringView &arg, const StringView &data) |
| | Processes a single command-line argument and its associated data.
|
| virtual void | readArgs (const Buffer< String > &args) |
| | Parses and applies the command-line arguments.
|
|
virtual void | recoverLastData () override |
| | Attempts to recover data from the last session if it was not properly saved.
|
|
virtual void | setupCameraPanels () |
| | Sets up the camera panels based on the current viewport layout.
|
|
void | setupLogs () |
| | Sets up log stream connections to the status bar and log dock.
|
| virtual void | setupRibbons (bool setup_all) |
| | Sets up the ribbon toolbars.
|
|
virtual void | setupViews () |
| | Sets up the initial viewport views and camera panels.
|
| void | swapCameras (DockWidget< CameraView > *camera_a, DockWidget< CameraView > *camera_b) |
| | Swaps the positions of two camera view dock widgets.
|
|
void | updateProjectSlot () |
| | Slot invoked to update the display when the project changes.
|
| virtual void | updateRemoteWidgets (const Buffer< QPointer< QWidget > > &widgets, bool are_remote) |
| | Updates the remote widget display, toggling between embedded and remote modes.
|
|
virtual void | addProjectFolderToRecents () |
| | Adds the current project folder to the recent directories list.
|
| FactoryParameterBuffer | convertRequest (const Buffer< FileRequest > &requests) |
| | Converts file requests into a FactoryParameterBuffer for IO processing.
|
| virtual AboutDialog * | createAboutDialog () |
| | Creates and returns a new AboutDialog instance.
|
| virtual AsciiModelFileDialog * | createAsciiModelFileDialog (bool is_import) |
| | Creates and returns a new AsciiModelFileDialog for import or export.
|
| virtual AutoModelFileDialog * | createAutoModelFileDialog (bool is_import) |
| | Creates and returns a new AutoModelFileDialog for import or export.
|
| virtual FileChooserDialog * | createFileChooserDialog () |
| | Creates and returns a new FileChooserDialog instance.
|
| virtual SettingsDialog * | createSettingsDialog () |
| | Creates and returns a new SettingsDialog instance.
|
| virtual void | hideSplashScreen (const TimeSpan &delay_time, const TimeSpan &fade_time) |
| | Hides the splash screen with the specified delay and fade animation.
|
| virtual InitialSetupDialog * | initialSetupDialog () |
| | Returns or creates the initial setup dialog.
|
|
void | initialSetupFinishedSlot () |
| | Slot invoked when the initial setup process has completed.
|
|
void | lockScreenToWindowSize () |
| | Locks the screen resolution to match the current window size.
|
| virtual void | setupExporterWindow (AutoModelFileDialog *window, Buffer< UUID > model, const Buffer< FileRequest > &file) |
| | Configures an exporter window with the given model objects and file requests.
|
| void | updateFileDialog (const Buffer< UUID > &model, const Buffer< FileFormat > &formats, StringView extension, bool show_recents, bool save_dialog) |
| | Updates the file chooser dialog with format filters and options.
|
|
void | updateFileDialogToProject () |
| | Updates the file dialog to default to the current project directory.
|
|
virtual void | updateFromWindowOptions () |
| | Updates the window layout and behavior based on the current WindowOptions.
|
|
|
Buffer< QPointer< QWidget > > | m_active_screen_widgets |
| | Widgets displayed on the active screen.
|
|
CustomDockButton * | m_add_camera_button = nullptr |
| | Button for adding new camera viewports.
|
|
Buffer< String > | m_args |
| | Command-line arguments passed at construction.
|
|
bool | m_auto_create_camera_windows |
| | Whether to auto-create camera viewport windows.
|
|
DockWidget< DownloadDatasetWidget > * | m_download_widget = nullptr |
| | The dataset download dock.
|
|
DockWidget< DrawCommandsWidget > * | m_draw_editor_dock = nullptr |
| | The draw commands editor dock.
|
|
bool | m_has_model_content |
| | Whether the project contains model content.
|
|
Buffer< QPointer< QWidget > > | m_inactive_screen_widgets |
| | Widgets on inactive screens.
|
|
DockWidget< LibraryWidget > * | m_library_dock = nullptr |
| | The asset library dock.
|
|
Buffer< MainWindow * > | m_main_windows |
| | All managed main windows.
|
|
QPointer< DockWidget< MeasurementCommandsWidget > > | m_measure_editor_dock = nullptr |
| | The measurement commands editor dock.
|
|
QPointer< DockWidget< ModelCommandsWidget > > | m_model_edit_dock = nullptr |
| | The model commands editor dock.
|
|
DockWidget< ReportGeneratorDialog > * | m_report_generator = nullptr |
| | The report generator dock widget.
|
|
DockWidget< SceneTreeWidget > * | m_scene_tree_dock = nullptr |
| | The scene tree dock widget.
|
|
UUID | m_selected_editor_id = Constant<UUID>::Invalid |
| | The UUID of the currently selected editor target.
|
|
DockWidget< SelectionWidget > * | m_selection_dock = nullptr |
| | The selection properties dock widget.
|
|
StatusBar * | m_status_bar = nullptr |
| | The status bar widget.
|
|
Toolbar * | m_vertical_mode_toolbar = nullptr |
| | The vertical mode toolbar.
|
|
DockWidget< AboutDialog > * | m_about_dock = nullptr |
| | The about dialog dock.
|
|
DockWidget< AsciiModelFileDialog > * | m_ascii_export_dock = nullptr |
| | The ASCII export file dialog dock.
|
|
DockWidget< AsciiModelFileDialog > * | m_ascii_import_dock = nullptr |
| | The ASCII import file dialog dock.
|
|
Buffer< DockInit * > | m_custom_dock_widgets |
| | Custom dock widgets registered by modules.
|
|
DesignObjectDialogLookup * | m_dialog_lookup |
| | Lookup table for design object editing dialogs.
|
|
Dictionary< UUID, QPointer< DockWidget< DesignObjectDialog > > > | m_editor_docks |
| | Map of object UUIDs to their editor dock widgets.
|
|
DockWidget< AutoModelFileDialog > * | m_export_dock = nullptr |
| | The export file dialog dock.
|
|
String | m_export_image_id |
| | The identifier of the image being exported.
|
|
FileChooserDialog * | m_file_chooser = nullptr |
| | The main file chooser dialog.
|
|
bool | m_has_setup_keypad = false |
| | Whether the on-screen keypad has been initialized.
|
|
FileChooserDialog * | m_image_export = nullptr |
| | File chooser dialog for image export.
|
|
DockWidget< AutoModelFileDialog > * | m_import_dock = nullptr |
| | The import file dialog dock.
|
|
Buffer< std::tuple< WidgetInit *, bool > > | m_initial_settings_dialogs |
| | Registered initial setup menus and their always-show flags.
|
|
InitialSetupDialog * | m_initial_setup_dialog = nullptr |
| | The initial setup dialog instance.
|
|
bool | m_is_exiting = false |
| | Whether the application is in the process of exiting.
|
|
QPointer< DockWidget< Keypad > > | m_key_pad_dock = nullptr |
| | The docked keypad widget for touch input.
|
|
DockWidget< LogManagerDialog > * | m_log_dock = nullptr |
| | The log manager dialog dock.
|
|
std::function< void(QWidget *)> | m_main_window_callback |
| | Callback invoked when the main window is created.
|
|
QTModelManager * | m_model_manager = nullptr |
| | The model manager providing project data.
|
|
Buffer< std::tuple< WidgetInit *, std::function< void()> > > | m_settings_dialogs |
| | Registered settings menus and their reset callbacks.
|
|
DockWidget< SettingsDialog > * | m_settings_dock = nullptr |
| | The settings dialog dock.
|