NDEVR
API Documentation
ApplicationSetup.h
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/WidgetInitialization.h>
4#include <NDEVR/UUID.h>
5#include <NDEVR/String.h>
6#include <NDEVR/SnapLocation.h>
7#include <NDEVR/File.h>
8#include <NDEVR/Buffer.h>
9#include <NDEVR/Resource.h>
10
11#include <functional>
12#ifdef QT_BUILD
13#include <QApplication>
14Q_DECLARE_METATYPE(UUID);
15Q_DECLARE_METATYPE(SnapLocation);
16Q_DECLARE_METATYPE(String);
17Q_DECLARE_METATYPE(File);
18Q_DECLARE_METATYPE(Buffer<UUID>);
19#endif
20class QWindow;
21class QWidget;
22namespace NDEVR
23{
24#ifndef QT_BUILD
25#ifdef Q_DECLARE_METATYPE
26 Q_DECLARE_METATYPE(UUID);
27 Q_DECLARE_METATYPE(SnapLocation);
28 Q_DECLARE_METATYPE(String);
29 Q_DECLARE_METATYPE(File);
30 Q_DECLARE_METATYPE(Buffer<UUID>);
31#endif
32#endif
33 class WindowManager;
34 class ModelManager;
40 class NDEVR_API ApplicationSetup : public WidgetInitialization
41 {
42 public:
43 std::function<void(QWidget*)> main_window_created_callback;
44 public:
55 //virtual void requestPermissions() override;
59 void registerMetatypes() override;
63 void setupUserOptions() override;
67 void setupFactories() override;
71 void setupUI() override;
76 int launch() override;
77 };
78}
ApplicationSetup()
Default constructor.
void setupUserOptions() override
Configures default user options and application settings.
int launch() override
Launches the application event loop.
void setupFactories() override
Registers IO factories and other service factories with the application.
void registerMetatypes() override
Registers Qt metatypes required by the application for signal/slot communication.
std::function< void(QWidget *)> main_window_created_callback
Optional callback invoked after the main window is created.
ApplicationSetup(int argc, char **argv)
Constructs the application setup with command-line arguments.
void setupUI() override
Builds and initializes the main application UI, including the ribbon and workspace.
The equivelent of std::vector but with a bit more control.
Definition Buffer.hpp:58
Logic for reading or writing to a file as well as navigating filesystems or other common file operati...
Definition File.h:53
The core String class for the NDEVR API.
Definition String.h:95
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:61
WidgetInitialization()
Constructs a WidgetInitialization with default settings.
char ** argv
The command-line argument values.
int argc
The command-line argument count.
Manages all windows and logic surrounding dialogs and views for displaying and managing any environme...
The primary namespace for the NDEVR SDK.
SnapLocation
A list of directions that a view can be pointed relative to an object or scene.