MCPcopy Create free account
hub / github.com/MyGUI/mygui / loadOldPointerFormat

Method loadOldPointerFormat

MyGUIEngine/src/MyGUI_BackwardCompatibility.cpp:906–991  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

904 return ResourceManager::getInstance().load(_file);
905 }
906 void MemberObsolete<PointerManager>::loadOldPointerFormat(
907 xml::ElementPtr _node,
908 std::string_view _file,
909 Version _version,
910 std::string_view _tag)
911 {
912 std::string_view pointer;
913 std::string_view layer;
914
915 xml::ElementEnumerator node = _node->getElementEnumerator();
916 while (node.next())
917 {
918 if (node->getName() == _tag)
919 {
920 layer = node->findAttribute("layer");
921 pointer = node->findAttribute("default");
922
923 // сохраняем
924 std::string_view shared_text = node->findAttribute("texture");
925
926 // берем детей и крутимся, основной цикл
927 xml::ElementEnumerator info = node->getElementEnumerator();
928 while (info.next("Info"))
929 {
930 std::string_view name = info->findAttribute("name");
931 if (name.empty())
932 continue;
933
934 std::string_view texture = info->findAttribute("texture");
935
936 std::string_view type =
937 (shared_text.empty() && texture.empty()) ? "ResourceImageSetPointer" : "ResourceManualPointer";
938
939 xml::Document doc;
940 xml::ElementPtr root = doc.createRoot("MyGUI");
941 xml::ElementPtr newnode = root->createChild("Resource");
942 newnode->addAttribute("type", type);
943 newnode->addAttribute("name", name);
944
945 std::string tmp;
946 if (info->findAttribute("point", tmp))
947 {
948 xml::ElementPtr prop = newnode->createChild("Property");
949 prop->addAttribute("key", "Point");
950 prop->addAttribute("value", tmp);
951 }
952
953 if (info->findAttribute("size", tmp))
954 {
955 xml::ElementPtr prop = newnode->createChild("Property");
956 prop->addAttribute("key", "Size");
957 prop->addAttribute("value", tmp);
958 }
959
960 if (info->findAttribute("resource", tmp))
961 {
962 xml::ElementPtr prop = newnode->createChild("Property");
963 prop->addAttribute("key", "Resource");

Callers

nothing calls this directly

Calls 10

getElementEnumeratorMethod · 0.80
findAttributeMethod · 0.80
createRootMethod · 0.80
createChildMethod · 0.80
addAttributeMethod · 0.80
loadFromXmlNodeMethod · 0.80
setDefaultPointerMethod · 0.80
nextMethod · 0.45
emptyMethod · 0.45
setLayerNameMethod · 0.45

Tested by

no test coverage detected