Ejemplo n.º 1
0
ULONG STRING_INIT_Gadget(piClass *cl,piObject *o,Msg msg)
{
	struct Node_Gadget *ng;
	struct GadToolsData *gtd;
	ULONG active=0;
	struct Window *PropsWnd=NULL;

	piGetAttr(o,OBJ_Node,(ULONG *)&ng);
	piGetAttr(o,GAOBJ_NodeData,(ULONG *)&gtd);
	piDoSuperMethodA(cl,o,msg);
	GetAttr(PAGE_Active,PropertiesGadgets[GD_PROPERTIES_PAGES], &active);

	if(active==1) PropsWnd=PropertiesWnd; else PropsWnd=NULL;
	SetCheckMark(PropsWnd,PG_STRG_FlagsGadgets[GD_PG_STRG_FLAGS_HIGHLABEL],gtd->g_Flags&NG_HIGHLABEL);
	SetCheckMark(PropsWnd,PG_STRG_FlagsGadgets[GD_PG_STRG_FLAGS_DISABLED],GetTagData(GA_Disabled,0,ng->ng_Tags));
	SetCheckMark(PropsWnd,PG_STRG_FlagsGadgets[GD_PG_STRG_FLAGS_UNDERSCORE],GetTagData(GT_Underscore,0,ng->ng_Tags));
	SetCheckMark(PropsWnd,PG_STRG_FlagsGadgets[GD_PG_STRG_FLAGS_EXITHELP],GetTagData(STRINGA_ExitHelp,0,ng->ng_Tags));
	SetCheckMark(PropsWnd,PG_STRG_FlagsGadgets[GD_PG_STRG_FLAGS_REPLACEMODE],GetTagData(STRINGA_ReplaceMode,0,ng->ng_Tags));
	SetCheckMark(PropsWnd,PG_STRG_FlagsGadgets[GD_PG_STRG_FLAGS_TABCYCLE],GetTagData(GA_TabCycle,0,ng->ng_Tags));

	if(active==2) PropsWnd=PropertiesWnd; else PropsWnd=NULL;
	SetInteger(PropsWnd,PG_STRG_VarGadgets[GD_PG_STRG_VAR_STRING],GetTagData(GTST_String,0,ng->ng_Tags));
	SetInteger(PropsWnd,PG_STRG_VarGadgets[GD_PG_STRG_VAR_MAXCHARS],GetTagData(GTST_MaxChars,0,ng->ng_Tags));
	switch(GetTagData(STRINGA_Justification,0,ng->ng_Tags))
	{
		case GACT_STRINGLEFT: SetCycle(PropsWnd,PG_STRG_VarGadgets[GD_PG_STRG_VAR_JUSTIFICATION],0); break;
		case GACT_STRINGRIGHT: SetCycle(PropsWnd,PG_STRG_VarGadgets[GD_PG_STRG_VAR_JUSTIFICATION],1); break;
		case GACT_STRINGCENTER: SetCycle(PropsWnd,PG_STRG_VarGadgets[GD_PG_STRG_VAR_JUSTIFICATION],2); break;
	}
	return TRUE;
}
Ejemplo n.º 2
0
ULONG NUMBER_INIT_Gadget(piClass *cl,piObject *o,Msg msg)
{
	struct Node_Gadget *ng;
	struct GadToolsData *gtd;
	ULONG active=0;
	struct Window *PropsWnd=NULL;

	piGetAttr(o,OBJ_Node,(ULONG *)&ng);
	piGetAttr(o,GAOBJ_NodeData,(ULONG *)&gtd);
	piDoSuperMethodA(cl,o,msg);
	GetAttr(PAGE_Active,PropertiesGadgets[GD_PROPERTIES_PAGES], &active);

	if(active==1) PropsWnd=PropertiesWnd; else PropsWnd=NULL;
	SetCheckMark(PropsWnd,PG_NUMB_FlagsGadgets[GD_PG_NUMB_FLAGS_HIGHLABEL],gtd->g_Flags&NG_HIGHLABEL);
	SetCheckMark(PropsWnd,PG_NUMB_FlagsGadgets[GD_PG_NUMB_FLAGS_DISABLED],GetTagData(GA_Disabled,0,ng->ng_Tags));
	SetCheckMark(PropsWnd,PG_NUMB_FlagsGadgets[GD_PG_NUMB_FLAGS_BORDER],GetTagData(GTNM_Border,0,ng->ng_Tags));
	SetCheckMark(PropsWnd,PG_NUMB_FlagsGadgets[GD_PG_NUMB_FLAGS_CLIPPED],GetTagData(GTNM_Clipped,0,ng->ng_Tags));
	SetInteger(PropsWnd,PG_NUMB_FlagsGadgets[GD_PG_NUMB_FLAGS_DEFAULT],GetTagData(GTNM_Number,0,ng->ng_Tags));
	SetInteger(PropsWnd,PG_NUMB_FlagsGadgets[GD_PG_NUMB_FLAGS_MAXNUMLEN],GetTagData(GTNM_MaxNumberLen,0,ng->ng_Tags));
	SetString(PropsWnd,PG_NUMB_FlagsGadgets[GD_PG_NUMB_FLAGS_FORMAT],GetTagData(GTNM_Format,0,ng->ng_Tags));
	switch(GetTagData(GTNM_Justification,GTJ_LEFT,ng->ng_Tags))
	{
		case GTJ_LEFT: SetCycle(PropsWnd,PG_NUMB_FlagsGadgets[GD_PG_NUMB_FLAGS_JUSTIFICATION],GTJ_LEFT); break;
		case GTJ_RIGHT: SetCycle(PropsWnd,PG_NUMB_FlagsGadgets[GD_PG_NUMB_FLAGS_JUSTIFICATION],GTJ_RIGHT); break;
		case GTJ_CENTER: SetCycle(PropsWnd,PG_NUMB_FlagsGadgets[GD_PG_NUMB_FLAGS_JUSTIFICATION],GTJ_CENTER); break;
	}
	return TRUE;
}
Ejemplo n.º 3
0
ULONG TAPEDECK_INIT_Gadget(piClass *cl,piObject *o,Msg msg)
{
	struct Node_Gadget *ng;
	ULONG active=0;
	struct Window *PropsWnd=NULL;

	piGetAttr(o,OBJ_Node,(ULONG *)&ng);
	piDoSuperMethodA(cl,o,msg);
	GetAttr(PAGE_Active,PropertiesGadgets[GD_PROPERTIES_PAGES], &active);

	if(active==1) PropsWnd=PropertiesWnd; else PropsWnd=NULL;
	SetCheckMark(PropsWnd,PG_TDEK_FlagsGadgets[GD_PG_TDEK_FLAGS_DISABLED],GetTagData(GA_Disabled,0,ng->ng_Tags));
	SetCheckMark(PropsWnd,PG_TDEK_FlagsGadgets[GD_PG_TDEK_FLAGS_TAPE],GetTagData(TDECK_Tape,0,ng->ng_Tags));
	SetCheckMark(PropsWnd,PG_TDEK_FlagsGadgets[GD_PG_TDEK_FLAGS_PAUSED],GetTagData(TDECK_Paused,0,ng->ng_Tags));
	if(GetTagData(TDECK_Tape,0,ng->ng_Tags))
	{
		DisableGadget(PG_TDEK_FlagsGadgets[GD_PG_TDEK_FLAGS_FRAMES],PropsWnd,TRUE);
		DisableGadget(PG_TDEK_FlagsGadgets[GD_PG_TDEK_FLAGS_CURRENT],PropsWnd,TRUE);
	}
	else
	{
		DisableGadget(PG_TDEK_FlagsGadgets[GD_PG_TDEK_FLAGS_FRAMES],PropsWnd,FALSE);
		DisableGadget(PG_TDEK_FlagsGadgets[GD_PG_TDEK_FLAGS_CURRENT],PropsWnd,FALSE);
	}
	SetInteger(PropsWnd,PG_TDEK_FlagsGadgets[GD_PG_TDEK_FLAGS_FRAMES],GetTagData(TDECK_Frames,0,ng->ng_Tags));
	SetInteger(PropsWnd,PG_TDEK_FlagsGadgets[GD_PG_TDEK_FLAGS_CURRENT],GetTagData(TDECK_CurrentFrame,0,ng->ng_Tags));
	return TRUE;
}
Ejemplo n.º 4
0
int FN_PG_PALT_FLAGS_TYPE_Clicked( void )
{
	UBYTE old;
	struct TagItem *ti,*oti;
	piGetAttr(CurrentGadget,GAOBJ_Tags,(ULONG *)&ti);
	piGetAttr(CurrentGadget,GAOBJ_OwnTags,(ULONG *)&oti);

	old=FindTagItem(OWNTAG_Color,oti)->ti_Data;
	FindTagItem(OWNTAG_Color,oti)->ti_Data=PropertiesMsg.Code;
	switch(PropertiesMsg.Code)
	{
		case 0:
			ti[1].ti_Tag=TAG_IGNORE;
			ti[2].ti_Tag=GTPA_Depth;
			if(old==1) 
			{
				switch(ti[1].ti_Data)
				{
					case 256: ti[2].ti_Data=8; break;
					case 128: ti[2].ti_Data=7; break;
					case 64: ti[2].ti_Data=6; break;
					case 32: ti[2].ti_Data=5; break;
					case 16: ti[2].ti_Data=4; break;
					case 8: ti[2].ti_Data=3; break;
					case 4: ti[2].ti_Data=2; break;
					case 2: ti[2].ti_Data=1; break;
				}
			}
			SetInteger(PropertiesWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_COLOR],GetTagData(GTPA_Depth,0,ti));
			DisableGadget(PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_COLOR],PropertiesWnd,FALSE);
			break;	
		case 1:
			ti[1].ti_Tag=GTPA_NumColors;
			ti[2].ti_Tag=TAG_IGNORE;
			if(old!=PropertiesMsg.Code) ti[1].ti_Data=2<<(ti[2].ti_Data-1);
			SetInteger(PropertiesWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_COLOR],GetTagData(GTPA_NumColors,0,ti));
			DisableGadget(PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_COLOR],PropertiesWnd,FALSE);
			break;	
		case 2:
			ti[1].ti_Tag=TAG_IGNORE;
			ti[2].ti_Tag=GTPA_Depth;
			DisableGadget(PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_COLOR],PropertiesWnd,TRUE);
			break;	
	}
	PropertiesChanged=TRUE;
	FN_PROPERTIES_APPLY_Clicked();
	return 1;
}
Ejemplo n.º 5
0
void CLogSpreadSheet::SetCellValue(long nCol, long nRow, int integer, int nType)
{
	SetInteger(nCol,nRow,integer);
	SetCellType(nType);
	SetCellNoteIndicator(3);
	SetTypeVAlign(SS_CELL_V_ALIGN_VCENTER);
}
Ejemplo n.º 6
0
ULONG INIT_Frame(piClass *cl,piObject *o,Msg msg)
{
	struct Node_Frame *nf;
	ULONG active=0;
	struct Window *PropsWnd=NULL;

	piGetAttr(o,OBJ_Node,(ULONG *)&nf);
	GetAttr(PAGE_Active,PropertiesGadgets[GD_PROPERTIES_PAGES], &active);

	if(active==0) PropsWnd=PropertiesWnd; else PropsWnd=NULL;
	SetInteger(PropsWnd,PGFR_GeneralGadgets[GD_PGFR_X],nf->nf_X);
	SetInteger(PropsWnd,PGFR_GeneralGadgets[GD_PGFR_Y],nf->nf_Y);
	SetInteger(PropsWnd,PGFR_GeneralGadgets[GD_PGFR_WIDTH],nf->nf_Width);
	SetInteger(PropsWnd,PGFR_GeneralGadgets[GD_PGFR_HEIGHT],nf->nf_Height);
	SetCycle(PropsWnd,PGFR_GeneralGadgets[GD_PGFR_FRAME],nf->nf_FrameType);
	SetCheckMark(PropsWnd,PGFR_GeneralGadgets[GD_PGFR_RECESSED],(nf->nf_Flags&MYFR_Recessed)?TRUE:FALSE);
	return TRUE;
}
Ejemplo n.º 7
0
int StringIntHash::IncrementCount(const String & key)
{
    int index = Find(key);

    if (index != -1)
        return ++(integers[index]);

    SetInteger(key, 1);
    return 1;
}
Ejemplo n.º 8
0
int StringIntHash::DecrementCount(const String & key)
{
    int index = Find(key);

    if (index != -1)
        return --(integers[index]);

    SetInteger(key, -1);
    return -1;
}
Ejemplo n.º 9
0
int StringIntHash::IncrementCount(const String & key, int amount)
{
    int index = Find(key);

    if (index != -1)
        return (integers[index] += amount);

    SetInteger(key, amount);
    return amount;
}
Ejemplo n.º 10
0
void AnimaMappedValues::CopyIntegers(const AnimaMappedValues& src)
{
	_integersMap.clear();

	const boost::unordered_map<AnimaString, AInt, AnimaStringHasher>* srcIntegersMap = &src._integersMap;
	for (auto pair : *srcIntegersMap)
	{
		AnimaString propertyName = ExtractName(pair.first);
		SetInteger(propertyName, pair.second);
	}
}
Ejemplo n.º 11
0
// Integer var
Var::Var(const char *name, int ivalue, int flags)
{
	this->name = new char[strlen(name)+1];
	strcpy(this->name, name);

	this->svalue = NULL;
	SetInteger(ivalue);
	this->flags = flags;

	// default value
	char str[64];
	sprintf(str, "%i", ivalue);
	default_value = new char[strlen(str)+1];
	strcpy(default_value, str);
}
Ejemplo n.º 12
0
ULONG PALETTE_INIT_Gadget(piClass *cl,piObject *o,Msg msg)
{
	struct Node_Gadget *ng;
	struct GadToolsData *gtd;
	ULONG active=0;
	struct Window *PropsWnd=NULL;

	piGetAttr(o,OBJ_Node,(ULONG *)&ng);
	piGetAttr(o,GAOBJ_NodeData,(ULONG *)&gtd);
	piDoSuperMethodA(cl,o,msg);
	GetAttr(PAGE_Active,PropertiesGadgets[GD_PROPERTIES_PAGES], &active);

	if(active==1) PropsWnd=PropertiesWnd; else PropsWnd=NULL;
	SetCheckMark(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_HIGHLABEL],gtd->g_Flags&NG_HIGHLABEL);
	SetCheckMark(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_DISABLED],GetTagData(GA_Disabled,0,ng->ng_Tags));
	SetCheckMark(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_UNDERSCORE],GetTagData(GT_Underscore,0,ng->ng_Tags));
	SetCycle(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_TYPE],GetTagData(OWNTAG_Color,0,ng->ng_OwnTags));
	switch(GetTagData(OWNTAG_Color,0,ng->ng_OwnTags))
	{
		case 0:
			DisableGadget(PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_COLOR],PropsWnd,FALSE);
			SetInteger(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_COLOR],GetTagData(GTPA_Depth,0,ng->ng_Tags));
			break;
		case 1:
			DisableGadget(PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_COLOR],PropsWnd,FALSE);
			SetInteger(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_COLOR],GetTagData(GTPA_NumColors,0,ng->ng_Tags));
			break;
		case 2:
			DisableGadget(PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_COLOR],PropsWnd,TRUE);
			SetInteger(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_COLOR],Scr->BitMap.Depth);
			break;
	}
	SetCycle(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_SHOWSELECTED],GetTagData(OWNTAG_ShowSelected,0,ng->ng_OwnTags));
	switch(GetTagData(OWNTAG_ShowSelected,0,ng->ng_OwnTags))
	{
		case 0:
			DisableGadget(PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_SHOWSELECTED_VAR],PropsWnd,TRUE);
			SetInteger(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_SHOWSELECTED_VAR],GetTagData(GTPA_IndicatorWidth,0,ng->ng_Tags));
			break;
		case 1:
			DisableGadget(PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_SHOWSELECTED_VAR],PropsWnd,FALSE);
			SetInteger(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_SHOWSELECTED_VAR],0);
			break;
		case 2:
			DisableGadget(PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_SHOWSELECTED_VAR],PropsWnd,FALSE);
			SetInteger(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_SHOWSELECTED_VAR],GetTagData(GTPA_IndicatorHeight,0,ng->ng_Tags));
			break;
	}
	SetInteger(PropsWnd,PG_PALT_FlagsGadgets[GD_PG_PALT_FLAGS_OFFSET],GetTagData(GTPA_ColorOffset,0,ng->ng_Tags));
	return TRUE;
}
Ejemplo n.º 13
0
ULONG INIT_Gadget(piClass *cl,piObject *o,Msg msg)
{
	struct Node_Gadget *ng;
	struct GadToolsData *gtd;
	ULONG active=0;
	struct Window *PropsWnd=NULL;

	piGetAttr(o,OBJ_Node,(ULONG *)&ng);
	GetAttr(PAGE_Active,PropertiesGadgets[GD_PROPERTIES_PAGES], &active);

	if(active==0) PropsWnd=PropertiesWnd; else PropsWnd=NULL;
	if(ng->ng_Type==GTYPE_GADTOOLS)
	{
		piGetAttr(o,GAOBJ_NodeData,(ULONG *)&gtd);

		SetString(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_LABEL],ng->ng_Label);
		SetString(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_TITLE],gtd->g_Text);
		SetInteger(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_X],ng->ng_X);
		SetInteger(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_Y],ng->ng_Y);
		SetInteger(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_WIDTH],ng->ng_Width);
		SetInteger(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_HEIGHT],ng->ng_Height);
		SetCycle(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_REL_X],ng->ng_RelX);
		SetCycle(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_REL_Y],ng->ng_RelY);
		SetCycle(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_REL_W],ng->ng_RelWidth);
		SetCycle(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_REL_H],ng->ng_RelHeight);
		GetFlag(gtd->g_Flags,PLACETEXT_IN) SetCycle(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_PLACEMENT],0);
		GetFlag(gtd->g_Flags,PLACETEXT_LEFT) SetCycle(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_PLACEMENT],1);
		GetFlag(gtd->g_Flags,PLACETEXT_RIGHT) SetCycle(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_PLACEMENT],2);
		GetFlag(gtd->g_Flags,PLACETEXT_ABOVE) SetCycle(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_PLACEMENT],3);
		GetFlag(gtd->g_Flags,PLACETEXT_BELOW) SetCycle(PropsWnd,PGGT_GeneralGadgets[GD_PGGT_PLACEMENT],4);
	}
	else
	{
		SetString(PropsWnd,PGBO_GeneralGadgets[GD_PGBO_LABEL],ng->ng_Label);
		SetInteger(PropsWnd,PGBO_GeneralGadgets[GD_PGBO_X],ng->ng_X);
		SetInteger(PropsWnd,PGBO_GeneralGadgets[GD_PGBO_Y],ng->ng_Y);
		SetInteger(PropsWnd,PGBO_GeneralGadgets[GD_PGBO_WIDTH],ng->ng_Width);
		SetInteger(PropsWnd,PGBO_GeneralGadgets[GD_PGBO_HEIGHT],ng->ng_Height);
		SetCycle(PropsWnd,PGBO_GeneralGadgets[GD_PGBO_REL_X],ng->ng_RelX);
		SetCycle(PropsWnd,PGBO_GeneralGadgets[GD_PGBO_REL_Y],ng->ng_RelY);
		SetCycle(PropsWnd,PGBO_GeneralGadgets[GD_PGBO_REL_W],ng->ng_RelWidth);
		SetCycle(PropsWnd,PGBO_GeneralGadgets[GD_PGBO_REL_H],ng->ng_RelHeight);
	}
	return TRUE;
}
Ejemplo n.º 14
0
bool CSettings::SetEx(String strSetting, String strValue)
{
	if(IsBool(strSetting))
		SetBool(strSetting, strValue.ToBoolean());
	else if(IsInteger(strSetting))
		SetInteger(strSetting, strValue.ToInteger());
	else if(IsFloat(strSetting))
		SetFloat(strSetting, strValue.ToFloat());
	else if(IsString(strSetting))
		SetString(strSetting, strValue);
	else if(IsList(strSetting))
		AddToList(strSetting, strValue);
	else
		return false;

	return true;
}
Ejemplo n.º 15
0
int Var::operator= (const int ivalue)
{
	SetInteger(ivalue);
	return ivalue;
}
Ejemplo n.º 16
0
CCharVariable& CCharVariable::operator =(const int Value)
{
 SetInteger(Value);
 return *this;
}
Ejemplo n.º 17
0
void AnimaRenderer::SetInteger(const char* propertyName, AInt value)
{
	AnimaString str(propertyName, _allocator);
	SetInteger(str, value);
}
Ejemplo n.º 18
0
bool AnimaMappedValues::ReadObject(const ptree& objectTree, AnimaScene* scene, bool readName)
{
	try
	{
		if(readName)
			SetName(objectTree.get<AnimaString>("AnimaMappedValues.Name"));
		
		for (auto& property : objectTree.get_child("AnimaMappedValues.Properties"))
		{
			if (property.first == "Property")
			{
				AnimaString name = property.second.get<AnimaString>("Name");
				AnimaString type = property.second.get<AnimaString>("Type");
				
				if(type == "bool")
				{
					bool value = property.second.get<bool>("Value");
					SetBoolean(name, value);
				}
				else if(type == "float")
				{
					AFloat value = property.second.get<AFloat>("Value");
					SetFloat(name, value);
				}
				else if(type == "integer")
				{
					AInt value = property.second.get<AInt>("Value");
					SetInteger(name, value);
				}
				else if(type == "matrix")
				{
					AnimaMatrix value = property.second.get<AnimaMatrix>("Value");
					SetMatrix(name, value);
				}
				else if(type == "vector")
				{
					for(auto& valueTree : property.second.get_child("Value"))
					{
						if(valueTree.first == "AnimaVectorGenerator")
						{
							ptree generatorTree;
							generatorTree.add_child("AnimaVectorGenerator", valueTree.second);
							
							AnimaString generatorName = _uniqueName + generatorTree.get<AnimaString>("AnimaVectorGenerator.Name");
							
							AnimaVectorGenerator* generator = _dataGeneratorManager->GetDataGeneratorOfTypeFromName<AnimaVectorGenerator>(generatorName);

							if(generator == nullptr)
								generator = _dataGeneratorManager->CreateVectorGenerator(generatorName);
							
							if(generator)
							{
								if(!generator->ReadObject(generatorTree, scene, false))
									return false;
								generator->SetGeneratedFromMappedValues(true);
								
								SetVector(name, generator);
							}
						}
					}
				}
				else if(type == "color")
				{
					for(auto& valueTree : property.second.get_child("Value"))
					{
						if(valueTree.first == "AnimaColorGenerator")
						{
							ptree generatorTree;
							generatorTree.add_child("AnimaColorGenerator", valueTree.second);
							
							AnimaString generatorName = _uniqueName + generatorTree.get<AnimaString>("AnimaColorGenerator.Name");
							
							AnimaColorGenerator* generator = _dataGeneratorManager->GetDataGeneratorOfTypeFromName<AnimaColorGenerator>(generatorName);
							
							if(generator == nullptr)
								generator = _dataGeneratorManager->CreateColorGenerator(generatorName);
							
							if(generator)
							{
								if(!generator->ReadObject(generatorTree, scene, false))
									return false;
								generator->SetGeneratedFromMappedValues(true);
								
								SetColor(name, generator);
							}
						}
					}
				}
				else if(type == "texture")
				{
					for(auto& valueTree : property.second.get_child("Value"))
					{
						if(valueTree.first == "AnimaTextureGenerator")
						{
							ptree generatorTree;
							generatorTree.add_child("AnimaTextureGenerator", valueTree.second);
							
							AnimaString generatorName = _uniqueName + generatorTree.get<AnimaString>("AnimaTextureGenerator.Name");
							
							AnimaTextureGenerator* generator = _dataGeneratorManager->GetDataGeneratorOfTypeFromName<AnimaTextureGenerator>(generatorName);
							
							if(generator == nullptr)
								generator = _dataGeneratorManager->CreateTextureGenerator(generatorName);
							
							if(generator)
							{
								if(!generator->ReadObject(generatorTree, scene, false))
									return false;
								generator->SetGeneratedFromMappedValues(true);
								
								SetTexture(name, generator);
							}
						}
					}
				}
			}
		}
		
		ptree namedObjectTree = objectTree.get_child("AnimaMappedValues.NamedObject");
		
		return AnimaNamedObject::ReadObject(namedObjectTree, scene, false);
	}
	catch (boost::property_tree::ptree_bad_path& exception)
	{
		AnimaLogger::LogMessageFormat("ERROR - Error parsing mapped values: %s", exception.what());
		return false;
	}
	catch (boost::property_tree::ptree_bad_data& exception)
	{
		AnimaLogger::LogMessageFormat("ERROR - Error parsing mapped values: %s", exception.what());
		return false;
	}
}