OROCHI
 
Loading...
Searching...
No Matches
GxProperty Class Reference

プロパティクラス More...

#include <GxProperty.h>

Classes

class  GxAccessor
 データアクセス基礎クラス More...
 
class  GxCustomProperty
 カスタム値登録クラス More...
 
class  GxFunction
 関数クラス More...
 
struct  GxInformation
 情報構造体 More...
 
class  GxInstanceAccessor
 インスタンスのアクセサクラス More...
 
class  GxPointerAccessor
 ポインタのアクセスクラス More...
 
class  GxStructUniqueFunction
 構造体のプロパティ関数を呼び出すクラス More...
 
class  GxTypeAccessor
 タイプ指定型データアクセステンプレートクラス More...
 
class  GxUniqueFunction
 プロパティ関数を呼び出すクラス More...
 

Public Member Functions

演算子
GxPropertyoperator= (const GxProperty &property)
 代入
 
操作
void callEvent (GxTypedObject *pObject=nullptr)
 イベントを呼び出す
 

定義

enum class  TYPE {
  UNKNOWN , CHAR , S8 , U8 ,
  S16 , U16 , S32 , U32 ,
  S64 , U64 , F32 , F64 ,
  B32 , CSTR , CWSTR , TEXT ,
  TEXT_W , COUNT_DATA , VECTOR2 , VECTOR3 ,
  VECTOR4 , VECTOR2D , VECTOR3D , VECTOR4D ,
  MATRIX44 , MATRIXAFFINE , QUATERNION , SIZE ,
  RECT , COLOR , COLOR_HDR , COLOR_HSV ,
  POINT2 , FLAG32_BASE , STRING , STRING_W ,
  STRUCT , OBJECT , PROPERTY , CUSTOM ,
  POINTER , STRING_POINTER , STRING_W_POINTER , OBJECT_POINTER ,
  RTTI_POINTER , PROPERTY_POINTER , FUNCTION_POINTER , STRUCT_POINTER ,
  CUSTOM_POINTER , SEPARATE , EVENT , EVENT_ARGUMENT ,
  PAGE_BEGIN , PAGE_END , SPAN , ICON ,
  COUNT_MAX
}
 タイプ定義 More...
 
enum  ATTRIBUTE {
  ATTRIBUTE_NONE = 0 , ATTRIBUTE_NAME = (1 << 0) , ATTRIBUTE_VALUE = (1 << 1) , ATTRIBUTE_DYNAMIC = (1 << 2) ,
  ATTRIBUTE_ARRAY = (1 << 3) , ATTRIBUTE_REFERENCE = (1 << 4) , ATTRIBUTE_POINTER = (1 << 5) , ATTRIBUTE_STRUCT = (1 << 6) ,
  ATTRIBUTE_RTTI = (1 << 7) , ATTRIBUTE_DYNAMIC_FUNCTION = (1 << 8) , ATTRIBUTE_READONLY = (1 << 9) , ATTRIBUTE_NOSERIALIZE = (1 << 10) ,
  ATTRIBUTE_HIDE = (1 << 11) , ATTRIBUTE_EXPAND = (1 << 12) , ATTRIBUTE_ALIAS = (1 << 13) , ATTRIBUTE_MULTI_DIFFERENT = (1 << 14) ,
  ATTRIBUTE_SLIDER = (1 << 15)
}
 属性定義 More...
 
enum class  EVENT_ARGUMENT_TYPE {
  POINTER , B32 , U32 , S32 ,
  F32
}
 引数付きイベント定義 More...
 
typedef void(GxClassBaseRoot::*) GET_VALUE_FUNCTION(void *const pValue)
 
typedef void(GxClassBaseRoot::*) SET_VALUE_FUNCTION(const void *const pValue)
 
typedef void(GxClassBaseRoot::*) GET_INDEX_VALUE_FUNCTION(void *const pValue, u32 index)
 
typedef void(GxClassBaseRoot::*) SET_INDEX_VALUE_FUNCTION(const void *const pValue, u32 index)
 
typedef u32(GxClassBaseRoot::*) GET_COUNT_FUNCTION(void) const
 
typedef void(GxClassBaseRoot::*) SET_COUNT_FUNCTION(u32 count)
 
typedef void(GxClassBaseRoot::*) EVENT_FUNCTION(void)
 
typedef void(GxClassBaseRoot::*) EVENT_ARGUMENT_FUNCTION_POINTER(void *pArgument)
 
