|
SimpleWindow
|
属性定义辅助宏,用于在类中以单行声明的方式生成 sw::Property 系列成员 更多...
#include "INotifyPropertyChanged.h"#include "Property.h"宏定义 | |
| #define | _SW_DEFINE_STATIC_GETTER(field) |
| 在类内定义读取字段值的静态分发函数 Get##field(及配套 trait HasUserGetter##field) | |
| #define | _SW_DEFINE_STATIC_SETTER(field) |
| 在类内定义写入字段值的静态分发函数 Set##field(及配套 trait HasUserSetter##field) | |
| #define | SW_DEFINE_PROPERTY(name, field) |
| 定义基于字段的可读写属性 | |
| #define | SW_DEFINE_READONLY_PROPERTY(name, field) |
| 定义基于字段的只读属性 | |
| #define | SW_DEFINE_WRITEONLY_PROPERTY(name, field) |
| 定义基于字段的只写属性 | |
| #define | SW_DEFINE_NOTIFY_PROPERTY(name, field) |
| 定义基于字段的通知属性,赋值时通过 PropertyChanged 派发变更通知 | |
| #define | _SW_DEFINE_EXPR_PROPERTY_VALUETYPE_HELPER(propname) |
| 定义计算表达式属性值类型的辅助模板 ExprPropertyValueTypeHelper##propname | |
| #define | _SW_EXPR_PROPERTY_VALUETYPE(propname, expr) typename _ExprPropertyValueTypeHelper_##propname<decltype(expr)>::type |
| 取出表达式对应的属性值类型(属性时为其 TValue,否则为 decay 后的表达式类型) | |
| #define | _SW_DEFINE_EXPR_STATIC_GETTER(propname, expr) |
| 在类内定义读取表达式值的静态分发函数 Get##propname | |
| #define | _SW_DEFINE_EXPR_STATIC_SETTER(propname, expr) |
| 在类内定义写入表达式值的静态分发函数 Set##propname | |
| #define | SW_DEFINE_EXPR_PROPERTY(name, expr) |
| 定义基于表达式 self->{expr} 的可读写属性,不支持自定义 Getter/Setter | |
| #define | SW_DEFINE_EXPR_READONLY_PROPERTY(name, expr) |
| 定义基于表达式 self->{expr} 的只读属性,不支持自定义 Getter | |
| #define | SW_DEFINE_EXPR_WRITEONLY_PROPERTY(name, expr) |
| 定义基于表达式 self->{expr} 的只写属性,不支持自定义 Setter | |
| #define | SW_DEFINE_EXPR_NOTIFY_PROPERTY(name, expr) |
| 定义基于表达式 self->{expr} 的通知属性,赋值时通过 PropertyChanged 派发变更通知 | |
属性定义辅助宏,用于在类中以单行声明的方式生成 sw::Property 系列成员
| #define _SW_DEFINE_EXPR_PROPERTY_VALUETYPE_HELPER | ( | propname | ) |
定义计算表达式属性值类型的辅助模板 ExprPropertyValueTypeHelper##propname
| propname | 属性名 |
| #define _SW_DEFINE_EXPR_STATIC_GETTER | ( | propname, | |
| expr | |||
| ) |
在类内定义读取表达式值的静态分发函数 Get##propname
| propname | 属性名 |
| expr | 形如 self->{expr} 的表达式片段 |
| #define _SW_DEFINE_EXPR_STATIC_SETTER | ( | propname, | |
| expr | |||
| ) |
在类内定义写入表达式值的静态分发函数 Set##propname
| propname | 属性名 |
| expr | 形如 self->{expr} 的表达式片段 |
| #define _SW_DEFINE_STATIC_GETTER | ( | field | ) |
在类内定义读取字段值的静态分发函数 Get##field(及配套 trait HasUserGetter##field)
| field | 类中已声明的非静态数据成员名 |
| #define _SW_DEFINE_STATIC_SETTER | ( | field | ) |
在类内定义写入字段值的静态分发函数 Set##field(及配套 trait HasUserSetter##field)
| field | 类中已声明的非静态数据成员名 |
| #define _SW_EXPR_PROPERTY_VALUETYPE | ( | propname, | |
| expr | |||
| ) | typename _ExprPropertyValueTypeHelper_##propname<decltype(expr)>::type |
取出表达式对应的属性值类型(属性时为其 TValue,否则为 decay 后的表达式类型)
| propname | 属性名 |
| expr | 形如 self->{expr} 的表达式片段 |
| #define SW_DEFINE_EXPR_NOTIFY_PROPERTY | ( | name, | |
| expr | |||
| ) |
定义基于表达式 self->{expr} 的通知属性,赋值时通过 PropertyChanged 派发变更通知
| name | 生成的 sw::Property 成员名 |
| expr | 形如 self->{expr} 的表达式片段 |
| #define SW_DEFINE_EXPR_PROPERTY | ( | name, | |
| expr | |||
| ) |
定义基于表达式 self->{expr} 的可读写属性,不支持自定义 Getter/Setter
| name | 生成的 sw::Property 成员名 |
| expr | 形如 self->{expr} 的表达式片段 |
| #define SW_DEFINE_EXPR_READONLY_PROPERTY | ( | name, | |
| expr | |||
| ) |
定义基于表达式 self->{expr} 的只读属性,不支持自定义 Getter
| name | 生成的 sw::ReadOnlyProperty 成员名 |
| expr | 形如 self->{expr} 的表达式片段 |
| #define SW_DEFINE_EXPR_WRITEONLY_PROPERTY | ( | name, | |
| expr | |||
| ) |
定义基于表达式 self->{expr} 的只写属性,不支持自定义 Setter
| name | 生成的 sw::WriteOnlyProperty 成员名 |
| expr | 形如 self->{expr} 的表达式片段 |
| #define SW_DEFINE_NOTIFY_PROPERTY | ( | name, | |
| field | |||
| ) |
定义基于字段的通知属性,赋值时通过 PropertyChanged 派发变更通知
| name | 生成的 sw::Property 成员名 |
| field | 类中已声明的非静态数据成员名 |
| #define SW_DEFINE_PROPERTY | ( | name, | |
| field | |||
| ) |
定义基于字段的可读写属性
| name | 生成的 sw::Property 成员名 |
| field | 类中已声明的非静态数据成员名 |
| #define SW_DEFINE_READONLY_PROPERTY | ( | name, | |
| field | |||
| ) |
定义基于字段的只读属性
| name | 生成的 sw::ReadOnlyProperty 成员名 |
| field | 类中已声明的非静态数据成员名 |
| #define SW_DEFINE_WRITEONLY_PROPERTY | ( | name, | |
| field | |||
| ) |
定义基于字段的只写属性
| name | 生成的 sw::WriteOnlyProperty 成员名 |
| field | 类中已声明的非静态数据成员名 |