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; }
void StatePanel::updateActorTheme(const MyGUI::UString& commandName, bool& result) { std::string materialname = commandName.substr(commandName.find_first_of('_') + 1); Animation * anim = getActiveAnimation(); if(anim != nullptr) { anim->upateActorTheme(materialname); } }
void EditorState::setModeSaveLoadDialog(bool _save, const MyGUI::UString& _filename) { if (_save) mOpenSaveFileDialog->setDialogInfo(localise("Save"), localise("Save")); else mOpenSaveFileDialog->setDialogInfo(localise("Load"), localise("Load")); size_t pos = _filename.find_last_of(L"\\/"); if (pos == MyGUI::UString::npos) { mOpenSaveFileDialog->setFileName(_filename); } else { mOpenSaveFileDialog->setCurrentFolder(_filename.substr(0, pos)); mOpenSaveFileDialog->setFileName(_filename.substr(pos + 1)); } mOpenSaveFileDialog->setVisible(true); mModeSaveDialog = _save; }