diff --git a/apps/Makefile b/apps/Makefile index 6f314656f..a391b59d1 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -9,6 +9,7 @@ app_objs += $(addprefix apps/,\ constant.o\ expression_text_field_delegate.o\ main.o\ + node.o\ tool_box_controller.o\ ) diff --git a/apps/node.cpp b/apps/node.cpp new file mode 100644 index 000000000..08f3b143a --- /dev/null +++ b/apps/node.cpp @@ -0,0 +1,21 @@ +#include "node.h" + +const Node * Node::children(int index) const { + return &m_children[index]; +} + +int Node::numberOfChildren() { + return m_numberOfChildren; +} + +const char * Node::label() const { + return m_label; +} + +const char * Node::text() const { + return m_text; +} + +bool Node::isNull() { + return (m_label == nullptr); +} diff --git a/apps/node.h b/apps/node.h new file mode 100644 index 000000000..7f0893f55 --- /dev/null +++ b/apps/node.h @@ -0,0 +1,26 @@ +#ifndef APPS_NODE_H +#define APPS_NODE_H + +class Node { +public: + constexpr Node(const char * label = nullptr, const char * text = nullptr, const Node * children = nullptr, int numberOfChildren = 0) : + m_label(label), + m_text(text), + m_children(children), + m_numberOfChildren(numberOfChildren) + { + }; + const Node * children(int index) const; + const char * label() const; + const char * text() const; + int numberOfChildren(); + bool isNull(); +private: + const char * m_label; + const char * m_text; + const Node * m_children; + int m_numberOfChildren; +}; + +#endif +