|
slot 0.0.1
A real time UI render framework
|
#include <SceneObjectDetailsBinding.h>

类 | |
| struct | FieldBinding |
Public 成员函数 | |
| SceneObjectDetailsBinding (ui::Layout &layout, ResourceManager &resources, std::function< void()> resourcesChanged={}) | |
| ~SceneObjectDetailsBinding ()=default | |
| void | Bind (GameObject *object, ui::TreeViewItemNode *treeItem=nullptr) |
| void | Synchronize () |
| void | Unbind () |
Private 成员函数 | |
| void | BindField (const char *key, std::function< std::string()> read, std::function< bool(const std::string &)> write) |
| void | BindFloat (const char *key, float &value, std::function< void()> valueChanged={}) |
| void | SetInputsEnabled (bool enabled) |
Private 属性 | |
| ui::Layout & | EditorLayout |
| ResourceManager & | Resources |
| std::function< void()> | ResourcesChanged |
| std::vector< FieldBinding > | Fields |
把 Details 的保留式 TextInput 投影到一个场景对象。
控件不拥有业务数据;输入回调只修改当前对象,逐帧同步则把外部模型变化拉回 未聚焦的输入框。聚焦字段由用户暂时拥有,避免半成品数字被下一帧覆盖。
| SceneObjectDetailsBinding::SceneObjectDetailsBinding | ( | ui::Layout & | layout, |
| ResourceManager & | resources, | ||
| std::function< void()> | resourcesChanged = {} ) |
|
default |
| void SceneObjectDetailsBinding::Bind | ( | GameObject * | object, |
| ui::TreeViewItemNode * | treeItem = nullptr ) |
重新绑定选择;treeItem 只用于让名称修改同步更新 World Outliner。

|
private |


|
private |


| void SceneObjectDetailsBinding::Synchronize | ( | ) |
从模型刷新所有未聚焦字段,形成双向绑定的 model-to-view 方向。
| void SceneObjectDetailsBinding::Unbind | ( | ) |
清除当前 Layout 中旧控件的回调;选择切换时由 Bind 自动调用。

|
private |
|
private |
|
private |
|
private |