![]() |
ezEngine
Release 25.03
|
Base class for all preferences. More...
#include <Preferences.h>
Public Types | |
enum | Domain { Application, Project, Document } |
Public Member Functions | |
Domain | GetDomain () const |
Whether the preferences are app, project or document specific. | |
ezString | GetName () const |
Within the same domain and visibility the name must be unique, but across those it can be reused. | |
const ezDocument * | GetDocumentAssociation () const |
If these preferences are per document, the pointer is valid, otherwise nullptr. | |
void | TriggerPreferencesChangedEvent () |
Call this to broadcast that this preference object was modified. | |
![]() | |
virtual const ezRTTI * | GetDynamicRTTI () const |
bool | IsInstanceOf (const ezRTTI *pType) const |
Returns whether the type of this instance is of the given type or derived from it. | |
template<typename T > | |
EZ_ALWAYS_INLINE bool | IsInstanceOf () const |
Returns whether the type of this instance is of the given type or derived from it. | |
Static Public Member Functions | |
template<typename TYPE > | |
static TYPE * | QueryPreferences (const ezDocument *pDocument=nullptr) |
Static function to query a preferences object of the given type. If the instance does not exist yet, it is created and the data is restored from file. | |
static ezPreferences * | QueryPreferences (const ezRTTI *pRtti, const ezDocument *pDocument=nullptr) |
Static function to query a preferences object of the given type. If the instance does not exist yet, it is created and the data is restored from file. | |
static void | SaveDocumentPreferences (const ezDocument *pDocument) |
Saves all preferences that are tied to the given document. | |
static void | ClearDocumentPreferences (const ezDocument *pDocument) |
Removes all preferences for the given document. Does not save them. Afterwards the preferences will not appear in the UI any further. | |
static void | SaveProjectPreferences () |
Saves all project specific preferences. | |
static void | ClearProjectPreferences () |
Removes all project specific preferences. Does not save them. Afterwards the preferences will not appear in the UI any further. | |
static void | SaveApplicationPreferences () |
Saves all application specific preferences. | |
static void | ClearApplicationPreferences () |
Removes all application specific preferences. Does not save them. Afterwards the preferences will not appear in the UI any further. | |
static void | GatherAllPreferences (ezHybridArray< ezPreferences *, 16 > &out_allPreferences) |
![]() | |
static const ezRTTI * | GetStaticRTTI () |
Public Attributes | |
ezEvent< ezPreferences * > | m_ChangedEvent |
A simple event that can be fired when any preference property changes. No specific change details are given. | |
Protected Member Functions | |
ezPreferences (Domain domain, const char *szUniqueName) | |
ezString | GetFilePath () const |
Base class for all preferences.
Derive from this to implement a custom class containing preferences. All properties in such a class are exposed in the preferences UI and are automatically stored and restored.
Pass the 'Domain' and 'Visibility' to the constructor to configure whether the preference class is per application, per project or per document, and whether the data is shared among all users or custom for every user.