15 : _name(name), _nodeType(nodeType)
26 if (
_stack.size() > 0 &&
_stack.top()->getChildren().size() > 0)
29 auto textnode =
_stack.top()->getChildren().at(totalChildCnt - 1)->downCast<
BBTextPtr>(
false);
32 textnode->append(text);
41 textnode->append(text);
49 auto textNode = std::make_shared<BBText>(text);
52 _stack.top()->appendChild(textNode);
65 auto newNode = std::make_shared<BBElement>(name);
68 _stack.top()->appendChild(newNode);
85 _stack.top()->appendChild(newNode);
101 _stack.top()->appendChild(newNode);
109 for (
const auto& kv : pairs)
111 newNode->setOrAddParameter(kv.first, kv.second);
BBElement & newClosingElement(const std::string &name)
BBElement & newKeyValueElement(const std::string &name, const ParameterMap &pairs)
BBElement & newElement(const std::string &name)
BBText & newText(const std::string &text=std::string())
virtual void appendChild(BBNodePtr node)
const BBNodeList & getChildren() const
BBNode(NodeType nodeType, const std::string &name)
std::map< std::string, std::string > ParameterMap
std::shared_ptr< BBText > BBTextPtr