NDEVR
API Documentation
WidgetInitialization.h
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/NDEVRApplication.h>
4#include <NDEVR/String.h>
5#include <functional>
6namespace NDEVR
7{
8 class String;
9 class QTModelManager;
10 class QTWindowManager;
15 class NDEVR_WIDGETS_API WidgetInitialization
16 {
17 public:
25 virtual void setupLanguages();
27 virtual void setupUnits();
29 virtual void setupFonts();
31 virtual void setupUI();
33 virtual void registerMetatypes();
35 virtual void setupFileStructure();
37 virtual void setupFactories();
39 virtual void setupManuals();
41 virtual void errorHandlingInit();
43 virtual void setUpdateChecker();
45 virtual void setupUIThemes();
46 //virtual void requestPermissions();
48 virtual void setupModules();
50 virtual void setupUserOptions();
55 virtual void setupAll();
58 virtual int launch();
59
60 int argc;
61 char** argv;
62 std::function<void()> load_modules_callback;
64 bool setup_language = true;
66 bool setup_fonts = true;
67 bool setup_factories = true;
74 bool auto_restart = true;
75 bool setup_modules = true;
77 bool load_user_settings = true;
78 NDEVRApplication* app = nullptr;
80 QTWindowManager* gui = nullptr;
81
82 };
83}
The root class of the NDEVR Application.
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...
The core String class for the NDEVR API.
Definition String.h:95
std::function< void()> load_modules_callback
Optional callback invoked after modules are loaded.
virtual void setupManuals()
Registers help manuals from loaded modules.
virtual void setupUIThemes()
Registers UI icon and color themes from loaded modules.
virtual void setupFileStructure()
Creates required directories and unpacks resources from loaded modules.
virtual void setupUI()
Initializes the user interface from loaded modules.
NDEVRApplication * app
The application instance.
virtual void setupUnits()
Configures unit systems from loaded modules.
QTWindowManager * gui
The window manager instance.
bool setup_fonts
Whether to load and configure fonts.
virtual void setUpdateChecker()
Registers the software update checker from loaded modules.
bool setup_language
Whether to initialize language translations.
virtual void errorHandlingInit()
Initializes error and crash handling.
WidgetInitialization()
Constructs a WidgetInitialization with default settings.
bool setup_modules
Whether to load and initialize modules.
String main_module_name
The name of the primary application module.
bool qt_enable_high_dpi_scaling
Whether to enable Qt high-DPI scaling.
bool launch_model_manager
Whether to launch the QTModelManager.
bool setup_factories
Whether to register I/O factories.
bool qt_use_high_dpi_bitmaps
Whether to use high-DPI bitmaps.
virtual void setupModules()
Loads and initializes all modules.
bool qt_allow_virtual_keyboard
Whether to enable the Qt virtual keyboard.
bool setup_file_structure
Whether to create required directories.
bool auto_restart
Whether to auto-restart the application on crash.
WidgetInitialization(int argc, char **argv)
Constructs a WidgetInitialization with command-line arguments.
bool disable_auto_screen_factor
Whether to disable automatic screen scale factor.
virtual void registerMetatypes()
Registers Qt metatypes from loaded modules.
virtual NDEVRApplication * initializeApplication()
Creates and returns the NDEVRApplication instance.
bool validate_file_structure
Whether to validate the file structure on startup.
virtual void setupFonts()
Loads and configures application fonts.
virtual void setupFactories()
Registers I/O and other factories from loaded modules.
bool load_user_settings
Whether to load saved user settings.
bool setup_error_handling
Whether to initialize error handling.
virtual void setupAll()
Runs all setup steps in the correct order.
virtual void setupUserOptions()
Registers user-configurable options from loaded modules.
char ** argv
The command-line argument values.
virtual int launch()
Launches the application event loop.
int argc
The command-line argument count.
virtual void setupLanguages()
Sets up language translations from loaded modules.
QTModelManager * manager
The model manager instance.
The primary namespace for the NDEVR SDK.