YSTest: YSLib::UI::WidgetLoader类 参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

Public 成员函数 | Public 属性 | 所有成员列表
YSLib::UI::WidgetLoader类 参考

部件加载器。 更多...

`#include <Loader.h>`

YSLib::UI::WidgetLoader 的协作图:
[图例]

## Public 成员函数

unique_ptr< IWidget > | DetectWidgetNode (const ValueNode &)

异常

  std::out_of_range | 异常中立：找不到内部类型节点。

更多...

ValueNode | LoadUILayout (string_view)
| 加载 NPLA1 翻译单元，翻译后变换为 UI 布局树。 更多...
ValueNode | TransformUILayout (const ValueNode &)

变换 UI 布局树：根据 NPLA1 中间表示动态创建部件树。

异常

  std::out_of_range | 异常中立：找不到 $type 节点。
  ystdex::bad_any_cast | 异常中立：$type 节点的值不是 string 类型。

更多...

## Public 属性

GWidgetRegister | Default {}
GWidgetRegister< const Rect & > | Bounds {}
GWidgetInserterRegister< IWidget & > | Insert {}
GWidgetInserterRegister< IWidget &, const ZOrder & > | InsertZOrdered {}

## 详细描述

部件加载器。

自从
  build 434

在文件 Loader.h 第 236 行定义.

## 成员函数说明

unique_ptr< IWidget > YSLib::UI::WidgetLoader::DetectWidgetNode | ( | const ValueNode & | node | ) |

异常

  std::out_of_range | 异常中立：找不到内部类型节点。

在文件 Loader.cpp 第 78 行定义.

参考 YSLib::AccessNode(), YSLib::Drawing::bounds, Bounds, CatchIgnore, Default , 以及 YSLib::UI::ParseRect().

参考自 TransformUILayout().

函数调用图:

这是这个函数的调用关系图:

ValueNode YSLib::UI::WidgetLoader::LoadUILayout | ( | string_view | sv | ) |

加载 NPLA1 翻译单元，翻译后变换为 UI 布局树。

前置条件
  间接断言：参数的数据指针非空。

参见
  TransformUILayout

自从
  build 659

在文件 Loader.cpp 第 98 行定义.

参考 NPL::SContext::Analyze(), NPL::A1::LoadNode() , 以及 TransformUILayout().

函数调用图:

ValueNode YSLib::UI::WidgetLoader::TransformUILayout | ( | const ValueNode & | node | ) |

变换 UI 布局树：根据 NPLA1 中间表示动态创建部件树。

异常

  std::out_of_range | 异常中立：找不到 $type 节点。
  ystdex::bad_any_cast | 异常中立：$type 节点的值不是 string 类型。

参见
  CheckChildName

参数指定的树中，使用以下元数据名称的节点表示数据： $type 指定部件的类型； $pointer 使用 shared_ptr<IWidget> 类型的值指定部件； 可选 $z 指定 Z 顺序值。

在文件 Loader.cpp 第 106 行定义.

参考 YSLib::AccessNode(), CatchIgnore, YSLib::UI::DefaultZOrder(), platform::Deref(), DetectWidgetNode(), Insert, ystdex::mapped_set< _type, _fComp, _tAlloc >::insert(), InsertZOrdered, YSLib::Drawing::r , 以及 YSLib::UI::wgt.

参考自 LoadUILayout().

函数调用图:

这是这个函数的调用关系图:

## 类成员变量说明

GWidgetRegister<const Rect&> YSLib::UI::WidgetLoader::Bounds {}

在文件 Loader.h 第 240 行定义.

参考自 DetectWidgetNode() , 以及 YReader::FetchWidgetLoader().

GWidgetRegister YSLib::UI::WidgetLoader::Default {}

在文件 Loader.h 第 239 行定义.

参考自 DetectWidgetNode() , 以及 YReader::FetchWidgetLoader().

GWidgetInserterRegister<IWidget&> YSLib::UI::WidgetLoader::Insert {}

自从
  build 495

在文件 Loader.h 第 242 行定义.

参考自 YReader::FetchWidgetLoader() , 以及 TransformUILayout().

GWidgetInserterRegister<IWidget&, const ZOrder&> YSLib::UI::WidgetLoader::InsertZOrdered {}

自从
  build 555

在文件 Loader.h 第 244 行定义.

参考自 YReader::FetchWidgetLoader() , 以及 TransformUILayout().

该类的文档由以下文件生成:

- Loader.h
- Loader.cpp