NDEVR
API Documentation
ExternalApplicationManager.h
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/QTModelManager.h>
4#include <NDEVR/Button.h>
5#include <NDEVR/ApplicationLauncherButtonManager.h>
6#include <NDEVR/FileFormat.h>
7namespace NDEVR
8{
9 class FactoryOptions;
16 {
17 public:
32 void setLauncher(const File& f);
47 void setWriteCameras(bool write_cameras);
52 void setAdditionalArgs(const StringView& args);
68 virtual FactoryOptions options(bool is_read, const FactoryParameters& params) const;
69 private:
70 File m_launcher;
71 File m_active_file;
72 File m_temp_folder;
73 Time m_file_last_modified_time;
74 ApplicationLauncherButtonManager* m_button_manager;
75 QTModelManager* m_manager;
76 bool m_write_cameras = false;
77 FileFormat m_format;
78 String m_additional_args;
79 };
80}
Creates a button for launching a 3rd party application.
A core widget that allows the user to click one of many button types.
Definition Button.h:68
void setupForApp()
Performs setup required before launching the external application.
virtual FactoryOptions options(bool is_read, const FactoryParameters &params) const
Returns factory options for reading or writing with this application's format.
void setLauncher(const File &f)
Sets the executable file used to launch the external application.
virtual ~ExternalApplicationManager()
Virtual destructor.
bool hasActiveInstallation() const
Checks whether the external application has an active installation on the system.
ExternalApplicationManager(const FileFormat &format, QTModelManager *manager)
Constructs an ExternalApplicationManager for the given file format.
void setAdditionalArgs(const StringView &args)
Sets additional command-line arguments to pass to the external application.
Button * createLauncherButton()
Creates a Button widget that launches the external application.
ApplicationLauncherButtonManager * createAppLauncher()
Creates and returns an ApplicationLauncherButtonManager for this application.
void setWriteCameras(bool write_cameras)
Sets whether camera data should be written when launching the application.
User-defined options that define preferences for importing and exporting using IOFactory objects.
Data that describes a particular file format and how to use the format with the program.
Definition FileFormat.h:45
Logic for reading or writing to a file as well as navigating filesystems or other common file operati...
Definition File.h:53
A wrapper around DesignObjectLookup that provides signal and slot functionality and adds rendering ca...
The core String View class for the NDEVR API.
Definition StringView.h:58
The core String class for the NDEVR API.
Definition String.h:95
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:62
The primary namespace for the NDEVR SDK.
A container of input information that is to be filled with output information by an IOFactory.
Definition IOFactory.h:105