GeListHeadCB Class Reference

#include <c4d_baselist.h>

Inheritance diagram for GeListHeadCB:

详细描述

Stores a list of GeListNode objects and has an optional callback function which the owner object can set and any other object may invoke.

注意
Has to be created with Alloc() and destroyed with Free() 。使用 AutoAlloc to automate the allocation and destruction based on scope.

私有成员函数

  GeListHeadCB ()
  ~GeListHeadCB ()

导航

void  InsertBefore ( GeListNode *bl)
void  InsertAfter ( GeListNode *bl)
void  InsertUnder ( GeListNode *bl)
void  InsertUnderLast ( GeListNode *bl)
void  移除 ()

Alloc/Free

static GeListHeadCB Alloc ()
static void  Free ( GeListHeadCB *&v)

Parent Callback

maxon::Result < void >  SetParentCallback ( maxon::Delegate < maxon::Result < void >( BaseList2D &caller, Int32 type, void *message)> &&callback)
maxon::Result < void >  InvokeParentCallback ( BaseList2D &caller, Int32 type, void *message) const

Additional Inherited Members

-  Public Member Functions inherited from GeListHead
void  SetParent ( GeListNode *parent)
GeListNode GetParent ()
GeListNode GetFirst ()
GeListNode GetLast ()
void  FlushAll ()
void  InsertFirst ( GeListNode *bn)
void  InsertLast ( GeListNode *bn)
void  Insert ( GeListNode *bn, GeListNode *parent, GeListNode *prev)
-  Public Member Functions inherited from GeListNode
GeListNode GetNext ()
GeListNode GetPred ()
GeListNode GetDown ()
GeListNode GetUp ()
GeListNode GetDownLast ()
void  InsertBefore ( GeListNode *bl)
void  InsertAfter ( GeListNode *bl)
void  InsertUnder ( GeListNode *bl)
void  InsertUnderLast ( GeListNode *bl)
void  移除 ()
GeListHead GetListHead ()
Int32   GetNodeID ( Int32 index=0) const
template<typename CAST >
const CAST *  GetNodeData ( Int32 index=0) const
template<typename CAST >
CAST *  GetNodeData ( Int32 index=0)
void  SetCustomData ( GeListNode *node)
GeListNode GetCustomData ()
BaseDocument GetDocument ()
Int32   GetBranchInfo ( BranchInfo *info, Int32 max, GETBRANCHINFO flags)
Bool   IsDocumentRelated ()
Int32   GetInfo ()
Bool   GetNBit ( NBIT bit) const
UInt32   GetNBitMask ( Int32 index) const
Bool   ChangeNBit ( NBIT bit, NBITCONTROL bitmode)
-  Public Member Functions inherited from C4DAtom
Int32   GetType () const
Int32   GetRealType () const
Int32   GetDiskType () const
Bool   IsInstanceOf ( Int32 id) const
Int32   GetClassification () const
Bool   消息 ( Int32 type, void *data=nullptr)
Bool   MultiMessage ( MULTIMSG_ROUTE flags, Int32 type, void *data)
C4DAtom GetClone ( COPYFLAGS flags, AliasTrans *trn)
Bool   CopyTo ( C4DAtom *dst, COPYFLAGS flags, AliasTrans *trn)
Bool   读取 ( HyperFile *hf, Int32 id, Int32 level)
Bool   Write ( HyperFile *hf)
Bool   ReadObject ( HyperFile *hf, Bool readheader)
Bool   WriteObject ( HyperFile *hf)
Bool   GetDescription ( 描述 *description, DESCFLAGS_DESC flags)
Bool   GetParameter (const DescID &id, GeData &t_data, DESCFLAGS_GET flags)
Bool   SetParameter (const DescID &id, const GeData &t_data, DESCFLAGS_SET flags)
DynamicDescription GetDynamicDescription ()
Bool   GetEnabling (const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc)
Bool   TranslateDescID (const DescID &id, DescID &res_id, C4DAtom *&res_at)
UInt32   GetDirty ( DIRTYFLAGS flags) const
void  SetDirty ( DIRTYFLAGS flags)
UInt32   GetHDirty ( HDIRTYFLAGS mask) const
void  SetHDirty ( HDIRTYFLAGS mask)
-  Static Public Member Functions inherited from GeListHead
static GeListHead Alloc ()
static void  Free ( GeListHead *&v)

构造函数 & 析构函数文档编制

◆  GeListHeadCB()

GeListHeadCB () private

◆  ~GeListHeadCB()

~ GeListHeadCB () private

成员函数文档编制

◆  InsertBefore()

void InsertBefore ( GeListNode bl )
private

◆  InsertAfter()

void InsertAfter ( GeListNode bl )
private

◆  InsertUnder()

void InsertUnder ( GeListNode bl )
private

◆  InsertUnderLast()

void InsertUnderLast ( GeListNode bl )
private

◆  Remove()

void Remove ( )
private

◆  Alloc()

static GeListHeadCB * Alloc ( )
static

Allocates a list head. Destroy the allocated list head with Free() 。使用 AutoAlloc to automate the allocation and destruction based on scope.

返回
The allocated list head, or nullptr if the allocation failed.

◆  Free()

static void Free ( GeListHeadCB *&  v )
static

Destructs list heads allocated with Alloc() 。使用 AutoAlloc to automate the allocation and destruction based on scope.

参数
[in,out] v The list head to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

◆  SetParentCallback()

maxon::Result <void> SetParentCallback ( maxon::Delegate < maxon::Result < void >( BaseList2D &caller, Int32 type, void *message)> &&  callback )

Allows the owner (parent) to set a callback function that will be invoked via the InvokeParentCallback function. Only the owner of the GeListHead should invoke this.

参数
[in,out] callback [in] The callback delegate to be invoked.
返回
OK on success.

◆  InvokeParentCallback()

maxon::Result <void> InvokeParentCallback ( BaseList2D caller ,
Int32   type ,
void *  message  
) const

Executes the parent callback set with SetParentCallback

参数
[in] caller The caller.
[in] type The type of message.
[in] message If non-null, the message data.
返回
OK on success.