Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
iedltree.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2008-2025 Global Graphics Software Ltd. All rights reserved.
3 */
4
10
11#ifndef __IEDLTREE_H__
12#define __IEDLTREE_H__
13
14#include <edl/smartptr.h>
15#include <edl/iedlobject.h>
16#include <edl/edltypes.h>
17
19
20template <typename T>
22{
23public:
25
26 virtual ~IEDLTreeNode<T> ()
27 {}
28
29 virtual bool getData(T &data) const = 0;
30 virtual void setData(const T &data) = 0;
31
32 virtual uint32 getChildrenCount() const = 0;
33 virtual IEDLTreeNodePtr getChild (uint32 index) = 0;
35
36 virtual bool insertChildAt (uint32 index, const IEDLTreeNodePtr &child) = 0;
37 virtual bool appendChild (const IEDLTreeNodePtr &child) = 0;
39
40 virtual bool deleteChild (uint32 index) = 0;
41 virtual void remove() = 0;
42
43};
44
45template <typename T>
46class IEDLTree : public IEDLObject
47{
48public:
50
51 virtual ~IEDLTree<T> ()
52 {}
53
54 virtual IEDLTreeNodePtr getRoot() = 0;
55};
56
58
59#endif /* __IEDLTREE_H__ */
IEDLObject is an abstract base class that is used by all classes that are intended to be created via ...
Definition iedlobject.h:53
Definition iedltree.h:47
CSmartPtr< IEDLTreeNode< IDOMOutlineEntryPtr > > IEDLTreeNodePtr
Definition iedltree.h:49
virtual IEDLTreeNodePtr getRoot()=0
virtual ~IEDLTree()
Definition iedltree.h:51
Definition iedltree.h:22
virtual void remove()=0
virtual IEDLTreeNodePtr getParent()=0
virtual IEDLTreeNodePtr detachChild(uint32 index)=0
virtual bool insertChildAt(uint32 index, const IEDLTreeNodePtr &child)=0
virtual IEDLTreeNodePtr getChild(uint32 index)=0
virtual bool deleteChild(uint32 index)=0
virtual bool appendChild(const IEDLTreeNodePtr &child)=0
CSmartPtr< IEDLTreeNode< IDOMOutlineEntryPtr > > IEDLTreeNodePtr
Definition iedltree.h:24
virtual bool getData(T &data) const =0
virtual void setData(const T &data)=0
virtual uint32 getChildrenCount() const =0
virtual ~IEDLTreeNode()
Definition iedltree.h:26
#define _BEGIN_EDL_NAMESPACE
Definition edlnamespaces.h:75
#define _END_EDL_NAMESPACE
Definition edlnamespaces.h:76
EDL "standard" types including known bit-length signed and unsigned integer type[def]s and definition...
unsigned int uint32
Definition edltypes.h:34
EDL smart pointers which, in conjunction with the IRCOject class, provide reference-counted and autom...
#define CSmartPtr
Definition smartptr.h:215