AttributeManagerProxyInterface Class Reference

#include <customnodeguiproxy.h>

Inheritance diagram for AttributeManagerProxyInterface:

Public Member Functions

MAXON_METHOD Result< DescriptionPropertyCustomGui * > CreateAttribute (const DescID &id, Bool &resNeedsUnfoldGroup, const BaseArray< BaseList2D * > &objects, ATTRIBUTEMANAGER::CREATEATTRIBUTEFLAGS flags)
 
MAXON_METHOD Result< Int32GetAttributeGadgetBaseId (const DescID &id)
 
MAXON_METHOD Result< void > CreateAttributeValue (const DescID &id, const BaseArray< BaseList2D * > &objects)
 
MAXON_METHOD Result< void > RemoveAttributeValue (const DescID &id)
 
MAXON_METHOD Result< void > CreateUnfoldGroup (const DescID &id, const BaseArray< BaseList2D * > *objects, Bool setValues)
 
MAXON_METHOD Result< void > ConnectAttributeValue (const DescID &id, Int32 gadId, const ATTRIBUTEMANAGER::SetValueCallback &setValueCallback, const ATTRIBUTEMANAGER::ChangeValueCallback &changeValueCallback)
 
MAXON_METHOD Result< Int32ForwardMessage (const BaseContainer &msg, BaseContainer &result)
 
MAXON_METHOD Result< BaseArray< BaseList2D * > > GetObjects (const BaseDocument &baseDocument) const
 
MAXON_METHOD Result< const DescTranslation & > GetDescTranslation (const BaseList2D &baseList) const
 
MAXON_METHOD Result< GraphNodeGetNode (const BaseList2D &baseList) const
 

Private Member Functions

 MAXON_INTERFACE (AttributeManagerProxyInterface, MAXON_REFERENCE_NORMAL, "net.maxon.interface.attributemanagerproxy")
 

Member Function Documentation

◆ MAXON_INTERFACE()

MAXON_INTERFACE ( AttributeManagerProxyInterface  ,
MAXON_REFERENCE_NORMAL  ,
"net.maxon.interface.attributemanagerproxy"   
)
private

◆ CreateAttribute()

MAXON_METHOD Result<DescriptionPropertyCustomGui*> CreateAttribute ( const DescID id,
Bool resNeedsUnfoldGroup,
const BaseArray< BaseList2D * > &  objects,
ATTRIBUTEMANAGER::CREATEATTRIBUTEFLAGS  flags 
)

Creates an attribute manager attribute. This is just the "control dot", not the value itself. Note that no artificial (or virtual) elements can be created. Only existing elements can be reordered. This routine is should be called within CreateLayout.

Parameters
[in]idA valid DescID for the element.
[out]resNeedsUnfoldGroupReturns information if the element requires an open/close unfold element.
[in]objectsOptional parameter to set objects list. Nullptr to auto detect objects.
[in]flagsSee ATTRIBUTEMANAGER::CREATEATTRIBUTEFLAGS.
Returns
The created CustomGui element if successful.

◆ GetAttributeGadgetBaseId()

MAXON_METHOD Result<Int32> GetAttributeGadgetBaseId ( const DescID id)

Returns the gadget base id of the attribute manager object.

Parameters
[in]idA valid DescID for the element.
Returns
Int32 with the gadget base id on success.

◆ CreateAttributeValue()

MAXON_METHOD Result<void> CreateAttributeValue ( const DescID id,
const BaseArray< BaseList2D * > &  objects 
)

Creates an attribute manager value. This is data value, not the "control dot". Note that no artificial (or virtual) elements can be created. Only existing elements can be reordered. This routine is should be called within CreateLayout.

Parameters
[in]idA valid DescID for the element.
[in]objectsOptional parameter to set objects list. Nullptr to auto detect objects.
Returns
OK on success.

◆ RemoveAttributeValue()

MAXON_METHOD Result<void> RemoveAttributeValue ( const DescID id)

Removes an attribute manager value from the current layout. This routine is should be called between LayoutFlushGroup and LayoutChanged.

Parameters
[in]idA valid DescID for the element.
Returns
OK on success.

◆ CreateUnfoldGroup()

MAXON_METHOD Result<void> CreateUnfoldGroup ( const DescID id,
const BaseArray< BaseList2D * > *  objects,
Bool  setValues 
)

Creates an open/close unfolding group. This routine is should be called within CreateLayout.

Parameters
[in]idA valid DescID for the element.
[in]objectsOptional parameter to set objects list. Nullptr to auto detect objects.
[in]setValuesTrue to set the parameters immediately (e.g. on update layouts). Should be false in CreateLayout calls.
Returns
OK on success.

◆ ConnectAttributeValue()

MAXON_METHOD Result<void> ConnectAttributeValue ( const DescID id,
Int32  gadId,
const ATTRIBUTEMANAGER::SetValueCallback setValueCallback,
const ATTRIBUTEMANAGER::ChangeValueCallback changeValueCallback 
)

Installs callbacks to intercept an element's data access. This routine is should be called within CreateLayout.

Parameters
[in]idA valid DescID for the element.
[in]gadIdThe dialog gadget Id.
[in]setValueCallbackThe callback that will be called when values are set.
[in]changeValueCallbackThe callback that will be called when values are modified.
Returns
OK on success.

◆ ForwardMessage()

MAXON_METHOD Result<Int32> ForwardMessage ( const BaseContainer msg,
BaseContainer result 
)

Forwards UI messages to the original element. This is necessary, so that e.g. the "control dot" can work. It is called within a CustomGui's Message (typically for BFM_ACTION).

Parameters
[in]msgThe message to be forwarded.
[out]resultThe result of the message.
Returns
The result value to be returned in Message().

◆ GetObjects()

MAXON_METHOD Result<BaseArray<BaseList2D*> > GetObjects ( const BaseDocument baseDocument) const

Returns the list of objects that are currently shown in the attribute manager.

Parameters
[in]baseDocumentThe document.
Returns
Array of objects.

◆ GetDescTranslation()

MAXON_METHOD Result<const DescTranslation&> GetDescTranslation ( const BaseList2D baseList) const

Returns a translation map for an object that is shown in the attribute manager. The translation map holds information to map e.g. DescIDs to port IDs of nodes.

Parameters
[in]baseListA valid object that is currently shown in the attribute manager.
Returns
The translation map.

◆ GetNode()

MAXON_METHOD Result<GraphNode> GetNode ( const BaseList2D baseList) const

Returns a node for an object that is shown in the attribute manager.

Parameters
[in]baseListA valid object that is currently shown in the attribute manager.
Returns
The corresponding node.