#include <datadescriptiondatabase.h>
Interface to access the storage of DataDescription objects.
Static Public Member Functions | |
static MAXON_METHOD Result< DataDescription > | LoadDescription (const Id &category, const LanguageRef &language, const Id &dataType) |
static MAXON_METHOD Result< DataDescription > | LoadDescription (const Id &category, const LanguageRef &language, const IdAndVersion &dataType) |
static MAXON_METHOD Result< void > | DescriptionDefinitionChanged (const Id &category, const LanguageRef &language, const IdAndVersion &dataType) |
static MAXON_METHOD Result< BaseArray< Tuple< Id, Data, String > > > | GetEffectiveEnumList (const DataDictionary &dataEntry, const DataDictionary &guiEntry, const DataDescription &stringDescription, Bool resolveExtensionPointsAndGui, Bool withStrings, const LanguageRef &language, const AssetRepositoryRef &repository, const Data *filterData) |
static MAXON_METHOD Result< BaseArray< Tuple< Id, Data, String > > > | GetEffectiveEnumList (const DataDictionary &dataEntry, const DataDictionary &guiEntry, const DataDescription &stringDescription, Bool resolveExtensionPointsAndGui, Bool withStrings, const LanguageRef &language, const AssetRepositoryRef &repository, const GetDataCallbackType &getDataCallback, const Data *filterData) |
static MAXON_METHOD Result< void > | PostProcessStringDescription (DataDescription &description, const BaseArray< DataDictionary > &entries) |
static MAXON_METHOD Result< Id > | ResolveVariableIdentifier (const Id &identifier, const AssetRepositoryRef &repository, const GetDataCallbackType &getDataCallback, Opt< const DataDictionary & > dataEntry, Opt< const DataDictionary & > guiEntry=Opt< const DataDictionary & >{}) |
static MAXON_METHOD Result< Id > | GetAndResolvePresetIdentifier (const AssetRepositoryRef &repository, const GetDataCallbackType &getDataCallback, const DataDictionary &guiEntry, Opt< const DataDictionary & > dataEntry=Opt< const DataDictionary & >{}, Bool &outResolveSuccess=DefaultLValue< Bool >{}) |
Private Member Functions | |
MAXON_INTERFACE_NONVIRTUAL (DataDescriptionDatabaseInterface, MAXON_REFERENCE_STATIC, "net.maxon.interface.datadescriptiondatabase", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
|
private |
|
static |
LoadDescription description.
[in] | category | Database category (e.g. DATADESCRIPTION_CATEGORY_DATA / DATADESCRIPTION_CATEGORY_UI). |
[in] | language | Language (only valid for category DATADESCRIPTION_CATEGORY_STRING). |
[in] | dataType | Data type id to load. |
|
static |
|
static |
Resets the cached description.
|
static |
GetEffectiveEnumList returns the enum list prepared for display in the ui with the user order etc. It takes DESCRIPTION::DATA::BASE::ENUM and DESCRIPTION::UI::BASE::ENUM into account.
[in] | dataEntry | Description of the data. |
[in] | guiEntry | Description of the ui. |
[in] | stringDescription | Description of the strings. |
[in] | resolveExtensionPointsAndGui | True if extension points and ui order should be evaluated. False will return the unprocessed DESCRIPTION::DATA::BASE::ENUM array. |
[in] | withStrings | True if strings shall be set up. |
[in] | language | Language to use. |
[in] | repository | Asset Repository to use. |
[in] | filterData | Filter only for this one type. Nullptr to disable filtering. |
|
static |
|
static |
PostProcessStringDescription description.
[in] | description | Description to modify |
[in] | entries | String description entries to process. |
|
static |
Returns a usable identifier with all variables resolved. identifier usually comes from DESCRIPTION::UI::BASE::PRESETDATABASEID or DESCRIPTION::UI::BASE::PRESETDATABASEDYNAMICID. It can also come from GetEffectiveEnumList, as long as the context to resolve the variables is at hand. For instance "preset_net.maxon.preset.neutron.distribution.parametric.spiral.{var#net.maxon.description.data.base.datatype}". This has to be resolved to load the correct preset database. The variable parts of the given identifier must be found in the supplied DataDictionary entries or through GetDataBCallbackType.
[in] | identifier | The identifier to resolve. |
[in] | repository | Repository from where the entries stem. |
[in] | getDataCallback | Callback used to read read description entry values. |
[in] | dataEntry | Optional. The description definition DATADESCRIPTION_CATEGORY_DATA entry used to resolve the identifier. |
[in] | guiEntry | Optional. The description definition DATADESCRIPTION_CATEGORY_GUI entry used to resolve the identifier. |
|
static |
Returns a usable preset identifier with all variables resolved. #presetIdentifier will be read in DESCRIPTION::UI::BASE::PRESETDATABASEID or DESCRIPTION::UI::BASE::PRESETDATABASEDYNAMICID. The latter has priority and might contains links to other definition entries which need to be resolved.. For instance "preset_net.maxon.preset.neutron.distribution.parametric.spiral.{net.maxon.description.data.base.datatype}". This has to be resolved to load the correct preset database. The variable parts of the given identifier must be found in the supplied data or gui entries. If no entry dictionaries are supplied, resolving will not occur and the preset identifier will be handled as constant.
[in] | repository | Repository from where the entries stem. |
[in] | getDataCallback | Callback used to read read description entry values. |
[in] | guiEntry | The description definition DATADESCRIPTION_CATEGORY_GUI entry used to resolve the preset identifier. |
[in] | dataEntry | Optional. The description definition DATADESCRIPTION_CATEGORY_DATA entry used to resolve the preset identifier. |
[out] | outResolveSuccess | Optional. Will be set to true if a dynamic identifier is set and was resolved properly. |