This commit is contained in:
deeaitch committed 2026-10-06 17:14:50 -04:00
1 parent e5d818d9b2
commit a533d9aa00
13 files changed
+527 -12

No files matched your search

+12 -1
View File
@@ -24,8 +24,11 @@ TreeNode::TreeNode(const SignalInfo &signal)
}
void TreeNode::AddChild(std::unique_ptr<TreeNode> child) {
if (child)
if (child) {
m_children.push_back(std::move(child));
m_children.back()->m_parent = this;
m_children.back()->m_row = m_children.size() - 1U;
}
}
std::size_t TreeNode::GetChildCount() const {
@@ -61,3 +64,11 @@ const FrameInfo *TreeNode::GetFrame() const {
const SignalInfo *TreeNode::GetSignal() const {
return m_signal.get();
}
const TreeNode *TreeNode::GetParent() const {
return m_parent;
}
std::size_t TreeNode::GetRow() const {
return m_row;
}
+10 -2
View File
@@ -56,8 +56,8 @@ public:
TreeNode(const TreeNode &) = delete;
TreeNode &operator=(const TreeNode &) = delete;
TreeNode(TreeNode &&) = default;
TreeNode &operator=(TreeNode &&) = default;
TreeNode(TreeNode &&) = delete;
TreeNode &operator=(TreeNode &&) = delete;
/**
* @brief Add child node.
@@ -65,6 +65,12 @@ public:
*/
void AddChild(std::unique_ptr<TreeNode> child);
/** Non-owning parent; nullptr for a detached node or the root. */
const TreeNode *GetParent() const;
/** Zero-based sibling position; zero for a detached node or the root. */
std::size_t GetRow() const;
/**
* @brief Get child count.
* @return Number of children.
@@ -110,6 +116,8 @@ public:
const SignalInfo *GetSignal() const;
private:
TreeNode *m_parent = nullptr;
std::size_t m_row = 0U;
NodeType m_type;
std::string m_name;
std::vector<std::unique_ptr<TreeNode>> m_children;