ezEngine  Release 25.03
ezPreferences Class Reference

Base class for all preferences. More...

#include <Preferences.h>

Inheritance diagram for ezPreferences:

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 ezDocumentGetDocumentAssociation () 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.
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () 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 ezPreferencesQueryPreferences (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 Public Member Functions inherited from ezNoBase
static const ezRTTIGetStaticRTTI ()
 

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
 

Detailed Description

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.


The documentation for this class was generated from the following files: