YSTest: YSLib::UI::AMUnitControlList类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Public 属性 | Private 属性 | 所有成员列表
YSLib::UI::AMUnitControlList类 参考
UI » User Interface Models

控件列表模块。 更多...

`#include <ListControl.h>`

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

## Public 类型

using | ViewArgs = GValueEventArgs< bool >
| 视图参数类型。 更多...

## Public 成员函数

| AMUnitControlList (unique_ptr< IWidget >)
| 构造：使用部件指针。 更多...
YB_ATTR_nodiscard YB_PURE IWidget & | GetUnitRef () const ImplI(AMUnitList)
void | SetUnit (unique_ptr< IWidget >)
| 设置单元部件。 更多...
YB_ATTR_nodiscard WidgetIterator | MakeIterator (size_t)
| 构造共享子部件迭代器。 更多...
YB_ATTR_nodiscard SDst | GetFullViewHeight () const
YB_ATTR_nodiscard SDst | GetItemHeight () const
YB_ATTR_nodiscard SDst | GetViewPosition () const

## Public 属性

GEvent< void(ViewArgs)> | ViewChanged
| 视图变更事件。 更多...
GEvent< void(IndexEventArgs)> | Selected
| 项目选择状态变更事件。 更多...
GEvent< void(IndexEventArgs)> | Confirmed
| 项目选中确认事件。 更多...
GEvent< void(size_t)> | Iterated
| 迭代器迭代事件。 更多...

## Private 属性

unique_ptr< IWidget > | p_unit

## 额外继承的成员函数

Protected 成员函数 继承自 YSLib::UI::AMUnitList
virtual YB_ATTR_nodiscard SDst | GetItemHeightCore () const
| 取默认行高：实现。 更多...
virtual | DefDeDtor (AMUnitList) bool CyclicTraverse
| 循环选择遍历。 更多...
YB_ATTR_nodiscard SDst | GetFullViewHeight () const
| 取完整视图高。 更多...
YB_ATTR_nodiscard SDst | GetItemHeight () const
| 取项目行高：调用 GetItemHeightCore 取结果。 更多...
YB_ATTR_nodiscard size_t | GetLastLabelIndexClipped (SPos, SDst) const
| DefGetter (const ynothrow, size_t, SharedIndex, idxShared) DefGetter(const ynothrow
uTopOffset | DeclIEntry (size_t GetTotal() const) DeclIEntry(IWidget &GetUnitRef() const) YB_ATTR_nodiscard Point GetUnitLocation(size_t) const
| 取单元总数。 更多...
YB_ATTR_nodiscard SDst | GetViewPosition () const
| 取视图顶端竖直位置。 更多...
SDst | AdjustBottomForHeight (SDst, SDst)
| 调整列表视图底项目（可能不完全）超出下边界以上的竖直偏移量为零。 更多...
SDst | AdjustOffsetForHeight (SDst, bool)
| 调整列表视图底项目的竖直偏移量为零。 更多...
void | AdjustViewForContent (SDst)
| 按内容大小依次调整视图中选中和第一个项目的索引，然后按需调整竖直偏移量。 更多...
void | AdjustViewLengthForHeight (SDst, SDst)
| 根据指定的单元部件的高和视图可视区域的高调整视图长度。 更多...
YB_ATTR_nodiscard size_t | CheckPoint (const Size &, const Point &)
| 检查点（相对左上角）是否在选择范围内， 更多...
void | ResetView ()
| 复位视图。 更多...
Protected 属性 继承自 YSLib::UI::AMUnitList
SequenceViewer | vwList {}
| 列表视图。 更多...
SDst | uTopOffset = 0
| 列表视图首项目超出上边界的竖直偏移量。 更多...
size_t | idxShared = size_t(-1)
| SDst
| TopOffset

## 详细描述

控件列表模块。

自从
  build 528

在文件 ListControl.h 第 55 行定义.

## 成员类型定义说明

## ◆ ViewArgs

using YSLib::UI::AMUnitControlList::ViewArgs = GValueEventArgs<bool>

视图参数类型。

参数

  表示主动定位视图。 |

自从
  build 268

在文件 ListControl.h 第 63 行定义.

## 构造及析构函数说明

## ◆ AMUnitControlList()

YSLib::UI::AMUnitControlList::AMUnitControlList | ( | unique_ptr< IWidget > | p_wgt | ) |

explicit

构造：使用部件指针。

注解
  当文本列表指针为空时新建。

自从
  build 613

在文件 ListControl.cpp 第 44 行定义.

## 成员函数说明

## ◆ GetFullViewHeight()

SDst YSLib::UI::AMUnitList::GetFullViewHeight

自从
  build 529

在文件 Viewer.cpp 第 228 行定义.

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

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

## ◆ GetItemHeight()

SDst YSLib::UI::AMUnitList::GetItemHeight

自从
  build 581

在文件 Viewer.cpp 第 236 行定义.

## ◆ GetUnitRef()

IWidget & YSLib::UI::AMUnitControlList::GetUnitRef | ( |  | ) | const

自从
  build 527

在文件 ListControl.cpp 第 50 行定义.

引用了 platform::Deref() , 以及 p_unit.

被这些函数引用 MakeIterator(), YSLib::UI::Menu::Menu(), YSLib::UI::MTextList::MTextList(), YSLib::UI::TextList::Refresh(), YSLib::UI::TextList::TextList(), YSLib::UI::TreeList::TreeList() , 以及 YSLib::UI::UpdateView().

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

## ◆ GetViewPosition()

SDst YSLib::UI::AMUnitList::GetViewPosition

自从
  build 529

在文件 Viewer.cpp 第 275 行定义.

## ◆ MakeIterator()

WidgetIterator YSLib::UI::AMUnitControlList::MakeIterator | ( | size_t | item_idx | ) |

构造共享子部件迭代器。

注解
  非强异常安全：状态和最后一次调用此方法相关。

自从
  build 523

在文件 ListControl.cpp 第 65 行定义.

引用了 YSLib::UI::FetchGUIState(), GetUnitRef(), YSLib::UI::AMUnitList::idxShared, Iterated, YSLib::UI::wgt , 以及 yunseq.

被这些函数引用 YSLib::UI::TextList::begin(), YSLib::UI::TextList::end() , 以及 YSLib::UI::TextList::Refresh().

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

## ◆ SetUnit()

void YSLib::UI::AMUnitControlList::SetUnit | ( | unique_ptr< IWidget > | p | ) |

设置单元部件。

异常

  std::invalid_argument | 参数为空。

自从
  build 580

在文件 ListControl.cpp 第 56 行定义.

引用了 platform::p , 以及 p_unit.

## 类成员变量说明

## ◆ Confirmed

GEvent<void(IndexEventArgs)> YSLib::UI::AMUnitControlList::Confirmed

项目选中确认事件。

自从
  build 478

当前选中项目被确定时触发的事件。

在文件 ListControl.h 第 85 行定义.

被这些函数引用 YSLib::UI::TextList::InvokeConfirmed() , 以及 YSLib::UI::Menu::Menu().

## ◆ Iterated

GEvent<void(size_t)> YSLib::UI::AMUnitControlList::Iterated

迭代器迭代事件。

自从
  build 529

在文件 ListControl.h 第 90 行定义.

被这些函数引用 MakeIterator(), YSLib::UI::Menu::Menu() , 以及 YSLib::UI::MTextList::MTextList().

## ◆ p_unit

unique_ptr<IWidget> YSLib::UI::AMUnitControlList::p_unit

private

在文件 ListControl.h 第 93 行定义.

被这些函数引用 GetUnitRef() , 以及 SetUnit().

## ◆ Selected

GEvent<void(IndexEventArgs)> YSLib::UI::AMUnitControlList::Selected

项目选择状态变更事件。

自从
  build 478

当项目被选中或取消选中时触发的事件。

在文件 ListControl.h 第 78 行定义.

## ◆ ViewChanged

GEvent<void(ViewArgs)> YSLib::UI::AMUnitControlList::ViewChanged

视图变更事件。

自从
  build 478

当视图长度或位置发生改变时触发的事件。

在文件 ListControl.h 第 71 行定义.

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

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

- ListControl.h
- ListControl.cpp