00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "CaelumPrecompiled.h"
00022 #include "TypeDescriptor.h"
00023
00024 #if CAELUM_TYPE_DESCRIPTORS
00025
00026 using namespace Ogre;
00027
00028 namespace Caelum
00029 {
00030 DefaultTypeDescriptor::DefaultTypeDescriptor ()
00031 {
00032 }
00033
00034 const ValuePropertyDescriptor* DefaultTypeDescriptor::getPropertyDescriptor (const Ogre::String& name) const
00035 {
00036 PropertyMap::const_iterator it = mPropertyMap.find(name);
00037 if (it != mPropertyMap.end()) {
00038 return it->second;
00039 } else {
00040 return 0;
00041 }
00042 }
00043
00044 const std::vector<String> DefaultTypeDescriptor::getPropertyNames () const
00045 {
00046 std::vector<String> result;
00047 for (TypeDescriptor::PropertyMap::const_iterator it = mPropertyMap.begin(), end = mPropertyMap.end(); it != end; ++it) {
00048 result.push_back(it->first);
00049 }
00050 return result;
00051 }
00052
00053 const TypeDescriptor::PropertyMap DefaultTypeDescriptor::getFullPropertyMap () const {
00054 return mPropertyMap;
00055 }
00056
00057 void DefaultTypeDescriptor::add (const Ogre::String& name, const ValuePropertyDescriptor* descriptor)
00058 {
00059 mPropertyMap.insert(make_pair(name, descriptor));
00060 }
00061 }
00062
00063 #endif