![]() |
Ember
|
Adapter class that wraps the current Node implementation to work with ITreeNode interface. More...
#include <NodeAdapter.h>
Public Member Functions | |
| NodeAdapter (Node *node) | |
| Constructor that wraps an existing Node. | |
| virtual | ~NodeAdapter ()=default |
| const EmberCore::String & | GetName () const override |
| NodeType | GetType () const override |
| NodeStatus | GetStatus () const override |
| size_t | GetId () const override |
| size_t | GetChildCount () const override |
| ITreeNode * | GetChild (size_t index) const override |
| ITreeNode * | GetParent () const override |
| const EmberCore::Point & | GetPosition () const override |
| void | SetPosition (const EmberCore::Point &position) override |
| VisualState | GetVisualState () const override |
| void | SetVisualState (VisualState state) override |
| bool | AreChildrenVisible () const override |
| void | SetChildrenVisible (bool visible) override |
| int | GetChildrenWidth () const override |
| void | SetChildrenWidth (int width) override |
| int | CalculateSubtreeWidth (int node_width, int horizontal_spacing) const override |
| size_t | GetDepth () const override |
| size_t | GetSubtreeNodeCount () const override |
| bool | IsSubTreeReference () const override |
| Check if this node is a SubTree reference. | |
| bool | IsUnimplementedReference () const override |
| Check if this node references an unimplemented tree. | |
| String | GetSubTreeReference () const override |
| Get the ID of the referenced SubTree (if this is a SubTree node) | |
| void | Accept (std::function< void(ITreeNode *)> visitor) override |
| void | Accept (std::function< void(const ITreeNode *)> visitor) const override |
| Node * | GetWrappedNode () const |
| Public Member Functions inherited from EmberCore::ITreeNode | |
| virtual | ~ITreeNode ()=default |
| virtual bool | HasChildren () const |
| virtual void | ToggleChildrenVisibility () |
| virtual String | GetTypeString () const |
| virtual String | GetStatusString () const |
Private Member Functions | |
| NodeType | ConvertNodeType (Node::Type type) const |
| NodeStatus | ConvertNodeStatus (Node::Status status) const |
| VisualState | ConvertVisualState (Node::VisualState state) const |
| Node::VisualState | ConvertVisualState (VisualState state) const |
| void | EnsureChildAdapters () const |
| void | EnsureParentAdapter () const |
Private Attributes | |
| Node * | wrapped_node_ |
| std::vector< std::unique_ptr< NodeAdapter > > | child_adapters_ |
| std::unique_ptr< NodeAdapter > | parent_adapter_ |
Additional Inherited Members | |
| Public Types inherited from EmberCore::ITreeNode | |
| enum class | NodeType { Unknown , Action , Control , Condition , Decorator , BehaviorTree } |
| Node types for visualization categorization. More... | |
| enum class | NodeStatus { Idle , Running , Success , Failure } |
| Node status for runtime visualization. More... | |
| enum class | VisualState { Normal , Selected , Hovered , Highlighted } |
| Visual state for UI rendering. More... | |
Adapter class that wraps the current Node implementation to work with ITreeNode interface.
This adapter allows the existing Node class to be used with the new abstraction layer, preserving all existing functionality while making the visualization system independent of the specific Node implementation.
Definition at line 16 of file NodeAdapter.h.
|
explicit |
Constructor that wraps an existing Node.
| node | The Node to wrap (must not be null) |
Definition at line 7 of file NodeAdapter.cpp.
|
virtualdefault |
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 80 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 68 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 52 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 60 of file NodeAdapter.cpp.
|
private |
Definition at line 111 of file NodeAdapter.cpp.
|
private |
Definition at line 94 of file NodeAdapter.cpp.
|
private |
Definition at line 126 of file NodeAdapter.cpp.
|
private |
Definition at line 141 of file NodeAdapter.cpp.
|
private |
Definition at line 156 of file NodeAdapter.cpp.
|
private |
Definition at line 172 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 23 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 21 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 56 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 64 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 19 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 13 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 33 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 42 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 17 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 66 of file NodeAdapter.cpp.
|
overridevirtual |
Get the ID of the referenced SubTree (if this is a SubTree node)
Reimplemented from EmberCore::ITreeNode.
Definition at line 190 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 15 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 46 of file NodeAdapter.cpp.
|
inline |
Definition at line 65 of file NodeAdapter.h.
|
overridevirtual |
Check if this node is a SubTree reference.
Reimplemented from EmberCore::ITreeNode.
Definition at line 178 of file NodeAdapter.cpp.
|
overridevirtual |
Check if this node references an unimplemented tree.
Reimplemented from EmberCore::ITreeNode.
Definition at line 184 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 54 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 58 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 44 of file NodeAdapter.cpp.
|
overridevirtual |
Implements EmberCore::ITreeNode.
Definition at line 50 of file NodeAdapter.cpp.
|
mutableprivate |
Definition at line 71 of file NodeAdapter.h.
|
mutableprivate |
Definition at line 72 of file NodeAdapter.h.
|
private |
Definition at line 68 of file NodeAdapter.h.