typedef void(GxClassBaseRoot::*) EVENT_ARGUMENT_FUNCTION_B32(b32 argumentB32)
 
typedef void(GxClassBaseRoot::*) EVENT_ARGUMENT_FUNCTION_U32(u32 argumentU32)
 
typedef void(GxClassBaseRoot::*) EVENT_ARGUMENT_FUNCTION_S32(s32 argumentS32)
 
typedef void(GxClassBaseRoot::*) EVENT_ARGUMENT_FUNCTION_F32(f32 argumentF32)
 
typedef void(GxStructBase::*) STRUCT_GET_VALUE_FUNCTION(void *const pValue)
 
typedef void(GxStructBase::*) STRUCT_SET_VALUE_FUNCTION(const void *const pValue)
 
typedef void(GxStructBase::*) STRUCT_GET_INDEX_VALUE_FUNCTION(void *const pValue, u32 index)
 
typedef void(GxStructBase::*) STRUCT_SET_INDEX_VALUE_FUNCTION(const void *const pValue, u32 index)
 
typedef u32(GxStructBase::*) STRUCT_GET_COUNT_FUNCTION(void) const
 
typedef void(GxStructBase::*) STRUCT_SET_COUNT_FUNCTION(u32 count)
 
typedef void(GxStructBase::*) STRUCT_EVENT_FUNCTION(void)
 
typedef void(GxStructBase::*) STRUCT_EVENT_ARGUMENT_FUNCTION_POINTER(void *pArgument)
 
typedef void(GxStructBase::*) STRUCT_EVENT_ARGUMENT_FUNCTION_B32(b32 argumentB32)
 
typedef void(GxStructBase::*) STRUCT_EVENT_ARGUMENT_FUNCTION_U32(u32 argumentU32)
 
typedef void(GxStructBase::*) STRUCT_EVENT_ARGUMENT_FUNCTION_S32(s32 argumentS32)
 
typedef void(GxStructBase::*) STRUCT_EVENT_ARGUMENT_FUNCTION_F32(f32 argumentF32)
 
typedef void(*) PROPERTY_FUNCTION_GET_VALUE(const GxProperty *pProperty, const GxTypedObject *pOwner, void *const pValue, u32 index)
 
typedef void(*) PROPERTY_FUNCTION_SET_VALUE(GxProperty *pProperty, GxTypedObject *pOwner, const void *const pValue, u32 index)
 
typedef void(*) PROPERTY_FUNCTION_COPY_VALUE(GxProperty *pProperty, GxTypedObject *pObjectDst, GxTypedObject *pObjectSrc, u32 index)
 
typedef void(*) PROPERTY_FUNCTION_TO_STRING(GxProperty *pProperty, GxTypedObject *pOwner, GxString &string, u32 index)
 
typedef b32(*) PROPERTY_FUNCTION_FROM_STRING(GxProperty *pProperty, GxTypedObject *pOwner, GxString &string, u32 index)
 
typedef GxRtti &(*) PROPERTY_FUNCTION_GET_RTTI(const GxTypedObject *pObject)
 
static constexpr u32 DEFAULT_ID = 0xffffffffL
 デフォルトID
 
static constexpr u32 ATTRIBUTE_PACK_VALUE = ATTRIBUTE_VALUE
 属性の組み合わせ定義
 
static constexpr u32 ATTRIBUTE_PACK_STRUCT = ATTRIBUTE_VALUE | ATTRIBUTE_REFERENCE | ATTRIBUTE_RTTI | ATTRIBUTE_STRUCT
 
static constexpr u32 ATTRIBUTE_PACK_REFERENCE = ATTRIBUTE_VALUE | ATTRIBUTE_REFERENCE
 
static constexpr u32 ATTRIBUTE_PACK_POINTER = ATTRIBUTE_VALUE | ATTRIBUTE_POINTER
 
static constexpr u32 ATTRIBUTE_PACK_CSTR = ATTRIBUTE_READONLY | ATTRIBUTE_NOSERIALIZE
 
static constexpr u32 ATTRIBUTE_PACK_VOID_POINTER = ATTRIBUTE_READONLY | ATTRIBUTE_NOSERIALIZE
 
template<class T >
class GxTypeAccessor
 
