void CVar::serializeCVar(TiXmlNode* rootNode, bool oldDeveloper) { if (rootNode == NULL) return; TiXmlElement* cvarNode = rootNode->FirstChildElement("CVar"); while (cvarNode != NULL) { if (!std::string(cvarNode->Attribute("name")).compare(name())) break; cvarNode = cvarNode->NextSiblingElement("CVar"); } TiXmlText* text = NULL; TiXmlText* oldText = NULL; if (!cvarNode) { cvarNode = new TiXmlElement("CVar"); cvarNode->SetAttribute("name", name()); rootNode->LinkEndChild(cvarNode); } else { if (cvarNode->FirstChild()) { oldText = cvarNode->FirstChild()->ToText(); } } switch(type()) { case CVar::Boolean: { cvarNode->SetAttribute("type", "boolean"); std::string val; if (com_developer == this) val = (oldDeveloper ? "true" : "false"); else val = (toBoolean() ? "true" : "false"); text = new TiXmlText(val); break; } case CVar::Integer: cvarNode->SetAttribute("type", "integer"); break; case CVar::Float: cvarNode->SetAttribute("type", "float"); break; case CVar::Literal: { cvarNode->SetAttribute("type", "literal"); text = new TiXmlText(toLiteral()); text->SetCDATA(true); break; } case CVar::Color: { Colori col = toColori(); cvarNode->SetAttribute("type", "color"); cvarNode->SetAttribute("r", (col.r & 255)); cvarNode->SetAttribute("g", (col.g & 255)); cvarNode->SetAttribute("b", (col.b & 255)); cvarNode->SetAttribute("a", (col.a & 255)); } break; default: break; } if (!text && type() != Color) text = new TiXmlText(toLiteral()); if (oldText && type() != Color) { cvarNode->RemoveChild(oldText); } if (text && type() != Color) cvarNode->LinkEndChild(text); }
QString QGis::tr( QGis::UnitType unit ) { return QCoreApplication::translate( "QGis::UnitType", qPrintable( toLiteral( unit ) ) ); }