diff options
| -rw-r--r-- | indra/llxml/llcontrol.cpp | 43 | ||||
| -rw-r--r-- | indra/llxml/llcontrol.h | 7 | ||||
| -rw-r--r-- | indra/newview/llpresetsmanager.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llviewercontrollistener.cpp | 6 | 
4 files changed, 31 insertions, 27 deletions
| diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp index 4e3d0ab392..20ab1a7ad3 100644 --- a/indra/llxml/llcontrol.cpp +++ b/indra/llxml/llcontrol.cpp @@ -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;  	}  } diff --git a/indra/llxml/llcontrol.h b/indra/llxml/llcontrol.h index 04575d81e0..77065dcf8d 100644 --- a/indra/llxml/llcontrol.h +++ b/indra/llxml/llcontrol.h @@ -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(); diff --git a/indra/newview/llpresetsmanager.cpp b/indra/newview/llpresetsmanager.cpp index 152001eb46..d95546f11d 100644 --- a/indra/newview/llpresetsmanager.cpp +++ b/indra/newview/llpresetsmanager.cpp @@ -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; diff --git a/indra/newview/llviewercontrollistener.cpp b/indra/newview/llviewercontrollistener.cpp index 361b96221c..d2484b2b23 100644 --- a/indra/newview/llviewercontrollistener.cpp +++ b/indra/newview/llviewercontrollistener.cpp @@ -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()));  	} | 
