improve settings error log, and make type conversion methods static
parent
7bbf2ec9f8
commit
518f92126f
|
|
@ -334,20 +334,23 @@ LLPointer<LLControlVariable> LLControlGroup::getControl(const std::string& name)
|
|||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Must match the type definition in llcontrol.h
|
||||
const std::string LLControlGroup::mTypeString[TYPE_COUNT] = { "U32"
|
||||
,"S32"
|
||||
,"F32"
|
||||
,"Boolean"
|
||||
,"String"
|
||||
,"Vector3"
|
||||
,"Vector3D"
|
||||
,"Rect"
|
||||
,"Color4"
|
||||
,"Color3"
|
||||
,"LLSD"
|
||||
};
|
||||
|
||||
LLControlGroup::LLControlGroup(const std::string& name)
|
||||
: LLInstanceTracker<LLControlGroup, std::string>(name)
|
||||
{
|
||||
mTypeString[TYPE_U32] = "U32";
|
||||
mTypeString[TYPE_S32] = "S32";
|
||||
mTypeString[TYPE_F32] = "F32";
|
||||
mTypeString[TYPE_BOOLEAN] = "Boolean";
|
||||
mTypeString[TYPE_STRING] = "String";
|
||||
mTypeString[TYPE_VEC3] = "Vector3";
|
||||
mTypeString[TYPE_VEC3D] = "Vector3D";
|
||||
mTypeString[TYPE_RECT] = "Rect";
|
||||
mTypeString[TYPE_COL4] = "Color4";
|
||||
mTypeString[TYPE_COL3] = "Color3";
|
||||
mTypeString[TYPE_LLSD] = "LLSD";
|
||||
}
|
||||
|
||||
LLControlGroup::~LLControlGroup()
|
||||
|
|
@ -1170,7 +1173,7 @@ bool convert_from_llsd<bool>(const LLSD& sd, eControlType type, const std::strin
|
|||
return sd.asBoolean();
|
||||
else
|
||||
{
|
||||
CONTROL_ERRS << "Invalid BOOL value for " << control_name << ": " << sd << LL_ENDL;
|
||||
CONTROL_ERRS << "Invalid BOOL value for " << control_name << ": " << LLControlGroup::typeEnumToString(type) << " " << sd << LL_ENDL;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
|
@ -1182,7 +1185,7 @@ S32 convert_from_llsd<S32>(const LLSD& sd, eControlType type, const std::string&
|
|||
return sd.asInteger();
|
||||
else
|
||||
{
|
||||
CONTROL_ERRS << "Invalid S32 value for " << control_name << ": " << sd << LL_ENDL;
|
||||
CONTROL_ERRS << "Invalid S32 value for " << control_name << ": " << LLControlGroup::typeEnumToString(type) << " " << sd << LL_ENDL;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -1194,7 +1197,7 @@ U32 convert_from_llsd<U32>(const LLSD& sd, eControlType type, const std::string&
|
|||
return sd.asInteger();
|
||||
else
|
||||
{
|
||||
CONTROL_ERRS << "Invalid U32 value for " << control_name << ": " << sd << LL_ENDL;
|
||||
CONTROL_ERRS << "Invalid U32 value for " << control_name << ": " << LLControlGroup::typeEnumToString(type) << " " << sd << LL_ENDL;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -1206,7 +1209,7 @@ F32 convert_from_llsd<F32>(const LLSD& sd, eControlType type, const std::string&
|
|||
return (F32) sd.asReal();
|
||||
else
|
||||
{
|
||||
CONTROL_ERRS << "Invalid F32 value for " << control_name << ": " << sd << LL_ENDL;
|
||||
CONTROL_ERRS << "Invalid F32 value for " << control_name << ": " << LLControlGroup::typeEnumToString(type) << " " << sd << LL_ENDL;
|
||||
return 0.0f;
|
||||
}
|
||||
}
|
||||
|
|
@ -1218,7 +1221,7 @@ std::string convert_from_llsd<std::string>(const LLSD& sd, eControlType type, co
|
|||
return sd.asString();
|
||||
else
|
||||
{
|
||||
CONTROL_ERRS << "Invalid string value for " << control_name << ": " << sd << LL_ENDL;
|
||||
CONTROL_ERRS << "Invalid string value for " << control_name << ": " << LLControlGroup::typeEnumToString(type) << " " << sd << LL_ENDL;
|
||||
return LLStringUtil::null;
|
||||
}
|
||||
}
|
||||
|
|
@ -1236,7 +1239,7 @@ LLVector3 convert_from_llsd<LLVector3>(const LLSD& sd, eControlType type, const
|
|||
return (LLVector3)sd;
|
||||
else
|
||||
{
|
||||
CONTROL_ERRS << "Invalid LLVector3 value for " << control_name << ": " << sd << LL_ENDL;
|
||||
CONTROL_ERRS << "Invalid LLVector3 value for " << control_name << ": " << LLControlGroup::typeEnumToString(type) << " " << sd << LL_ENDL;
|
||||
return LLVector3::zero;
|
||||
}
|
||||
}
|
||||
|
|
@ -1248,7 +1251,7 @@ LLVector3d convert_from_llsd<LLVector3d>(const LLSD& sd, eControlType type, cons
|
|||
return (LLVector3d)sd;
|
||||
else
|
||||
{
|
||||
CONTROL_ERRS << "Invalid LLVector3d value for " << control_name << ": " << sd << LL_ENDL;
|
||||
CONTROL_ERRS << "Invalid LLVector3d value for " << control_name << ": " << LLControlGroup::typeEnumToString(type) << " " << sd << LL_ENDL;
|
||||
return LLVector3d::zero;
|
||||
}
|
||||
}
|
||||
|
|
@ -1260,7 +1263,7 @@ LLRect convert_from_llsd<LLRect>(const LLSD& sd, eControlType type, const std::s
|
|||
return LLRect(sd);
|
||||
else
|
||||
{
|
||||
CONTROL_ERRS << "Invalid rect value for " << control_name << ": " << sd << LL_ENDL;
|
||||
CONTROL_ERRS << "Invalid rect value for " << control_name << ": " << LLControlGroup::typeEnumToString(type) << " " << sd << LL_ENDL;
|
||||
return LLRect::null;
|
||||
}
|
||||
}
|
||||
|
|
@ -1305,7 +1308,7 @@ LLColor3 convert_from_llsd<LLColor3>(const LLSD& sd, eControlType type, const st
|
|||
return sd;
|
||||
else
|
||||
{
|
||||
CONTROL_ERRS << "Invalid LLColor3 value for " << control_name << ": " << sd << LL_ENDL;
|
||||
CONTROL_ERRS << "Invalid LLColor3 value for " << control_name << ": " << LLControlGroup::typeEnumToString(type) << " " << sd << LL_ENDL;
|
||||
return LLColor3::white;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ class LLVector3d;
|
|||
class LLColor4;
|
||||
class LLColor3;
|
||||
|
||||
// if this is changed, also modify mTypeString in llcontrol.h
|
||||
typedef enum e_control_type
|
||||
{
|
||||
TYPE_U32 = 0,
|
||||
|
|
@ -190,11 +191,11 @@ class LLControlGroup : public LLInstanceTracker<LLControlGroup, std::string>
|
|||
protected:
|
||||
typedef std::map<std::string, LLControlVariablePtr > ctrl_name_table_t;
|
||||
ctrl_name_table_t mNameTable;
|
||||
std::string mTypeString[TYPE_COUNT];
|
||||
static const std::string mTypeString[TYPE_COUNT];
|
||||
|
||||
public:
|
||||
eControlType typeStringToEnum(const std::string& typestr);
|
||||
std::string typeEnumToString(eControlType typeenum);
|
||||
static eControlType typeStringToEnum(const std::string& typestr);
|
||||
static std::string typeEnumToString(eControlType typeenum);
|
||||
|
||||
LLControlGroup(const std::string& name);
|
||||
~LLControlGroup();
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ bool LLPresetsManager::savePreset(const std::string& subdirectory, std::string n
|
|||
std::string ctrl_name = *it;
|
||||
LLControlVariable* ctrl = gSavedSettings.getControl(ctrl_name).get();
|
||||
std::string comment = ctrl->getComment();
|
||||
std::string type = gSavedSettings.typeEnumToString(ctrl->type());
|
||||
std::string type = LLControlGroup::typeEnumToString(ctrl->type());
|
||||
LLSD value = ctrl->getValue();
|
||||
|
||||
paramsData[ctrl_name]["Comment"] = comment;
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ struct Info
|
|||
if (control)
|
||||
{
|
||||
response["name"] = control->getName();
|
||||
response["type"] = group->typeEnumToString(control->type());
|
||||
response["type"] = LLControlGroup::typeEnumToString(control->type());
|
||||
response["value"] = control->get();
|
||||
response["comment"] = control->getComment();
|
||||
}
|
||||
|
|
@ -167,7 +167,7 @@ void LLViewerControlListener::toggle(LLSD const & request)
|
|||
info.response.error(STRINGIZE("toggle of non-boolean '" << info.groupname
|
||||
<< "' control '" << info.key
|
||||
<< "', type is "
|
||||
<< info.group->typeEnumToString(info.control->type())));
|
||||
<< LLControlGroup::typeEnumToString(info.control->type())));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -199,7 +199,7 @@ struct CollectVars: public LLControlGroup::ApplyFunctor
|
|||
{
|
||||
vars.append(LLSDMap
|
||||
("name", name)
|
||||
("type", mGroup->typeEnumToString(control->type()))
|
||||
("type", LLControlGroup::typeEnumToString(control->type()))
|
||||
("value", control->get())
|
||||
("comment", control->getComment()));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue