TVarReference THeapManager::addVariable (EAttribType eType) { TVarReference tRef; switch ( eType ) { case FX_REAL: { tHeap.push_back (TVariable (TAttribReal())); } break; case FX_BOOL: { tHeap.push_back (TVariable (TAttribBool())); } break; case FX_STRING: { tHeap.push_back (TVariable (TAttribString())); } break; case FX_COLOR: { tHeap.push_back (TVariable (TAttribColor())); } break; case FX_VECTOR: { tHeap.push_back (TVariable (TAttribVector())); } break; case FX_VECTOR2: { tHeap.push_back (TVariable (TAttribVector2())); } break; default: { return tHeap.end(); } break; } tRef = tHeap.end(); tRef--; return tRef; } /* addVariable() */
bool CCategory::Write( CCategoryKeyParser& aKey, const CVariant& aValue ) { bool ret( false ); std::string categoryName; if( aKey.NextCategory( categoryName ) ) { TCategorySeq::iterator i( _categories.find( categoryName ) ); if( i == _categories.end() ) { i = _categories.insert( TCategorySeq::value_type( categoryName, TCategory( categoryName, *new CCategory() ) ) ).first; } ret = i->second.second->Write( aKey, aValue ); } else { std::string variableName; if( aKey.Variable( variableName ) ) { TVariableSeq::iterator i( _variables.find( variableName ) ); if( i == _variables.end() ) { i = _variables.insert( TVariableSeq::value_type( variableName, TVariable( variableName, *new CVariable() ) ) ).first; } *i->second.second = aValue; ret = true; } } return ret; }