本文整理汇总了C++中mygui::xml::Document::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ Document::clear方法的具体用法?C++ Document::clear怎么用?C++ Document::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mygui::xml::Document
的用法示例。
在下文中一共展示了Document::clear方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: saveToFile
void DemoKeeper::saveToFile(const std::string& _filename)
{
MyGUI::xml::Document doc;
// есть такой файл
if (!doc.open(_filename))
{
doc.clear();
}
doc.createDeclaration();
MyGUI::xml::ElementPtr root = doc.createRoot("AnimationGraph");
// сохраняем сами ноды
wraps::BaseGraphView::EnumeratorNode node = mGraphView->getNodeEnumerator();
while (node.next())
{
BaseAnimationNode* anim_node = dynamic_cast<BaseAnimationNode*>(node.current());
if (anim_node)
{
MyGUI::xml::ElementPtr node_type = root->createChild("Node");
node_type->addAttribute("type", anim_node->getType());
node_type->addAttribute("name", anim_node->getName());
anim_node->serialization(node_type);
}
}
// сохраняем соединения
node = mGraphView->getNodeEnumerator();
while (node.next())
{
BaseAnimationNode* anim_node = dynamic_cast<BaseAnimationNode*>(node.current());
if (anim_node && anim_node->isAnyConnection())
{
MyGUI::xml::ElementPtr connection = root->createChild("Connections");
connection->addAttribute("node", anim_node->getName());
wraps::EnumeratorConnection node_conn = anim_node->getConnectionEnumerator();
while (node_conn.next())
{
wraps::EnumeratorConnection conn = node_conn->getConnectionEnumerator();
while (conn.next())
{
BaseAnimationNode* anim_node2 = dynamic_cast<BaseAnimationNode*>(conn->getOwnerNode());
if (anim_node2)
{
MyGUI::xml::ElementPtr item = connection->createChild("Connection");
item->addAttribute("node", anim_node2->getName());
item->addAttribute("from", node_conn->getName());
item->addAttribute("to", conn->getName());
}
}
}
}
}
// сохраняем данные для редактора
MyGUI::xml::ElementPtr data = root->createChild("EditorData");
node = mGraphView->getNodeEnumerator();
while (node.next())
{
BaseAnimationNode* anim_node = dynamic_cast<BaseAnimationNode*>(node.current());
if (anim_node)
{
MyGUI::xml::ElementPtr item_data = data->createChild("Node");
item_data->addAttribute("name", anim_node->getName());
item_data->addAttribute("coord", anim_node->getCoord().print());
}
}
doc.save(_filename);
}