ImFusion SDK 4.3
SettingsDialog Class Reference

#include <ImFusion/GUI/SettingsDialog.h>

Presents a GUI dialog to configure the global settings. More...

+ Inheritance diagram for SettingsDialog:

Detailed Description

Presents a GUI dialog to configure the global settings.

This class inherently handles the settings in the ImFusion::Settings class, as well as ViewInteraction settings. You can configure this to also handle custom settings using the addCustomSettings() functions. By default these will be presented with an auto-generated PropertiesWidget, but you may also register a custom widget with addCustomSettingsWidget().

Classes

class  CustomSettingsWidget
 Base class for custom settings widgets. More...
 

Public Member Functions

 SettingsDialog (QWidget *parent=nullptr)
 
void accept () override
 
void onButtonBoxClicked (QAbstractButton *button)
 
void onButtonImportClicked ()
 
void onButtonExportClicked ()
 
void onToggleAnimation (bool flag)
 
void onSaveInteractionMapperClicked ()
 
void onDefaultInteractionMapperClicked ()
 
void onBrowseLogFileButtonClicked ()
 
void onInteractionLodComboBoxIndexChanged (int index)
 
void onCurrentItemChanged (QTreeWidgetItem *current, QTreeWidgetItem *previous)
 
void onChangeLicenseKeyClicked ()
 
void resetControllerLocations ()
 

Static Public Member Functions

template<typename T>
static void addCustomSettings ()
 Add a Configurable type T to the settings dialog.
 
static void addCustomSettings (std::unique_ptr< Properties > p)
 Add a custom settings object to the dialog.
 
template<typename T, typename W>
static void addCustomSettingsWidget ()
 Add a custom settings widget W for configurable type T.
 

Public Attributes

Signal signalSettingsChanged
 Emitted when the settings have been changed.
 

Member Function Documentation

◆ addCustomSettings() [1/2]

template<typename T>
static void addCustomSettings ( )
inlinestatic

Add a Configurable type T to the settings dialog.

Note
Only the parameters returned by T.configuration() within this call will be displayed by the SettingsDialog.
T.configuration() can set the "label" attribute to set the displayed name of the settings.

◆ addCustomSettings() [2/2]

static void addCustomSettings ( std::unique_ptr< Properties > p)
static

Add a custom settings object to the dialog.

\warn p->name() is used as the name of the settings, as such you must take care that the other accesses to the settings are consistent. If you're not sure of this, you probably need the other overload.

Note
Only the parameters within p will be displayed by the SettingsDialog for the settings under p->name().
Use the "label" attribute to set the displayed name of the settings.

◆ addCustomSettingsWidget()

template<typename T, typename W>
static void addCustomSettingsWidget ( )
inlinestatic

Add a custom settings widget W for configurable type T.

The settings themselves should be separately added through addCustomSettings<T>().


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close