Open Search
    GeListHeadCB Class Reference

    #include <c4d_baselist.h>

    Inheritance diagram for GeListHeadCB:

    Detailed Description

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

    Note
    Has to be created with Alloc() and destroyed with Free(). Use AutoAlloc to automate the allocation and destruction based on scope.

    Private Member Functions

     GeListHeadCB ()
     
     ~GeListHeadCB ()
     

    Navigation

    void InsertBefore (GeListNode *bl)
     
    void InsertAfter (GeListNode *bl)
     
    void InsertUnder (GeListNode *bl)
     
    void InsertUnderLast (GeListNode *bl)
     
    void Remove ()
     

    Alloc/Free

    static GeListHeadCBAlloc ()
     
    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)
     
    GeListNodeGetParent ()
     
    const GeListNodeGetParent () const
     
    GeListNodeGetFirst ()
     
    const GeListNodeGetFirst () const
     
    GeListNodeGetLast ()
     
    const GeListNodeGetLast () const
     
    void FlushAll ()
     
    void InsertFirst (GeListNode *bn)
     
    void InsertLast (GeListNode *bn)
     
    void Insert (GeListNode *bn, GeListNode *parent, GeListNode *prev)
     
    - Public Member Functions inherited from GeListNode
    GeListNodeGetNext ()
     
    const GeListNodeGetNext () const
     
    GeListNodeGetPred ()
     
    const GeListNodeGetPred () const
     
    GeListNodeGetDown ()
     
    const GeListNodeGetDown () const
     
    GeListNodeGetUp ()
     
    const GeListNodeGetUp () const
     
    GeListNodeGetDownLast ()
     
    const GeListNodeGetDownLast () const
     
    void InsertBefore (GeListNode *bl)
     
    void InsertAfter (GeListNode *bl)
     
    void InsertUnder (GeListNode *bl)
     
    void InsertUnderLast (GeListNode *bl)
     
    void Remove ()
     
    void FlushChilds ()
     
    void MoveChildrenTo (GeListNode *dest)
     
    GeListHeadGetListHead ()
     
    const GeListHeadGetListHead () const
     
    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)
     
    GeListNodeGetCustomData ()
     
    const GeListNodeGetCustomData () const
     
    const BaseDocumentGetDocument () const
     
    BaseDocumentGetDocument ()
     
    maxon::Result< BoolGetBranchInfo (const maxon::ValueReceiver< const BranchInfo & > &info, GETBRANCHINFO flags) const
     
    Bool IsDocumentRelated () const
     
    Int32 GetInfo () const
     
    Bool GetNBit (NBIT bit) const
     
    UInt32 GetNBitMask (Int32 index) const
     
    Bool ChangeNBit (NBIT bit, NBITCONTROL bitmode)
     
    - Public Member Functions inherited from C4DAtomGoal
    Bool HasLinks () const
     
    - Public Member Functions inherited from C4DAtom
    Int32 GetType () const
     
    Int32 GetRealType () const
     
    Int32 GetDiskType () const
     
    Bool IsInstanceOf (Int32 id) const
     
    Int32 GetClassification () const
     
    Bool Message (Int32 type, void *data=nullptr)
     
    Bool MultiMessage (MULTIMSG_ROUTE flags, Int32 type, void *data)
     
    C4DAtomGetClone (COPYFLAGS flags, AliasTrans *trn) const
     
    Bool CopyTo (C4DAtom *dst, COPYFLAGS flags, AliasTrans *trn) const
     
    Bool Read (HyperFile *hf, Int32 id, Int32 level)
     
    Bool Write (HyperFile *hf) const
     
    Bool ReadObject (HyperFile *hf, Bool readheader)
     
    Bool WriteObject (HyperFile *hf) const
     
    Bool GetDescription (Description *description, DESCFLAGS_DESC flags) const
     
    Bool GetParameter (const DescID &id, GeData &t_data, DESCFLAGS_GET flags) const
     
    Bool SetParameter (const DescID &id, const GeData &t_data, DESCFLAGS_SET flags)
     
    DynamicDescriptionGetDynamicDescriptionWritable ()
     
    const DynamicDescriptionGetDynamicDescription () const
     
    Bool CopyDynamicDescriptionFrom (const BaseList2D *src)
     
    Bool GetEnabling (const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc) const
     
    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 GeListHeadAlloc ()
     
    static void Free (GeListHead *&v)
     

    Constructor & Destructor Documentation

    ◆ GeListHeadCB()

    GeListHeadCB ( )
    private

    ◆ ~GeListHeadCB()

    ~GeListHeadCB ( )
    private

    Member Function Documentation

    ◆ 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(). Use AutoAlloc to automate the allocation and destruction based on scope.

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

    ◆ Free()

    static void Free ( GeListHeadCB *&  v)
    static

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

    Parameters
    [in,out]vThe 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.

    Parameters
    [in,out]callback[in] The callback delegate to be invoked.
    Returns
    OK on success.

    ◆ InvokeParentCallback()

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

    Executes the parent callback set with SetParentCallback

    Parameters
    [in]callerThe caller.
    [in]typeThe type of message.
    [in]messageIf non-null, the message data.
    Returns
    OK on success.