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

YSTest PreAlpha_b500_20140530 The YSLib Test Project

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

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

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 类型 | Public 成员函数 | Protected 成员函数 | Protected 属性 | 所有成员列表
YSLib::UI::MLinearUIContainer类 参考

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

`#include <yuicont.h>`

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

## Public 类型

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

## Public 成员函数

*vWidgets[idx]*vWidgets[idx] bool | Contains (IWidget &) const
| 判断是否包含指定部件。 更多...
| DefGetter (const ynothrow, size_t, Count, vWidgets.size()) size_t Find(IWidget &) const
| 取部件数。 更多...
| PDefHOp (IWidget &, [], size_t idx) ynothrowv ImplRet(YAssertNonnull(vWidgets[idx])
| 取指定索引的部件引用。 更多...
| YAssert (idx< GetCount(),"Index is out of range.")
*vWidgets[idx] | PDefHOp (IWidget &, [], size_t idx) const ynothrowv ImplRet(YAssertNonnull(vWidgets[idx])
*vWidgets[idx] | YAssert (idx< GetCount(),"Index is out of range.")

## Public 属性

PDefH(IWidget &, at, size_t idx) ythrow(std iterator | end ()

取指定索引的部件引用。

异常

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

更多...

## Protected 成员函数

| DefDeCtor (MLinearUIContainer) DefDeMoveCtor(MLinearUIContainer) void operator+
| 无参数构造：默认实现。 更多...
bool | operator-= (IWidget &)
| 从部件组移除部件。 更多...
void | PaintVisibleChildren (PaintEventArgs &)
| 绘制可视子部件。 更多...

## Protected 属性

WidgetVector | vWidgets

## 详细描述

线性部件容器模块。

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

警告
  非虚析构。

自从
  build 494

在文件 yuicont.h 第 176 行定义.

## 成员类型定义说明

using YSLib::UI::MLinearUIContainer::ItemType = IWidget*

部件组项目类型。

在文件 yuicont.h 第 180 行定义.

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

在文件 yuicont.h 第 183 行定义.

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

部件组类型。

在文件 yuicont.h 第 182 行定义.

## 成员函数说明

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

判断是否包含指定部件。

自从
  build 495

在文件 yuicont.cpp 第 176 行定义.

参考 YSLib::UI::wgt.

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

protected

无参数构造：默认实现。

向部件组添加部件。

注解
  部件已存在时忽略。

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

取部件数。

自从
  build 495

查找部件。

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

自从
  build 495

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

protected

从部件组移除部件。

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

从部件组移除部件。

在文件 yuicont.cpp 第 165 行定义.

参考 ystdex::erase_all() , 以及 YAssert.

参考自 YSLib::UI::TabBar::operator-=().

函数调用图:

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

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

protected

绘制可视子部件。

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

取指定索引的部件引用。

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

* vWidgets [idx] YSLib::UI::MLinearUIContainer::PDefHOp | ( | IWidget & | ,
|  | size_t | idx
| ) |  | const

YSLib::UI::MLinearUIContainer::YAssert | ( |  | ) |

* vWidgets [idx] YSLib::UI::MLinearUIContainer::YAssert | ( |  | ) |

## 类成员变量说明

MLinearUIContainer::iterator YSLib::UI::MLinearUIContainer::end

取指定索引的部件引用。

异常

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

注解
  仅抛出以上异常。

在文件 yuicont.h 第 270 行定义.

WidgetVector YSLib::UI::MLinearUIContainer::vWidgets

protected

在文件 yuicont.h 第 191 行定义.

参考自 YSLib::UI::TabBar::PerformLayout().

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

- yuicont.h
- yuicont.cpp