// static LLView* LLCheckBoxCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory) { std::string name("checkbox"); node->getAttributeString("name", name); std::string label(""); node->getAttributeString("label", label); LLFontGL* font = LLView::selectFont(node); BOOL radio_style = FALSE; node->getAttributeBOOL("radio_style", radio_style); LLUICtrlCallback callback = NULL; if (label.empty()) { label.assign(node->getTextContents()); } LLRect rect; createRect(node, rect, parent, LLRect()); LLCheckBoxCtrl* checkbox = new LLCheckboxCtrl(name, rect, label, font, callback, NULL, FALSE, radio_style); // if true, draw radio button style icons BOOL initial_value = checkbox->getValue().asBoolean(); node->getAttributeBOOL("initial_value", initial_value); LLColor4 color; color = LLUI::sColorsGroup->getColor( "LabelTextColor" ); LLUICtrlFactory::getAttributeColor(node,"text_enabled_color", color); checkbox->setEnabledColor(color); color = LLUI::sColorsGroup->getColor( "LabelDisabledColor" ); LLUICtrlFactory::getAttributeColor(node,"text_disabled_color", color); checkbox->setDisabledColor(color); checkbox->setValue(initial_value); checkbox->initFromXML(node, parent); return checkbox; }