34#include <NDEVR/DesignObjectDialog.h>
35#include <NDEVR/QCustomDockWidget.h>
36#include <NDEVR/PopupManager.h>
37#include <NDEVR/FileFormat.h>
41 class ContainerWidgetBase;
44 class AutoModelFileDialog;
45 class FileChooserDialog;
46 class AsciiModelFileDialog;
49 class InitialSetupDialog;
50 class LogManagerDialog;
264 virtual void exit(
bool relaunch =
false,
const String& relaunch_options =
"--relaunch");
381 QPointer<DockWidget<Keypad>> m_key_pad_dock =
nullptr;
Shows information about the current software version.
Definition AboutDialog.h:57
Default dialog shown when the user exports an ascii-or custom column style file.
Definition AsciiModelFileDialog.h:61
Dialog that allows user to choose import or export options while simultaniously automatically writing...
Definition AutoModelFileDialog.h:49
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
A popup dialog for showing options or information to the user for a particular DesignObject....
Definition DesignObjectDialog.h:75
A hash-based key-value store, useful for quick associative lookups. Key features include:
Definition Dictionary.h:61
Provides a way to optianally lazily initialize widgets when needed but still pass them to container d...
Definition WidgetInit.h:37
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Definition Pointer.hpp:320
A dialog designed to allow the user to navigate a filesytem and select or create one or more files or...
Definition FileChooserDialog.h:79
Logic for reading or writing to a file as well as navigating filesystems.
Definition File.h:48
Shown after a new installation on a device, allowing the user to familiarize themselves with the envi...
Definition InitialSetupDialog.h:23
A dialog which shows multiple log views, where each log is a tab.
Definition LogManagerDialog.h:15
Definition MemoryManager.h:261
A wrapper around DesignObjectLookup that provides signal and slot functionality and adds rendering ca...
Definition QTModelManager.h:105
The main Settings dialog for the application. Submenus can be added by the WindowManager or directly.
Definition SettingsDialog.h:62
The core String class for the NDEVR API.
Definition String.h:69
Stores a time span, or difference between two times, with an optional start time.
Definition TimeSpan.h:46
Manages all windows and logic surrounding dialogs and views for displaying and managing any environme...
Definition WindowManager.h:68
void updateFileDialog(const Buffer< UUID > &model, const Buffer< FileFormat > &formats, String extension, bool show_recents, bool save_dialog)
virtual LogManagerDialog * createLogView()
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 t...
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 addCustomDockWidget(DockInit *widget)
Adds a widget to be docked in the default location when a project has been loaded....
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 userDeleteObjects(const Buffer< UUID > &ids)
Called when the user deletes objects. If specified, will prompt if user is sure, and then deletes all...
virtual void setMainWindowCallback(const std::function< void(QWidget *)> &main_window_callback)
virtual FileChooserDialog * fileChooser()
Returns the default file chooser dialog used for user selection of files for import or export.
virtual void openUserFiles(const Buffer< FileRequest > &files, PopupInfo popup_origin=PopupInfo())
virtual void updateFromWindowOptions()
void initialSetupFinishedSlot()
virtual void exit(bool relaunch=false, const String &relaunch_options="--relaunch")
Saves user settings and exits the application, relaunching if requested.
virtual void requestExit(const PopupInfo &popup_origin=PopupInfo())
Prompts the user to confirm an exit and save changes if required. If confirmed, exit() will be called...
void userDataAdded(Buffer< UUID > object)
virtual void createNewProjectNow(bool show_settings, const PopupInfo &popup_origin)
virtual DockWidget< AsciiModelFileDialog > * asciiImporterWindow()
Returns the dialog adjusting used for adjust the import settings of a given ascii file request.
virtual void userOpenProject(PopupInfo popup_origin=PopupInfo())
Called when the user has requested to choose a project file to open. Will prompt user to select proje...
virtual DockWidget< AboutDialog > * aboutDialog()
Returns the about dialog, which details information about the application, and instruction manuals,...
virtual void userImportFile(PopupInfo popup_origin=PopupInfo())
Called when the user has requested to import a file. Will prompt user to select import a file,...
virtual void showImportDialogIfNeeded(const Buffer< FileRequest > &file, PopupInfo popup_origin)
virtual void clearAll()=0
Resets the entire display to original initial state, before a project was loaded.
bool m_is_exiting
Definition WindowManager.h:402
virtual DockWidget< SettingsDialog > * settingsDialog()
Returns the settings dialog for allowing the user to adjust application specific objects.
virtual void removeCustomDockWidget(DockInit *widget)
Removes a widget that was added with addCustomDockWidget. If widget is not present,...
std::function< void(QWidget *)> m_main_window_callback
Definition WindowManager.h:388
virtual DockWidget< AutoModelFileDialog > * importerWindow(const Buffer< FileRequest > &requests)
Returns the dialog adjusting the import settings of a given file request. File requests will be compl...
virtual InitialSetupDialog * initialSetupDialog()
virtual void requestExit(QCloseEvent *event, const PopupInfo &popup_origin=PopupInfo())
Prompts the user to confirm an exit and save changes if required. If confirmed, exit() will be called...
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 Wi...
virtual void importUserFiles(const Buffer< FileRequest > &files, PopupInfo popup_origin=PopupInfo())
Called when the user has requested to import and has selected a file. Will prompt the user for any ad...
virtual void hideSplashScreen(const TimeSpan &delay_time, const TimeSpan &fade_time)
virtual void closeAll(const PopupInfo &popup_origin=PopupInfo())
Prompts the user to save changes, if required, then closes everything returning to application initia...
void updateFileDialogToProject()
virtual void requestExitWithFunction(std::function< void()> exit_function, const PopupInfo &popup_origin=PopupInfo())
Prompts the user to confirm an exit and save changes if required. If confirmed, exit_function will be...
virtual DockWidget< AsciiModelFileDialog > * asciiImporterWindow(const Buffer< FileRequest > &requests)
void onNewProjectSignal()
Buffer< FactoryParameters, uint04, ObjectAllocator< false > > convertRequest(const Buffer< FileRequest, uint04, ObjectAllocator< false > > &requests)
virtual void showModelProperties(const ShowPropertiesSettings &settings)
Called when we want to show the dialog for editing a specific object using application default editin...
virtual void removeSettingsMenu(WidgetInit *menu)
virtual DropArea defaultDropArea(const QCustomDockWidget *dock_widget) const
virtual void saveImage(const String &image_id, const File &default_file, PopupInfo info)
virtual void removeInitialSetupSettingsMenu(WidgetInit *menu)
virtual AutoModelFileDialog * createAutoModelFileDialog(bool is_import)
virtual void addProjectFolderToRecents()
virtual void updateModified()=0
Called when application should check to see if the project has been modified since last save.
virtual void userImportFile(PopupInfo popup_origin, const Buffer< FileFormat > &formats)
Called when the user has requested to import a file. Will prompt user to select import a file,...
virtual AsciiModelFileDialog * createAsciiModelFileDialog(bool is_import)
virtual void showMainScreen()
Shows the main screen and puts it in front of any windows.
String m_export_image_id
Definition WindowManager.h:395
virtual SectionWidget * defaultDropReference(const QCustomDockWidget *dock_widget=nullptr) const
void lockScreenToWindowSize()
virtual DockWidget< AutoModelFileDialog > * importerWindow()
Returns the dialog adjusting used for adjust the import settings of a given file request.
virtual DockWidget< AsciiModelFileDialog > * asciiExporterWindow(Buffer< UUID > model, const Buffer< FileRequest > &file)
Dictionary< UUID, QPointer< DockWidget< DesignObjectDialog > > > m_editor_docks
Definition WindowManager.h:384
virtual void exportFile(ExportRequest request)
Called when the user exports. Will prompt user to select a location and format to save the file,...
virtual void addInitialSetupSettingsMenu(WidgetInit *menu, bool always_show=false)
WindowManager(QTModelManager *manager)
void simulateKeyPress(int key)
Buffer< std::tuple< WidgetInit *, bool > > m_initial_settings_dialogs
Definition WindowManager.h:383
virtual DockWidget< DesignObjectDialog > * setupDesignDock(const ShowPropertiesSettings &settings)
Buffer< DockInit * > m_custom_dock_widgets
Definition WindowManager.h:385
virtual DesignObjectDialog * createDesignObjectDialog(const DynamicPointer< QTDesignObject > &object, const ShowPropertiesSettings &settings)
Buffer< std::tuple< WidgetInit *, std::function< void()> > > m_settings_dialogs
Definition WindowManager.h:382
virtual SettingsDialog * createSettingsDialog()
virtual DockWidget< AutoModelFileDialog > * exporterWindow(Buffer< UUID > model, const Buffer< FileRequest > &file)
Returns the dialog adjusting the export settings of a given file request. File requests will be compl...
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. Will prompt the user for ...
virtual void recoverLastData()
Definition WindowManager.h:351
virtual AboutDialog * createAboutDialog()
virtual FileChooserDialog * createFileChooserDialog()
virtual DockWidget< LogManagerDialog > * logView()
Returns the dialog for viewing all application logs related to the session and project.
virtual void onNewProjectSelected(const PopupInfo &popup_origin=PopupInfo())
Creates a new project and shows any relevant information based on WindowOptions.
virtual QWidget * mainWindow() const =0
Returns the primary window for the application.
virtual void setupExporterWindow(AutoModelFileDialog *window, Buffer< UUID > model, const Buffer< FileRequest, uint04, ObjectAllocator< false > > &file)
DropArea
relates where a widget should be dropped relative to another.
Definition RibbonArea.h:46
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
Stores information related to exporting specific data from the software.
Definition ExportRequest.h:10
A FileRequest bundles format data as well as a particular file.
Definition FileFormat.h:75
Stores settings for setting up and displaying a DesignObjectDialog such as whether the dialog is part...
Definition ShowPropertySettings.h:25