bool LLXUIParser::writeSDValue(const void* val_ptr, const name_stack_t& stack) { LLXMLNodePtr node = getNode(stack); if (node.notNull()) { std::string string_val = ((LLSD*)val_ptr)->asString(); if (string_val.find('\n') != std::string::npos || string_val.size() > MAX_STRING_ATTRIBUTE_SIZE) { // don't write strings with newlines into attributes std::string attribute_name = node->getName()->mString; LLXMLNodePtr parent_node = node->mParent; parent_node->deleteChild(node); // write results in text contents of node if (attribute_name == "value") { // "value" is implicit, just write to parent node = parent_node; } else { node = parent_node->createChild(attribute_name.c_str(), false); } } node->setStringValue(string_val); return true; } return false; }
bool LLXUIParser::writeStringValue(const void* val_ptr, const name_stack_t& stack) { LLXMLNodePtr node = getNode(stack); if (node.notNull()) { const std::string* string_val = reinterpret_cast<const std::string*>(val_ptr); if (string_val->find('\n') != std::string::npos || string_val->size() > MAX_STRING_ATTRIBUTE_SIZE) { // don't write strings with newlines into attributes std::string attribute_name = node->getName()->mString; LLXMLNodePtr parent_node = node->mParent; parent_node->deleteChild(node); // write results in text contents of node if (attribute_name == "value") { // "value" is implicit, just write to parent node = parent_node; } else { // create a child that is not an attribute, but with same name node = parent_node->createChild(attribute_name.c_str(), false); } } node->setStringValue(*string_val); return true; } return false; }
// virtual LLXMLNodePtr LLRadioCtrl::getXML(bool save_children) const { LLXMLNodePtr node = LLCheckBoxCtrl::getXML(); node->setName(LL_RADIO_ITEM_TAG); node->setStringValue(getLabel()); return node; }
bool LLXUIParser::writeUUIDValue(const void* val_ptr, const name_stack_t& stack) { LLXMLNodePtr node = getNode(stack); if (node.notNull()) { node->setStringValue(((LLUUID*)val_ptr)->asString()); return true; } return false; }
// virtual LLXMLNodePtr LLTextBox::getXML(bool save_children) const { LLXMLNodePtr node = LLUICtrl::getXML(); // Attributes node->createChild("font", TRUE)->setStringValue(LLFontGL::nameFromFont(mFontGL)); node->createChild("halign", TRUE)->setStringValue(LLFontGL::nameFromHAlign(mHAlign)); addColorXML(node, mTextColor, "text_color", "LabelTextColor"); addColorXML(node, mDisabledColor, "disabled_color", "LabelDisabledColor"); addColorXML(node, mBackgroundColor, "bg_color", "DefaultBackgroundColor"); addColorXML(node, mBorderColor, "border_color", "DefaultHighlightLight"); node->createChild("bg_visible", TRUE)->setBoolValue(mBackgroundVisible); node->createChild("border_visible", TRUE)->setBoolValue(mBorderVisible); node->createChild("border_drop_shadow_visible", TRUE)->setBoolValue(mBorderDropShadowVisible); node->createChild("h_pad", TRUE)->setIntValue(mHPad); node->createChild("v_pad", TRUE)->setIntValue(mVPad); // Contents node->setStringValue(mText); return node; }