|
@@ -51,15 +51,15 @@ struct GetTypeInfo {
|
|
template <> \
|
|
template <> \
|
|
struct GetTypeInfo<m_type> { \
|
|
struct GetTypeInfo<m_type> { \
|
|
enum { VARIANT_TYPE = m_var_type }; \
|
|
enum { VARIANT_TYPE = m_var_type }; \
|
|
- static inline PropertyInfo get_class_info() { \
|
|
|
|
- return PropertyInfo((Variant::Type)VARIANT_TYPE,String()); \
|
|
|
|
|
|
+ static inline PropertyInfo get_class_info() { \
|
|
|
|
+ return PropertyInfo((Variant::Type)VARIANT_TYPE, String()); \
|
|
} \
|
|
} \
|
|
}; \
|
|
}; \
|
|
template <> \
|
|
template <> \
|
|
struct GetTypeInfo<const m_type &> { \
|
|
struct GetTypeInfo<const m_type &> { \
|
|
enum { VARIANT_TYPE = m_var_type }; \
|
|
enum { VARIANT_TYPE = m_var_type }; \
|
|
- static inline PropertyInfo get_class_info() { \
|
|
|
|
- return PropertyInfo((Variant::Type)VARIANT_TYPE,String()); \
|
|
|
|
|
|
+ static inline PropertyInfo get_class_info() { \
|
|
|
|
+ return PropertyInfo((Variant::Type)VARIANT_TYPE, String()); \
|
|
} \
|
|
} \
|
|
};
|
|
};
|
|
|
|
|
|
@@ -110,49 +110,47 @@ template <>
|
|
struct GetTypeInfo<RefPtr> {
|
|
struct GetTypeInfo<RefPtr> {
|
|
enum { VARIANT_TYPE = Variant::OBJECT };
|
|
enum { VARIANT_TYPE = Variant::OBJECT };
|
|
static inline PropertyInfo get_class_info() {
|
|
static inline PropertyInfo get_class_info() {
|
|
- return PropertyInfo(Variant::OBJECT,String(),PROPERTY_HINT_RESOURCE_TYPE,"Reference");
|
|
|
|
|
|
+ return PropertyInfo(Variant::OBJECT, String(), PROPERTY_HINT_RESOURCE_TYPE, "Reference");
|
|
}
|
|
}
|
|
};
|
|
};
|
|
template <>
|
|
template <>
|
|
struct GetTypeInfo<const RefPtr &> {
|
|
struct GetTypeInfo<const RefPtr &> {
|
|
enum { VARIANT_TYPE = Variant::OBJECT };
|
|
enum { VARIANT_TYPE = Variant::OBJECT };
|
|
static inline PropertyInfo get_class_info() {
|
|
static inline PropertyInfo get_class_info() {
|
|
- return PropertyInfo(Variant::OBJECT,String(),PROPERTY_HINT_RESOURCE_TYPE,"Reference");
|
|
|
|
|
|
+ return PropertyInfo(Variant::OBJECT, String(), PROPERTY_HINT_RESOURCE_TYPE, "Reference");
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
-
|
|
|
|
//for variant
|
|
//for variant
|
|
-template<>
|
|
|
|
|
|
+template <>
|
|
struct GetTypeInfo<Variant> {
|
|
struct GetTypeInfo<Variant> {
|
|
enum { VARIANT_TYPE = Variant::NIL };
|
|
enum { VARIANT_TYPE = Variant::NIL };
|
|
static inline PropertyInfo get_class_info() {
|
|
static inline PropertyInfo get_class_info() {
|
|
- return PropertyInfo(Variant::NIL,String(),PROPERTY_HINT_NONE,String(),PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_NIL_IS_VARIANT);
|
|
|
|
|
|
+ return PropertyInfo(Variant::NIL, String(), PROPERTY_HINT_NONE, String(), PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_NIL_IS_VARIANT);
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
-template<>
|
|
|
|
-struct GetTypeInfo<const Variant&> {
|
|
|
|
|
|
+template <>
|
|
|
|
+struct GetTypeInfo<const Variant &> {
|
|
enum { VARIANT_TYPE = Variant::NIL };
|
|
enum { VARIANT_TYPE = Variant::NIL };
|
|
static inline PropertyInfo get_class_info() {
|
|
static inline PropertyInfo get_class_info() {
|
|
- return PropertyInfo(Variant::NIL,String(),PROPERTY_HINT_NONE,String(),PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_NIL_IS_VARIANT);
|
|
|
|
|
|
+ return PropertyInfo(Variant::NIL, String(), PROPERTY_HINT_NONE, String(), PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_NIL_IS_VARIANT);
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
-
|
|
|
|
#define MAKE_TEMPLATE_TYPE_INFO(m_template, m_type, m_var_type) \
|
|
#define MAKE_TEMPLATE_TYPE_INFO(m_template, m_type, m_var_type) \
|
|
template <> \
|
|
template <> \
|
|
struct GetTypeInfo<m_template<m_type> > { \
|
|
struct GetTypeInfo<m_template<m_type> > { \
|
|
enum { VARIANT_TYPE = m_var_type }; \
|
|
enum { VARIANT_TYPE = m_var_type }; \
|
|
- static inline PropertyInfo get_class_info() { \
|
|
|
|
- return PropertyInfo((Variant::Type)VARIANT_TYPE,String()); \
|
|
|
|
|
|
+ static inline PropertyInfo get_class_info() { \
|
|
|
|
+ return PropertyInfo((Variant::Type)VARIANT_TYPE, String()); \
|
|
} \
|
|
} \
|
|
}; \
|
|
}; \
|
|
template <> \
|
|
template <> \
|
|
struct GetTypeInfo<const m_template<m_type> &> { \
|
|
struct GetTypeInfo<const m_template<m_type> &> { \
|
|
enum { VARIANT_TYPE = m_var_type }; \
|
|
enum { VARIANT_TYPE = m_var_type }; \
|
|
- static inline PropertyInfo get_class_info() { \
|
|
|
|
- return PropertyInfo((Variant::Type)VARIANT_TYPE,String()); \
|
|
|
|
|
|
+ static inline PropertyInfo get_class_info() { \
|
|
|
|
+ return PropertyInfo((Variant::Type)VARIANT_TYPE, String()); \
|
|
} \
|
|
} \
|
|
};
|
|
};
|
|
|
|
|
|
@@ -178,7 +176,6 @@ struct GetTypeInfo<T *, typename EnableIf<TypeInherits<Object, T>::value>::type>
|
|
static inline PropertyInfo get_class_info() {
|
|
static inline PropertyInfo get_class_info() {
|
|
return PropertyInfo(StringName(T::get_class_static()));
|
|
return PropertyInfo(StringName(T::get_class_static()));
|
|
}
|
|
}
|
|
-
|
|
|
|
};
|
|
};
|
|
|
|
|
|
template <typename T>
|
|
template <typename T>
|
|
@@ -190,13 +187,13 @@ struct GetTypeInfo<const T *, typename EnableIf<TypeInherits<Object, T>::value>:
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
-#define TEMPL_MAKE_ENUM_TYPE_INFO(m_enum, m_impl) \
|
|
|
|
- template <> \
|
|
|
|
- struct GetTypeInfo<m_impl> { \
|
|
|
|
- enum { VARIANT_TYPE = Variant::INT }; \
|
|
|
|
- static inline PropertyInfo get_class_info() { \
|
|
|
|
- return PropertyInfo(Variant::INT,String(),PROPERTY_HINT_NONE,String(),PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_CLASS_IS_ENUM,String(#m_enum).replace("::",".")); \
|
|
|
|
- } \
|
|
|
|
|
|
+#define TEMPL_MAKE_ENUM_TYPE_INFO(m_enum, m_impl) \
|
|
|
|
+ template <> \
|
|
|
|
+ struct GetTypeInfo<m_impl> { \
|
|
|
|
+ enum { VARIANT_TYPE = Variant::INT }; \
|
|
|
|
+ static inline PropertyInfo get_class_info() { \
|
|
|
|
+ return PropertyInfo(Variant::INT, String(), PROPERTY_HINT_NONE, String(), PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_CLASS_IS_ENUM, String(#m_enum).replace("::", ".")); \
|
|
|
|
+ } \
|
|
};
|
|
};
|
|
|
|
|
|
#define MAKE_ENUM_TYPE_INFO(m_enum) \
|
|
#define MAKE_ENUM_TYPE_INFO(m_enum) \
|
|
@@ -212,9 +209,15 @@ inline StringName __constant_get_enum_name(T param, const String &p_constant) {
|
|
return GetTypeInfo<T>::get_class_info().class_name;
|
|
return GetTypeInfo<T>::get_class_info().class_name;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+#define CLASS_INFO(m_type) \
|
|
|
|
+ (GetTypeInfo<m_type *>::VARIANT_TYPE != Variant::NIL ? \
|
|
|
|
+ GetTypeInfo<m_type *>::get_class_info() : \
|
|
|
|
+ GetTypeInfo<m_type>::get_class_info())
|
|
|
|
+
|
|
#else
|
|
#else
|
|
|
|
|
|
#define MAKE_ENUM_TYPE_INFO(m_enum)
|
|
#define MAKE_ENUM_TYPE_INFO(m_enum)
|
|
|
|
+#define CLASS_INFO(m_type)
|
|
|
|
|
|
#endif // DEBUG_METHODS_ENABLED
|
|
#endif // DEBUG_METHODS_ENABLED
|
|
|
|
|