void JXTreeListWidget::HandleNodeMoveFinished() { // restore selection (GetTableSelection()).ClearSelection(); SelectNodes(*itsReselectNodeList); itsReselectNodeList->RemoveAll(); // restore scroll position assert( itsSavedScrollSetup != NULL ); const std::string s(itsSavedScrollSetup->GetCString(), itsSavedScrollSetup->GetLength()); std::istringstream input(s); ReadScrollSetup(input); delete itsSavedScrollSetup; itsSavedScrollSetup = NULL; }
CAppearanceDatabase CAppearanceDatabase::CreateFromXml(Framework::CStream& stream) { CAppearanceDatabase result; auto documentNode = std::unique_ptr<Framework::Xml::CNode>(Framework::Xml::CParser::ParseDocument(stream)); auto appearanceNodes = documentNode->SelectNodes("Appearances/Appearance"); for(const auto& appearanceNode : appearanceNodes) { APPEARANCE_DEFINITION appearance; uint32 itemId = Framework::Xml::GetAttributeIntValue(appearanceNode, "ItemId"); for(const auto& appearanceAttribute : appearanceNode->GetAttributes()) { if(appearanceAttribute.first == "ItemId") continue; uint32 attributeValue = atoi(appearanceAttribute.second.c_str()); appearance.attributes.insert(std::make_pair(appearanceAttribute.first, attributeValue)); } result.m_appearances.insert(std::make_pair(itemId, appearance)); } return result; }