static b32 getRttiAndValueFromString (const GxString &string, GxString &rttiName, GxString &propertyValueString)
 「クラス名.プロパティ値名」名を分割して取得
 
 GxProperty (GX_CHAR &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GX_CHAR &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GX_CHAR &value, u32 index=0)
 値を設定
 
 GxProperty (s8 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, s8 &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const s8 &value, u32 index=0)
 値を設定
 
 GxProperty (u8 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, u8 &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const u8 &value, u32 index=0)
 値を設定
 
 GxProperty (s16 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, s16 &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const s16 &value, u32 index=0)
 値を設定
 
 GxProperty (u16 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, u16 &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const u16 &value, u32 index=0)
 値を設定
 
 GxProperty (s32 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, s32 &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const s32 &value, u32 index=0)
 値を設定
 
 GxProperty (u32 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, u32 &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const u32 &value, u32 index=0)
 値を設定
 
 GxProperty (s64 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, s64 &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const s64 &value, u32 index=0)
 値を設定
 
 GxProperty (u64 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, u64 &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const u64 &value, u32 index=0)
 値を設定
 
 GxProperty (f32 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, f32 &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const f32 &value, u32 index=0)
 値を設定
 
 GxProperty (f64 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, f64 &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const f64 &value, u32 index=0)
 値を設定
 
 GxProperty (b32 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, b32 &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const b32 &value, u32 index=0)
 値を設定
 
 GxProperty (GX_CSTR &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GX_CSTR &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GX_CSTR &value, u32 index=0)
 値を設定
 
 GxProperty (GX_CWSTR &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GX_CWSTR &value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GX_CWSTR &value, u32 index=0)
 値を設定
 
 GxProperty (GxVector2 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxVector2 *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxVector2 *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxVector3 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxVector3 *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxVector3 *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxVector4 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxVector4 *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxVector4 *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxVector2d &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxVector2d *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxVector2d *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxVector3d &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxVector3d *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxVector3d *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxVector4d &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxVector4d *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxVector4d *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxMatrix44 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxMatrix44 *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxMatrix44 *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxMatrixAffine &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxMatrixAffine *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxMatrixAffine *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxQuaternion &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxQuaternion *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxQuaternion *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxSize &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxSize *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxSize *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxRect &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxRect *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxRect *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxColor &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxColor *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxColor *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxColorHDR &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxColorHDR *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxColorHDR *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxColorHSV &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxColorHSV *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxColorHSV *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxPoint2 &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxPoint2 *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxPoint2 *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxFlag32Base &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxFlag32Base *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxFlag32Base *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxString &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxString *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxString *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxStringW &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxStringW *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxStringW *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxClassBaseRoot &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxClassBaseRoot *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxClassBaseRoot *const &value, u32 index=0)
 値を設定
 
 GxProperty (GxProperty &, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxProperty *&value, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxProperty *const &value, u32 index=0)
 値を設定
 
 GxProperty (void *, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, void **const ppValue, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const void **const ppValue, u32 index=0)
 値を設定
 
 GxProperty (GxString *, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxString **const ppValue, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxString **const ppValue, u32 index=0)
 値を設定
 
 GxProperty (GxStringW *, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxStringW **const ppValue, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxStringW **const ppValue, u32 index=0)
 値を設定
 
 GxProperty (GxClassBaseRoot *, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxClassBaseRoot **const ppValue, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxClassBaseRoot **const ppValue, u32 index=0)
 値を設定
 
 GxProperty (const GxRtti *, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, const GxRtti **const ppValue, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxRtti **const ppValue, u32 index=0)
 値を設定
 
 GxProperty (GxProperty *, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, GxProperty **const ppValue, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxProperty **const ppValue, u32 index=0)
 値を設定
 
 GxProperty (const gx::core::GxFunction *, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 
void getValue (const GxTypedObject *pObject, const GxFunction **const ppValue, u32 index=0) const
 値を取得
 
void setValue (GxTypedObject *pObject, const GxFunction **const ppValue, u32 index=0)
 値を設定
 
void reflectValue (GxTypedObject *pObject, u32 index=0)
 自身を getValue() して setValue() する。(内部使用)
 

初期化

static void initialize (void)
 初期化
 
 GxProperty (void)
 デフォルトコンストラクタ
 
 GxProperty (TYPE type, const GxProperty::GxFunction &function, u32 attribute, GxRtti *pRtti, GxRtti *pOwnerRtti, u32 id)
 コンストラクタ
 

アクセサ

static GxInformationgetInformation (GxProperty::TYPE type)
 情報を取得
 
static GxCustomPropertygetCustomProperty (const GxRtti *pRtti)
 カスタムプロパティを取得
 
static GxCustomPropertygetCustomProperty (u32 id)
 カスタムプロパティを取得
 
static void registerCustomProperty (GxCustomProperty *pCustomProperty)
 カスタムプロパティを登録
 
static constexpr void * getDummyBuffer (void)
 ダミーバッファを取得
 
constexpr u32 getId (void) const
 IDを取得
 
constexpr void setId (u32 id)
 IDを設定
 
u32 getArrayCount (const GxTypedObject *pObject) const
 配列数を取得
 
void setArrayCount (GxTypedObject *pObject, u32 count)
 配列数を設定
 
GxInformationgetInformation (void) const
 情報を取得
 
GxRttigetRttiPointer (const GxTypedObject *pOwner=nullptr, const u32 index=0) const
 所有するRTTIを取得
 
const GxFunctiongetFunction (void) const
 関数を取得
 
constexpr GxRttigetMemberRtti (void) const
 RTTIを取得
 
constexpr void setMemberRtti (GxRtti *pRtti)
 RTTIを設定
 
constexpr GxRttigetOwnerRtti (void) const
 所持者のRTTIを取得
 
constexpr void setOwnerRtti (GxRtti *pOwnerRtti)
 所持者のRTTIを設定
 
b32 isStructCustomProperty (void) const
 構造体のカスタムプロパティか調べる
 
b32 isEvent (void) const
 イベントタイプか判定
 
GX_FORCE_INLINE b32 isAttribute (ATTRIBUTE attribute) const
 属性を判定
 
GX_FORCE_INLINE void setAttribute (ATTRIBUTE attribute, b32 enable)
 属性を設定
 
constexpr u32 getAttributeData (void) const
 属性データを取得
 
constexpr GxProperty::TYPE getType (void) const
 タイプを取得
 
constexpr void setType (GxProperty::TYPE type)
 タイプを設定
 

Detailed Description

プロパティクラス

Member Enumeration Documentation

◆ ATTRIBUTE

属性定義

Enumerator
ATTRIBUTE_NONE 

属性なし

ATTRIBUTE_NAME 

名前文字列を保持

ATTRIBUTE_VALUE 

数値を保持

ATTRIBUTE_DYNAMIC 

可変長

ATTRIBUTE_ARRAY 

配列

ATTRIBUTE_REFERENCE 

参照

ATTRIBUTE_POINTER 

ポインタ

ATTRIBUTE_STRUCT 

構造体

ATTRIBUTE_RTTI 

RTTIを保持

ATTRIBUTE_DYNAMIC_FUNCTION 

動的関数型

ATTRIBUTE_READONLY 

読み込み用

ATTRIBUTE_NOSERIALIZE 

シリアライズしない

ATTRIBUTE_HIDE 

非表示

ATTRIBUTE_EXPAND 

デフォルトで開く

ATTRIBUTE_ALIAS 

別名定義

ATTRIBUTE_MULTI_DIFFERENT 

関連するプロパティで値が異なる(複数選択時等)

ATTRIBUTE_SLIDER 

値の場合にスライダーを使用する

◆ EVENT_ARGUMENT_TYPE

引数付きイベント定義

Enumerator
POINTER 

ポインタ

B32 

真偽値

U32 

32bit符号無し整数

S32 

32bit符号付き整数

F32 

32bit浮動小数

◆ TYPE

enum class GxProperty::TYPE
strong

タイプ定義

Enumerator
UNKNOWN 

未定義

CHAR 

文字

S8 

8bit符号付き整数

U8 

8bit符号無し整数

S16 

16bit符号付き整数

U16 

16bit符号無し整数

S32 

32bit符号付き整数

U32 

32bit符号無し整数

S64 

64bit符号付き整数

U64 

64bit符号無し整数

F32 

32bit浮動小数

F64 

64bit浮動小数

B32 

真偽値

CSTR 

定数文字配列

CWSTR 

定数2バイト文字配列

TEXT 

文字列

TEXT_W 

2バイト文字列

COUNT_DATA 

データプロパティ数

VECTOR2 

2要素ベクトル

VECTOR3 

3要素ベクトル

VECTOR4 

4要素ベクトル

VECTOR2D 

2要素ベクトル(倍精度)

VECTOR3D 

3要素ベクトル(倍精度)

VECTOR4D 

4要素ベクトル(倍精度)

MATRIX44 

4×4行列

MATRIXAFFINE 

4×3行列

QUATERNION 

クウォータニオン

SIZE 

サイズ

RECT 

矩形

COLOR 

COLOR_HDR 

HDR色

COLOR_HSV 

HSV色

POINT2 

2要素整数ベクトル

FLAG32_BASE 

32bitフラグ

STRING 

文字列型

STRING_W 

2バイト文字列型

STRUCT 

その他の構造体

OBJECT 

オブジェクト参照

PROPERTY 

プロパティ参照

CUSTOM 

カスタム用

POINTER 

ポインタ

STRING_POINTER 

文字列ポインタ

STRING_W_POINTER 

2バイト文字列ポインタ

OBJECT_POINTER 

オブジェクトポインタ

RTTI_POINTER 

RTTIポインタ

PROPERTY_POINTER 

プロパティポインタ

FUNCTION_POINTER 

関数ポインタ

STRUCT_POINTER 

その他の構造体のポインタ

CUSTOM_POINTER 

カスタムのポインタ

SEPARATE 

セパレータ

EVENT 

イベント

EVENT_ARGUMENT 

引数イベント

PAGE_BEGIN 

ページ開始

PAGE_END 

ページ終了

SPAN 

区切り

ICON 

アイコン

COUNT_MAX 

定義数

Member Function Documentation

◆ callEvent()

void GxProperty::callEvent ( GxTypedObject * pObject = nullptr)

イベントを呼び出す

Parameters
pObject[in] 対象オブジェクト
Here is the call graph for this function:

◆ getArrayCount()

u32 GxProperty::getArrayCount ( const GxTypedObject * pObject) const

配列数を取得

Parameters
pObject[in] オブジェクト
Returns
配列数
Here is the call graph for this function:

◆ getCustomProperty() [1/2]

GxProperty::GxCustomProperty * GxProperty::getCustomProperty ( const GxRtti * pRtti)
static

カスタムプロパティを取得

Parameters
pRtti[in] RTTI
Returns
カスタムプロパティ
Here is the call graph for this function:

◆ getCustomProperty() [2/2]

GxProperty::GxCustomProperty * GxProperty::getCustomProperty ( u32 id)
static

カスタムプロパティを取得

Parameters
id[in] ID
Returns
カスタムプロパティ

◆ getRttiAndValueFromString()

b32 GxProperty::getRttiAndValueFromString ( const GxString & string,
GxString & rttiName,
GxString & propertyName )
static

「クラス名.プロパティ値名」名を分割して取得

Parameters
string[in] 文字列
rttiName[out] RTTI名
propertyName[out] プロパティ名
Returns
成功ならtrue
Here is the call graph for this function:

◆ getRttiPointer()

GxRtti * GxProperty::getRttiPointer ( const GxTypedObject * pOwner = nullptr,
const u32 index = 0 ) const

所有するRTTIを取得

Parameters
pOwner[in] オブジェクト
index[in] インデックス
Returns
RTTI
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getType()

GxProperty::TYPE GxProperty::getType ( void ) const
inlineconstexpr

タイプを取得

Parameters
name[in] 名前
Returns
種類
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isStructCustomProperty()

b32 GxProperty::isStructCustomProperty ( void ) const

構造体のカスタムプロパティか調べる

Returns
構造体のカスタムプロパティならtrue
Here is the call graph for this function:

◆ operator=()

GxProperty & GxProperty::operator= ( const GxProperty & property)

代入

Parameters
property[in] プロパティ
Returns
自身
Here is the caller graph for this function:

◆ reflectValue()

void GxProperty::reflectValue ( GxTypedObject * pObject,
u32 index = 0 )

自身を getValue() して setValue() する。(内部使用)

Parameters
pObject[in] 対象オブジェクト
index[in] インデックス
Here is the call graph for this function:

◆ registerCustomProperty()

void GxProperty::registerCustomProperty ( GxCustomProperty * pCustomProperty)
static

カスタムプロパティを登録

Parameters
pCustomProperty[in] カスタムプロパティ
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setArrayCount()

void GxProperty::setArrayCount ( GxTypedObject * pObject,
u32 count )

配列数を設定

Parameters
pObject[in] オブジェクト
count[in] 配列数
Here is the call graph for this function:

The documentation for this class was generated from the following files: