#include <customgui_field.h>
Field custom GUI (CUSTOMDATATYPE_FIELDLIST) for the Field list data.
|
maxon::Result< FieldOutput > | SampleListSimple (const BaseList2D &caller, const FieldInput &inputs, FIELDSAMPLE_FLAG flags=FIELDSAMPLE_FLAG::ALL) const |
|
maxon::Result< void > | SampleList (const FieldInfo &info, const FieldInput &inputs, FieldOutput &outputs) const |
|
maxon::Result< void > | SampleListWithLambda (const FieldInfo &info, const FieldLambdaInput &&inputFunc, const FieldLambdaOutput &&outputFunc) const |
|
maxon::Result< maxon::GenericData > | DirectInitSampling (const FieldInfo &info) const |
|
maxon::Result< void > | DirectSample (const FieldInput &inputs, FieldOutputBlock &outputs, const FieldInfo &info, const maxon::GenericData &extraData) const |
|
void | DirectFreeSampling (const FieldInfo &info, maxon::GenericData &extraData) const |
|
maxon::Result< void > | ForEachLayer (const maxon::Delegate< maxon::Result< void >(const FieldLayer *layer, const maxon::GenericData &extra)> &callback, const maxon::GenericData &listData) const |
|
UInt32 | GetDirty (const BaseDocument *doc) const |
|
Int32 | GetCount () const |
|
void | Flush () |
|
maxon::Result< void > | InsertLayer (FieldLayer *layer, FieldLayer *parent=nullptr, FieldLayer *prev=nullptr) |
|
GeListHead * | GetLayersRootWritable (Bool create) |
|
const GeListHead * | GetLayersRootConst () const |
|
maxon::Result< void > | GetSelected (maxon::BaseArray< FieldLayer * > &selected, Bool includeChildren=true) const |
|
maxon::Result< void > | FindByReference (FieldLayerLink link, BaseDocument *doc, maxon::BaseArray< FieldLayer * > &found) const |
|
void | SetFlags (FIELDLIST_FLAGS flags, Bool state) |
|
FIELDLIST_FLAGS | GetFlags () const |
|
Bool | CheckFlag (FIELDLIST_FLAGS flag) const |
|
Bool | HasContent (FIELDLAYER_CHANNELFLAG channel=FIELDLAYER_CHANNELFLAG::COLOR|FIELDLAYER_CHANNELFLAG::DIRECTION|FIELDLAYER_CHANNELFLAG::VALUE|FIELDLAYER_CHANNELFLAG::ROTATION) const |
|
maxon::Result< Bool > | GetAccessedObjects (const BaseList2D *caller, METHOD_ID method, AccessedObjectsCallback &access) const |
|
◆ FieldList()
◆ ~FieldList()
◆ Alloc()
Allocates a field list data. Destroy the allocated field list data with Free(). Use AutoAlloc to automate the allocation and destruction based on scope.
- Returns
- The allocated field list data, or nullptr if the allocation failed.
◆ Free()
Destructs field list data allocated with Alloc(). Use AutoAlloc to automate the allocation and destruction based on scope.
- Parameters
-
[in,out] | list | The field list data to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards. |
◆ SampleListSimple()
Sample a block of values. Use this method to avoid to avoid having to pre create FieldInfo and FieldOutput structures. Sampling will be performed in the caller's document with default FieldInfo parameters.
- Parameters
-
[in] | caller | The caller object, simply pass the BaseList2D you are invoking the sampling from. |
[in] | inputs | The inputs to sample from. |
[in] | flags | The channels to sample. |
- Returns
- The sampled FieldOutput.
◆ SampleList()
Sample a block of values. Allows full parameter control to the user. You can supply a simple Vector as inputs to sample just one position. User needs to supply a valid FieldInfo filled with all parameters.
- Parameters
-
[in] | info | The sampling informations, document, threading, flags... Should succeed IsPopulated(). |
[in] | inputs | The inputs to sample from. |
[out] | outputs | Arrays that hold the sampling results, based on sampling flags. |
- Returns
- OK on success.
◆ SampleListWithLambda()
Sample a block of specified length using the passed lambda's to initialize the FieldInput and apply the final FieldOutputBlock.
- Parameters
-
[in] | info | The information required for execution. Should succeed IsPopulated(). |
[in] | inputFunc | The input function, fill the passed FieldInput arrays within this function. |
[in] | outputFunc | The output function, make use of the calculated FieldOutputBlock within this function. |
- Returns
- OK on success.
◆ DirectInitSampling()
Direct initialize to be used only with DirectSample function, DirectFree must be called afterwards.
- Parameters
-
[in] | info | The pre-filled FieldInfo, caller owns the object. |
- Returns
- OK on success.
◆ DirectSample()
Direct sample function, DirectInitSampling must be called before and DirectFree afterwards.
- Parameters
-
[in] | inputs | The points to sample, caller owns the object. |
[out] | outputs | The output, caller owns the object. |
[in] | info | The pre-filled FieldInfo, caller owns the object. |
[in,out] | extraData | The internal data of a sampling process provided by an sampling initialization function. |
- Returns
- OK on success.
◆ DirectFreeSampling()
Direct free, must be called after DirectInitSampling
- Parameters
-
[in] | info | The pre-filled FieldInfo, caller owns the object. |
[in,out] | extraData | The internal data of a sampling process provided by an sampling initialization function. |
◆ ForEachLayer()
◆ GetDirty()
Gets the dirtiness of the field GUI and it's objects.
- Parameters
-
- Returns
- The dirty.
◆ GetCount()
Retrieves the total number of fields and groups in the list.
- Returns
- The count.
◆ Flush()
Empties the list of all entries, frees any used memory and resets the FieldList back to it's default state.
◆ InsertLayer()
Inserts a pre-existing layer into the FieldList.
- Parameters
-
[in] | layer | The layer to insert into the .FieldList. The caller must own this layer and it must not be already inserted in any other FieldList (or in the current fieldList in another location) |
[in] | parent | The layer that will be the parent of the layer being inserted. |
[in] | prev | The previous layer to the one being inserted. |
- Returns
- OK on success.
◆ GetLayersRootWritable()
◆ GetLayersRootConst()
◆ GetSelected()
Retrieves a list of all the selected layers in the FieldList, this may include the background layer.
- Parameters
-
[out] | selected | [out] The selected FieldLayers in the FieldList. |
[in] | includeChildren | (Optional) True to include, false to exclude the children. |
- Returns
- A maxon::Result<void>
◆ FindByReference()
Searches for the field Layers that match the passed Reference.
- Parameters
-
[in] | link | The FieldLayerLink, this follows the same type of format as Drag & Drop data. |
[in] | doc | The document. |
[out] | found | [out] The list of FieldLayers found by the passed reference. |
- Returns
- A maxon::Result<void>
◆ SetFlags()
Sets the state of the FIELDLIST_FLAGS for this FieldList
- Parameters
-
[in] | flags | The flags to set or clear. |
[in] | state | True to set the flag, false to clear it. |
◆ GetFlags()
Gets the FIELDLIST_FLAGS for this FieldList
- Returns
- The complete set of flags.
◆ CheckFlag()
Checks a specific flag (or combination) to see if they are set, all flags must be set to return a true result i.e. this is functionally the equivalent of (GetFlags()&flag) == flag rather than just a check for any set flag within the passed flag value.
- Parameters
-
[in] | flag | The flag(s) to check. |
- Returns
- True if the flag is set, false if it has not been set.
◆ HasContent()
Query if the FieldList has content i.e. any FieldLayers in it in order to determine if it's worth evaluation
- Parameters
-
[in] | channel | (Optional) The channels to check that content exists for. |
- Returns
- True if there are FieldLayers in the FieldList, false if not.
◆ GetAccessedObjects()