From David Callu,

"bug fix to reflect the wchar_t in Value and Value.cpp I add the toWString() function.
in Type and Type.cpp I just add two function to get a map of propertyList and a map of methodList
i need this map in my editor a i think it's could be util to put this functionnality in osgIntrospection,
This commit is contained in:
Robert Osfield
2006-09-01 12:52:15 +00:00
parent 96e1630cc7
commit 616097e465
10 changed files with 211 additions and 14 deletions

View File

@@ -20,6 +20,7 @@
#include <osgIntrospection/TypeNameAliasProxy>
#include <osgIntrospection/ConverterProxy>
#include <osgIntrospection/Converter>
#include <osgIntrospection/PublicMemberAccessor>
namespace osgIntrospection
{
@@ -85,6 +86,9 @@ namespace osgIntrospection
#define ATOMIC_VALUE_REFLECTOR(t) \
namespace { osgIntrospection::AtomicValueReflector<t > OSG_RM_LINEID(reflector) (#t); }
#define WATOMIC_VALUE_REFLECTOR(t) \
namespace { osgIntrospection::WAtomicValueReflector<t > OSG_RM_LINEID(reflector) (#t); }
#define STD_PAIR_REFLECTOR(t) \
namespace { osgIntrospection::StdPairReflector<t, t::first_type, t::second_type > OSG_RM_LINEID(reflector) (#t); }
@@ -212,6 +216,20 @@ struct BaseTypeConverters<x, reflected_type, true>
#define I_EnumLabel(x) addEnumLabel(x, #x, true);
// --------------------------------------------------------------------------
// PUBLIC MEMBER PROPERTIES
// --------------------------------------------------------------------------
#define I_PublicMemberProperty(t, n) \
cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, 0, 0)); \
cap->addAttribute(new osgIntrospection::CustomPropertyGetAttribute(new osgIntrospection::PublicMemberAccessor<reflected_type, t>(&reflected_type::n))); \
cap->addAttribute(new osgIntrospection::CustomPropertySetAttribute(new osgIntrospection::PublicMemberAccessor<reflected_type, t>(&reflected_type::n)));
// --------------------------------------------------------------------------
// SIMPLE PROPERTIES
// --------------------------------------------------------------------------