本文整理汇总了C++中mygui::xml::Document::getRoot方法的典型用法代码示例。如果您正苦于以下问题:C++ Document::getRoot方法的具体用法?C++ Document::getRoot怎么用?C++ Document::getRoot使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mygui::xml::Document
的用法示例。
在下文中一共展示了Document::getRoot方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setupResources
void BaseManager::setupResources()
{
MyGUI::xml::Document doc;
if (!doc.open(std::string("resources.xml")))
doc.getLastError();
MyGUI::xml::ElementPtr root = doc.getRoot();
if (root == nullptr || root->getName() != "Paths")
return;
MyGUI::xml::ElementEnumerator node = root->getElementEnumerator();
while (node.next())
{
if (node->getName() == "Path")
{
if (node->findAttribute("root") != "")
{
bool root = MyGUI::utility::parseBool(node->findAttribute("root"));
if (root)
mRootMedia = node->getContent();
}
addResourceLocation(node->getContent(), false);
}
}
addResourceLocation(getRootMedia() + "/Common/Base");
}
示例2: generateSkin
void TestWindow::generateSkin()
{
if (MyGUI::ResourceManager::getInstance().isExist(mSkinName))
MyGUI::ResourceManager::getInstance().removeByName(mSkinName);
pugi::xml_document doc;
pugi::xml_node decl = doc.prepend_child(pugi::node_declaration);
decl.append_attribute("version") = "1.0";
decl.append_attribute("encoding") = "UTF-8";
pugi::xml_node root = doc.append_child("MyGUI");
root.append_attribute("type").set_value("Resource");
root.append_attribute("version").set_value("1.1");
SkinExportSerializer* serializer = new SkinExportSerializer();
serializer->writeSkin(root, mSkinItem);
delete serializer;
root.select_single_node("Resource/@name").attribute().set_value(mSkinName.c_str());
bool result = doc.save_file(mTestSkinFileName.c_str(), "\t", (pugi::format_indent | pugi::format_write_bom | pugi::format_win_new_line) & (~pugi::format_space_before_slash));
MyGUI::xml::Document docLoad;
docLoad.open(mTestSkinFileName);
MyGUI::xml::Element* resourceNode = docLoad.getRoot();
MyGUI::ResourceManager::getInstance().loadFromXmlNode(resourceNode, "", MyGUI::Version(1, 1, 0));
}
示例3: Setup
//--------------------------------------------------------------------------------
void System::Setup()
{
MyGUI::xml::Document doc;
if (!doc.open(std::string("resources.xml")))
doc.getLastError();
MyGUI::xml::ElementPtr root = doc.getRoot();
if (root == nullptr || root->getName() != "Paths")
return;
MyGUI::xml::ElementEnumerator node = root->getElementEnumerator();
while (node.next())
{
if (node->getName() == "Path")
{
bool root = false;
if (node->findAttribute("root") != "")
{
root = MyGUI::utility::parseBool(node->findAttribute("root"));
if (root) mRootMedia = node->getContent();
}
mPlatform->getDataManagerPtr()->addResourceLocation(node->getContent(), false);
}
}
}
示例4: isMetaSolution
bool EditorState::isMetaSolution(const MyGUI::UString& _fileName)
{
MyGUI::xml::Document doc;
if (!doc.open(_fileName))
{
return false;
}
MyGUI::xml::ElementPtr root = doc.getRoot();
if (!root || (root->getName() != "MyGUI"))
{
return false;
}
std::string type;
if (root->findAttribute("type", type))
{
if (type == "MetaSolution")
{
return true;
}
}
return false;
}
示例5: setupResources
void MYGUIManager::setupResources()
{
MyGUI::xml::Document doc;
if ( !_platform || !doc.open(_resourcePathFile) ) doc.getLastError();
MyGUI::xml::ElementPtr root = doc.getRoot();
if ( root==nullptr || root->getName()!="Paths" ) return;
MyGUI::xml::ElementEnumerator node = root->getElementEnumerator();
while ( node.next() )
{
if ( node->getName()=="Path" )
{
bool root = false, recursive = false;
if (!node->findAttribute("root").empty())
{
root = MyGUI::utility::parseBool( node->findAttribute("root") );
if ( root ) _rootMedia = node->getContent();
}
if (!node->findAttribute("recursive").empty())
{
recursive = MyGUI::utility::parseBool(node->findAttribute("recursive"));
}
_platform->getDataManagerPtr()->addResourceLocation(node->getContent(), recursive);
}
}
}
示例6: load
void EditorState::load()
{
SkinManager::getInstance().clear();
MyGUI::xml::Document doc;
if (doc.open(mFileName))
{
bool result = false;
MyGUI::xml::Element* root = doc.getRoot();
if (root->getName() == "Root")
{
MyGUI::xml::ElementEnumerator nodes = root->getElementEnumerator();
while (nodes.next("SkinManager"))
{
SkinManager::getInstance().deserialization(nodes.current(), MyGUI::Version());
result = true;
if (mFileName != mDefaultFileName)
RecentFilesManager::getInstance().addRecentFile(mFileName);
break;
}
}
if (!result)
{
/*MyGUI::Message* message =*/ MessageBoxManager::getInstance().create(
replaceTags("Error"),
replaceTags("MessageIncorrectFileFormat"),
MyGUI::MessageBoxStyle::IconError
| MyGUI::MessageBoxStyle::Yes);
mFileName = mDefaultFileName;
addUserTag("CurrentFileName", mFileName);
updateCaption();
}
}
else
{
/*MyGUI::Message* message =*/ MessageBoxManager::getInstance().create(
replaceTags("Error"),
doc.getLastError(),
MyGUI::MessageBoxStyle::IconError
| MyGUI::MessageBoxStyle::Yes);
}
ActionManager::getInstance().setChanges(false);
}
示例7: convertProjectName
MyGUI::UString EditorState::convertProjectName(const MyGUI::UString& _fileName)
{
size_t pos = mFileName.find_last_of("\\/");
MyGUI::UString shortName = pos == MyGUI::UString::npos ? mFileName : mFileName.substr(pos + 1);
addUserTag("ResourceName", shortName);
size_t index = _fileName.find("|");
if (index == MyGUI::UString::npos)
return _fileName;
MyGUI::UString fileName = _fileName.substr(0, index);
MyGUI::UString itemIndexName = _fileName.substr(index + 1);
size_t itemIndex = MyGUI::utility::parseValue<size_t>(itemIndexName);
MyGUI::xml::Document doc;
if (!doc.open(fileName))
return _fileName;
MyGUI::xml::ElementPtr root = doc.getRoot();
if ((nullptr == root) || (root->getName() != "MyGUI"))
return _fileName;
if (root->findAttribute("type") == "Resource")
{
// берем детей и крутимся
MyGUI::xml::ElementEnumerator element = root->getElementEnumerator();
while (element.next("Resource"))
{
if (element->findAttribute("type") == "ResourceLayout")
{
if (itemIndex == 0)
{
// поменять на теги
std::string resourceName = element->findAttribute("name");
addUserTag("ResourceName", resourceName);
return MyGUI::utility::toString(fileName, " [", resourceName, "]");
}
else
{
itemIndex --;
}
}
}
}
return _fileName;
}
示例8: loadSettings
void SettingsManager::loadSettings(const MyGUI::UString& _fileName, bool _internal)
{
std::string _instance = "Editor";
MyGUI::xml::Document doc;
if (_internal)
{
MyGUI::DataStreamHolder data = MyGUI::DataManager::getInstance().getData(_fileName);
if (data.getData() != nullptr)
{
if (!doc.open(data.getData()))
{
MYGUI_LOGGING(LogSection, Error, _instance << " : " << doc.getLastError());
return;
}
}
}
else
{
if (!doc.open(_fileName))
{
MYGUI_LOGGING(LogSection, Error, _instance << " : " << doc.getLastError());
return;
}
}
MyGUI::xml::ElementPtr root = doc.getRoot();
if (!root || (root->getName() != "MyGUI"))
{
MYGUI_LOGGING(LogSection, Error, _instance << " : '" << _fileName << "', tag 'MyGUI' not found");
return;
}
std::string type;
if (root->findAttribute("type", type))
{
if (type == "Settings")
{
// берем детей и крутимся
MyGUI::xml::ElementEnumerator field = root->getElementEnumerator();
while (field.next())
loadSector(field.current());
}
}
}
示例9: load
/*从xml加载热键
*/
bool HotkeyManager::load( string xml )
{
MyGUI::xml::Document doc;
string path = Game::getSingleton().getResourcePath() + xml;
if( !doc.open( path ) )
{
MyGUI::IDataStream* pdata = MyGUI::DataManager::getInstance().getData(xml);
if( pdata )
doc.open( pdata );
MyGUI::DataManager::getInstance().freeData(pdata);
}
MyGUI::xml::ElementPtr root = doc.getRoot();
if( root )
{
_load( root,xml );
return true;
}
WARNING_LOG("HotkeyManager can't load "<<xml);
return false;
}
示例10: loadFromFile
void DemoKeeper::loadFromFile(const std::string& _filename)
{
MyGUI::xml::Document doc;
if (!doc.open(_filename))
return;
MyGUI::xml::ElementPtr root = doc.getRoot();
if (root == nullptr || root->getName() != "AnimationGraph")
return;
MyGUI::xml::ElementEnumerator node = root->getElementEnumerator();
while (node.next())
{
if (node->getName() == "Node")
{
BaseAnimationNode* anim_node = createNode(node->findAttribute("type"), node->findAttribute("name"));
anim_node->deserialization(node.current());
}
else if (node->getName() == "Connections")
{
MyGUI::xml::ElementEnumerator conn = node->getElementEnumerator();
BaseAnimationNode* anim_node = getNodeByName(node.current()->findAttribute("node"));
if (anim_node)
{
while (conn.next("Connection"))
{
BaseAnimationNode* anim_node2 = getNodeByName(conn.current()->findAttribute("node"));
if (anim_node2)
{
//соединить точки в ноде
const std::string& from_point = conn.current()->findAttribute("from");
const std::string& to_point = conn.current()->findAttribute("to");
wraps::BaseGraphConnection* from_conn = anim_node->getConnectionByName(from_point, "EventOut");
if (!from_conn) from_conn = anim_node->getConnectionByName(from_point, "PositionOut");
if (!from_conn) from_conn = anim_node->getConnectionByName(from_point, "WeightOut");
wraps::BaseGraphConnection* to_conn = anim_node2->getConnectionByName(to_point, "EventIn");
if (!to_conn) to_conn = anim_node2->getConnectionByName(to_point, "PositionIn");
if (!to_conn) to_conn = anim_node2->getConnectionByName(to_point, "WeightIn");
if (from_conn && to_conn)
{
from_conn->addConnectionPoint(to_conn);
connectPoints(anim_node, anim_node2, from_point, to_point);
}
}
}
}
}
else if (node->getName() == "EditorData")
{
MyGUI::xml::ElementEnumerator item_data = node->getElementEnumerator();
while (item_data.next("Node"))
{
BaseAnimationNode* anim_node = getNodeByName(item_data.current()->findAttribute("name"));
if (anim_node)
{
anim_node->setCoord(MyGUI::IntCoord::parse(item_data.current()->findAttribute("coord")));
}
}
}
}
}
示例11: loadBase
bool BaseManager::loadBase(
const string& filename,
LuaVector& doScript,
LuaVector& locationScript,
LuaVector& loadScript
)
{
MyGUI::xml::Document doc;
if( !doc.open(mResourcePath+filename) )
{
if( !doc.open(filename) )
{
MyGUI::IDataStream* pdata = MyGUI::DataManager::getInstance().getData(filename);
if( pdata )
{
if( !doc.open(pdata) )
{
MyGUI::DataManager::getInstance().freeData(pdata);
ERROR_LOG(doc.getLastError());
return false;
}
MyGUI::DataManager::getInstance().freeData(pdata);
}
else
{
ERROR_LOG(doc.getLastError());
return false;
}
}
}
MyGUI::xml::ElementPtr root = doc.getRoot();
if (root == nullptr || root->getName() != "base")
return false;
// LuaVector groups;
MyGUI::xml::ElementEnumerator node = root->getElementEnumerator();
while( node.next() )
{
string name = node->getName();
if( name == "script" )
{
string lua;
if( node->findAttribute("do",lua) )
doScript.push_back( lua ); //等到LuaManager被创建后在一起执行
if( node->findAttribute("location",lua) )
{
if( find(locationScript.begin(),locationScript.end(),lua)==locationScript.end() )
locationScript.push_back( lua );
}
if( node->findAttribute("load",lua) )
{
loadScript.push_back(lua);
}
}
else if( name == "group" )
{
string name;
if( node->findAttribute("name",name) )
{
// if( find(groups.begin(),groups.end(),name)==groups.end() )
// groups.push_back(name);
MyGUI::xml::ElementEnumerator child = node->getElementEnumerator();
while( child.next() )
{
string type,location,recursive;
if( child->getName() == "repository" )
{
if( child->findAttribute("type",type) &&
child->findAttribute("recursive",recursive) &&
child->findAttribute("location",location) )
{
//加入组
addGroupLocation(name,type,location,recursive=="true"?true:false);
}
}
}
}
}
}
return true;
}
示例12: loadSettings
//===================================================================================
void EditorState::loadSettings(const MyGUI::UString& _fileName, bool _internal)
{
std::string _instance = "Editor";
MyGUI::xml::Document doc;
if (_internal)
{
MyGUI::IDataStream* data = MyGUI::DataManager::getInstance().getData(_fileName);
if (data)
{
PtrHolder<MyGUI::IDataStream> holder = PtrHolder<MyGUI::IDataStream>(data);
if (!doc.open(data))
{
MYGUI_LOGGING(LogSection, Error, _instance << " : " << doc.getLastError());
return;
}
}
}
else
{
if (!doc.open(_fileName))
{
MYGUI_LOGGING(LogSection, Error, _instance << " : " << doc.getLastError());
return;
}
}
MyGUI::xml::ElementPtr root = doc.getRoot();
if (!root || (root->getName() != "MyGUI"))
{
MYGUI_LOGGING(LogSection, Error, _instance << " : '" << _fileName << "', tag 'MyGUI' not found");
return;
}
std::string type;
if (root->findAttribute("type", type))
{
if (type == "Settings")
{
// берем детей и крутимс¤
MyGUI::xml::ElementEnumerator field = root->getElementEnumerator();
while (field.next())
{
if (field->getName() == "PropertiesPanelView") mPropertiesPanelView->load(field);
else if (field->getName() == "SettingsWindow") mSettingsWindow->load(field);
else if (field->getName() == "WidgetsWindow") mWidgetsWindow->load(field);
else if (field->getName() == "MetaSolutionWindow")
{
if (isNeedSolutionLoad(field))
{
clearWidgetWindow();
mMetaSolutionWindow->load(field);
}
}
else if (field->getName() == "RecentFile")
{
std::string name;
if (!field->findAttribute("name", name)) continue;
recentFiles.push_back(name);
}
else if (field->getName() == "AdditionalPath")
{
std::string name;
if (!field->findAttribute("name", name)) continue;
additionalPaths.push_back(name);
}
}
}
}
}