YSTest: YSLib::UI::MLinearUIContainer类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

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

线性部件容器模块。 更多...

`#include <YUIContainer.h>`

类 YSLib::UI::MLinearUIContainer 继承关系图:
[图例]

## Public 类型

using | ItemType = lref< IWidget >
| 部件组项目类型。 更多...
using | WidgetVector = vector< ItemType >
| 部件组类型。 更多...
using | iterator = WidgetIterator

## Public 成员函数

| DefDeCtor (MLinearUIContainer) DefDeMoveCtor(MLinearUIContainer) void operator+
| 无参数构造：默认实现。 更多...
bool | operator-= (IWidget &)
| 从部件组移除部件。 更多...
| PDefHOp (IWidget &, [], size_t idx) ynothrowv ImplRet(YAssert(idx< GetCount()
| 取指定索引的部件引用。 更多...
Index is out of vWidgets[idx] | PDefHOp (IWidget &, [], size_t idx) const ynothrowv ImplRet(YAssert(idx< GetCount()
Index is out of vWidgets[idx] Index is out of vWidgets[idx] YB_ATTR_nodiscard YB_PURE bool | Contains (IWidget &) const
| 判断是否包含指定部件。 更多...
| DefGetter (const ynothrow, size_t, Count, vWidgets.size()) size_t Find(IWidget &) const
| 取部件数。 更多...
void | PaintVisibleChildren (PaintEventArgs &)
| 绘制可视子部件。 更多...
| PDefH (IWidget &, at, size_t idx) ImplRet(vWidgets.at(idx)) PDefH(IWidget &
| 取指定索引的部件引用。 更多...
size_t idx const | ImplRet (vWidgets.at(idx)) iterator begin()
| PDefH (void, clear,) ynothrow ImplExpr(vWidgets.clear()) iterator end()

## Public 属性

Index is out of | range
Index is out of vWidgets[idx] Index is out of | range
| at

## Protected 属性

WidgetVector | vWidgets
| 部件组：存储部件引用。 更多...

## 详细描述

线性部件容器模块。

注解
  不支持 Z 顺序，但支持随机访问。

警告
  非虚析构。

自从
  build 494

在文件 YUIContainer.h 第 204 行定义.

## 成员类型定义说明

## ◆ ItemType

using YSLib::UI::MLinearUIContainer::ItemType = lref<IWidget>

部件组项目类型。

自从
  build 554

在文件 YUIContainer.h 第 211 行定义.

## ◆ iterator

using YSLib::UI::MLinearUIContainer::iterator = WidgetIterator

在文件 YUIContainer.h 第 214 行定义.

## ◆ WidgetVector

using YSLib::UI::MLinearUIContainer::WidgetVector = vector<ItemType>

部件组类型。

在文件 YUIContainer.h 第 213 行定义.

## 成员函数说明

## ◆ Contains()

bool YSLib::UI::MLinearUIContainer::Contains | ( | IWidget & | wgt | ) | const

判断是否包含指定部件。

自从
  build 495

在文件 YUIContainer.cpp 第 196 行定义.

引用了 ystdex::bind1(), ystdex::ref() , 以及 YSLib::UI::wgt.

函数调用图:

## ◆ DefDeCtor()

YSLib::UI::MLinearUIContainer::DefDeCtor | ( | MLinearUIContainer |  | ) |

无参数构造：默认实现。

自从
  build 537

向部件组添加部件。

注解
  部件已存在时忽略。

## ◆ DefGetter()

YSLib::UI::MLinearUIContainer::DefGetter | ( | const | ynothrow,
|  | size_t | ,
|  | Count | ,
|  | vWidgets. | size()
| ) |  | const &

取部件数。

自从
  build 495

查找部件。

返回
  若找到则为部件的索引，否则等于部件数。

自从
  build 495

## ◆ ImplRet()

size_t idx const YSLib::UI::MLinearUIContainer::ImplRet | ( | vWidgets. | atidx | ) |

## ◆ operator-=()

bool YSLib::UI::MLinearUIContainer::operator-= | ( | IWidget & | wgt | ) |

从部件组移除部件。

返回
  存在指定部件且移除成功。

从部件组移除部件。

在文件 YUIContainer.cpp 第 185 行定义.

引用了 ystdex::bind1(), ystdex::erase_all_if(), ystdex::ref(), YSLib::UI::wgt , 以及 YAssert.

被这些函数引用 YSLib::UI::TabBar::operator-=().

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

## ◆ PaintVisibleChildren()

void YSLib::UI::MLinearUIContainer::PaintVisibleChildren | ( | PaintEventArgs & |  | ) |

绘制可视子部件。

自从
  build 537

## ◆ PDefH() [1/2]

YSLib::UI::MLinearUIContainer::PDefH | ( | IWidget & | ,
|  | at | ,
|  | size_t | idx
| ) |  | &

取指定索引的部件引用。

异常

  std::out_of_range | 异常中立：由 vWidgets.at 抛出。

自从
  build 563

## ◆ PDefH() [2/2]

YSLib::UI::MLinearUIContainer::PDefH | ( | void | ,
|  | clear |
| ) |  |

自从
  build 537

## ◆ PDefHOp() [1/2]

Index is out of vWidgets [idx] YSLib::UI::MLinearUIContainer::PDefHOp | ( | IWidget & | ,
|  | size_t | idx
| ) |  | const

## ◆ PDefHOp() [2/2]

YSLib::UI::MLinearUIContainer::PDefHOp | ( | IWidget & | ,
|  | size_t | idx
| ) |  |

取指定索引的部件引用。

前置条件
  断言：参数小于部件数。

## 类成员变量说明

## ◆ at

YSLib::UI::MLinearUIContainer::at

在文件 YUIContainer.h 第 293 行定义.

## ◆ range [1/2]

Index is out of YSLib::UI::MLinearUIContainer::range

在文件 YUIContainer.h 第 250 行定义.

## ◆ range [2/2]

Index is out of vWidgets [idx] Index is out of YSLib::UI::MLinearUIContainer::range

在文件 YUIContainer.h 第 253 行定义.

## ◆ vWidgets

WidgetVector YSLib::UI::MLinearUIContainer::vWidgets

protected

部件组：存储部件引用。

在文件 YUIContainer.h 第 218 行定义.

被这些函数引用 YSLib::UI::TabBar::PerformLayout().

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

- YUIContainer.h
- YUIContainer.cpp