YSTest: YSLib::UI::ListBox类 参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

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

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

带滚动条的文本列表框。 更多...

`#include <ComboList.h>`

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

## Public 类型

using | ListType = TextList::ListType
using | ViewArgs = TextList::ViewArgs
using | IndexType = TextList::IndexType
using | ItemType = TextList::ItemType
using | iterator = ystdex::subscriptive_iterator< ListBox, IWidget >
Public 类型 继承自 YSLib::UI::ScrollableContainer
using | iterator = ystdex::subscriptive_iterator< ScrollableContainer, IWidget >

## Public 成员函数

| ListBox (const Rect &={}, const shared_ptr< ListType > &={})
| DefDeMoveCtor (ListBox)~ListBox() override
| 虚析构：类定义外默认实现。 更多...
| DefWidgetMemberIterationBase (ScrollableContainer, GetTextListRef()) PDefH(bool
ListType::size_type i const ynothrow | ImplRet (GetTextListRef().Contains(i)) DefPredMem(const ynothrow
ListType::size_type i const ynothrow | GetTextListRef ()) DefGetter(
| 项目选中确定事件。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | GetTextListRef ().Confirmed) DefGetterMem(const
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | GetTextListRef ()) DefGetterMem(const
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | GetTextListRef ()) DefGetterMem(const
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType | GetTextListRef ()) DefGetterMem(
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType | GetTextListRef ()) DefGetter(
| 项目选择状态变更事件。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> | GetTextListRef ().Selected) DefGetter(const
| 取文本列表引用。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList | Deref (pTextList)) DefGetter(
| 视图变更事件。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> | GetTextListRef ().ViewChanged) DefSetterMem(
| 设置文本列表。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > | GetTextListRef ()) PDefH(void
| 设置选中项。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ImplExpr (GetTextListRef().SetSelected(i)) PDefH(void
| 按内容大小依次调整列表视图中选中和首个项目的索引。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ImplExpr (GetTextListRef().AdjustViewForContent()) PDefH(void
| 调整视图长度。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ImplExpr (GetTextListRef().AdjustViewLength()) PDefH(void
| 清除选中项。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ImplExpr (GetTextListRef().ClearSelected()) PDefH(void
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ImplExpr (GetTextListRef().ResetView()) void ResizeForPreferred(const Size &sup
| 按指定大小上限和内容调整大小。 更多...
Public 成员函数 继承自 YSLib::UI::ScrollableContainer
| ScrollableContainer (const Rect &={})
| DefDeMoveCtor (ScrollableContainer)~ScrollableContainer() override
| 虚析构：类定义外默认实现。 更多...
Public 成员函数 继承自 YSLib::UI::Widget
| Widget (const Rect &={})
| Widget (const Rect &, HBrush)
template<typename _tView , typename _tRenderer , typename _tController >
| Widget (_tView &&pView_=make_unique< View >(), _tRenderer &&pRenderer_=make_unique< Renderer >(), _tController &&pController_={})
| 构造：使用视图指针、渲染器指针和控制器指针，无背景。 更多...
| Widget (const Widget &)
| 复制构造：除容器指针为空外深复制。 更多...
| DefDelMoveCtor (Widget) virtual ~Widget()
| since build 428 更多...
| DefGetter (ImplI(IWidget), WidgetRange, Children, WidgetRange()) static HBrush MakeBlankBrush()
| 取空白画刷。 更多...
| DefGetter (const ImplI(IWidget), AController &, Controller, Deref(controller_ptr)) DefGetterMem(const ynothrow
| GetView ()) DefGetter(const ImplI(IWidget)
Renderer | Deref (renderer_ptr)) DefGetter(const ImplI(IWidget)
Renderer AView | Deref (view_ptr)) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) void SetRenderer(unique_ptr< Renderer >)
| 设置渲染器为指定指针指向的对象，同时更新渲染器状态。 更多...
void | SetView (unique_ptr< AView >)
| 设置视图为指定指针指向的对象。 更多...
virtual void | Refresh (PaintEventArgs &&)
| 刷新：按指定参数绘制界面并更新状态。 更多...

## Public 属性

| Contains
ListType::size_type i const ynothrow | Selected
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | Confirmed
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | HeadIndex
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | SelectedIndex
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType | List
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType | ListRef
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> | Selected
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList | TextListRef
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> | ViewChanged
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > | List
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > | SetSelected
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | AdjustViewForContent
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | AdjustViewLength
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ClearSelected
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ResetView
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i Size | s = {})
Public 属性 继承自 YSLib::UI::Widget
HBrush | Background
| 背景。 更多...
| SDst
| Height
Renderer | Renderer
Renderer AView | View
Renderer AView | SDst
Renderer AView | Width
Renderer AView | SPos
Renderer AView | X
Renderer AView | Y
Renderer AView | Height

## Protected 成员函数

| ListBox (const Rect &, unique_ptr< TextList >)
Protected 成员函数 继承自 YSLib::UI::Control
| Control (const Rect &, HBrush)
| 构造：使用指定边界和背景画刷。 更多...
| Control (const Control &)
| 复制构造：除容器为空外深复制。 更多...
| DefDeMoveCtor (Control)~Control() override
| 虚析构：类定义外默认实现。 更多...
virtual | PDefH (observer_ptr< IWidget >, GetBoundControlPtr, const KeyInput &) ImplRet(nullptr) void OnTouch_Close(CursorEventArgs &&)
| 取按键-指针设备输入默认事件组映射。 更多...

## Protected 属性

unique_ptr< TextList > | pTextList
| 文本列表指针。 更多...
Protected 属性 继承自 YSLib::UI::ScrollableContainer
ScrollBar | hsbHorizontal
| 控制水平和竖直可视区域的水平滚动条。 更多...
ScrollBar | vsbVertical

## 额外继承的成员函数

相关函数 继承自 YSLib::UI::Widget
template<class... _tWidgets>
void | InvalidateWidgets (_tWidgets &...wgts)
| 向无效化部件。 更多...
template<class _tRenderer >
_tRenderer & | WrapRenderer (Widget &wgt, unique_ptr< _tRenderer > p_renderer)
| 包装渲染器：设置渲染器并返回被设置的渲染器引用。 更多...

## 详细描述

带滚动条的文本列表框。

不变性
  `dynamic_cast<TextList*>(pTextList.get())` 。

自从
  build 205

待办事项:
  实现 Resize 事件调整内容布局。

在文件 ComboList.h 第 49 行定义.

## 成员类型定义说明

using YSLib::UI::ListBox::IndexType = TextList::IndexType

自从
  build 316

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

using YSLib::UI::ListBox::ItemType = TextList::ItemType

自从
  build 316

在文件 ComboList.h 第 57 行定义.

using YSLib::UI::ListBox::iterator = ystdex::subscriptive_iterator<ListBox, IWidget>

自从
  build 460

在文件 ComboList.h 第 59 行定义.

using YSLib::UI::ListBox::ListType = TextList::ListType

在文件 ComboList.h 第 52 行定义.

using YSLib::UI::ListBox::ViewArgs = TextList::ViewArgs

在文件 ComboList.h 第 53 行定义.

## 构造及析构函数说明

YSLib::UI::ListBox::ListBox | ( | const Rect & | r,
|  | unique_ptr< TextList > | p_textlist
| ) |  |

explicitprotected

自从
  build 613

在文件 ComboList.cpp 第 63 行定义.

参考 YSLib::UI::Widget::Background, YSLib::UI::e, YSLib::Drawing::GetHeight(), GetTextListRef(), YSLib::UI::ScrollBar::GetTrackRef(), YSLib::Drawing::Size::Height, ystdex::make_observer(), ResetView, YSLib::UI::ATrack::Scroll, YSLib::UI::Widget::SDst, YSLib::UI::SetSizeOf() , 以及 YSLib::UI::ScrollableContainer::vsbVertical.

函数调用图:

YSLib::UI::ListBox::ListBox | ( | const Rect & | r = `{}`,
|  | const shared_ptr< ListType > & | h = `{}`
| ) |  |

explicit

自从
  build 337

在文件 ComboList.cpp 第 93 行定义.

## 成员函数说明

YSLib::UI::ListBox::DefDeMoveCtor | ( | ListBox |  | ) |

override

虚析构：类定义外默认实现。

自从
  build 586

YSLib::UI::ListBox::DefWidgetMemberIterationBase | ( | ScrollableContainer | ,
|  | GetTextListRef() |
| ) |  |

自从
  build 357
  build 639

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList YSLib::UI::ListBox::Deref | ( | pTextList |  | ) |

视图变更事件。

ListType::size_type i const ynothrow YSLib::UI::ListBox::GetTextListRef | ( |  | ) |

项目选中确定事件。

自从
  build 534

参考自 ListBox().

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

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> YSLib::UI::ListBox::GetTextListRef | ( |  | ) | const

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> YSLib::UI::ListBox::GetTextListRef | ( |  | ) | const

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> YSLib::UI::ListBox::GetTextListRef | ( |  | ) | const

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType YSLib::UI::ListBox::GetTextListRef | ( |  | ) |

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType YSLib::UI::ListBox::GetTextListRef | ( |  | ) |

项目选择状态变更事件。

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> YSLib::UI::ListBox::GetTextListRef | ( |  | ) | const

取文本列表引用。

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> YSLib::UI::ListBox::GetTextListRef | ( |  | ) |

设置文本列表。

自从
  build 292

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> YSLib::UI::ListBox::GetTextListRef | ( |  | ) |

设置选中项。

参见
  TextList::SetSelected

自从
  build 285

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> ListType::size_type i YSLib::UI::ListBox::ImplExpr | ( | GetTextListRef().SetSelected(i) |  | ) |

按内容大小依次调整列表视图中选中和首个项目的索引。

警告
  若视图大小变化后不调用此方法调整视图，可能引起选择项越界而行为未定义。

参见
  TextList::AdjustViewLength

自从
  build 392

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> ListType::size_type i YSLib::UI::ListBox::ImplExpr | ( | GetTextListRef().AdjustViewForContent() |  | ) |

调整视图长度。

参见
  TextList::AdjustViewLength

自从
  build 285

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> ListType::size_type i YSLib::UI::ListBox::ImplExpr | ( | GetTextListRef().AdjustViewLength() |  | ) |

清除选中项。

参见
  TextList::ClearSelected

自从
  build 285

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> ListType::size_type i YSLib::UI::ListBox::ImplExpr | ( | GetTextListRef().ClearSelected() |  | ) |

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> ListType::size_type i YSLib::UI::ListBox::ImplExpr | ( | GetTextListRef().ResetView() |  | ) | const

按指定大小上限和内容调整大小。

参数

  sup | 指定调整的大小的上限，当为 Size() 时忽略大小限制。
  s | 指定大小，分量为 0 时对应分量大小由内容确定（其中宽度含边距）。

自从
  build 337

ListType::size_type i const ynothrow YSLib::UI::ListBox::ImplRet | ( | GetTextListRef().Contains(i) |  | ) | const

## 类成员变量说明

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> ListType::size_type i YSLib::UI::ListBox::AdjustViewForContent

在文件 ComboList.h 第 129 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> ListType::size_type i YSLib::UI::ListBox::AdjustViewLength

在文件 ComboList.h 第 137 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> ListType::size_type i YSLib::UI::ListBox::ClearSelected

在文件 ComboList.h 第 145 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> YSLib::UI::ListBox::Confirmed

在文件 ComboList.h 第 94 行定义.

YSLib::UI::ListBox::Contains

在文件 ComboList.h 第 87 行定义.

参考自 YSLib::UI::FileBox::FileBox().

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> YSLib::UI::ListBox::HeadIndex

在文件 ComboList.h 第 96 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType YSLib::UI::ListBox::List

在文件 ComboList.h 第 98 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> YSLib::UI::ListBox::List

在文件 ComboList.h 第 114 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType YSLib::UI::ListBox::ListRef

在文件 ComboList.h 第 99 行定义.

unique_ptr<TextList> YSLib::UI::ListBox::pTextList

protected

文本列表指针。

自从
  build 534

在文件 ComboList.h 第 66 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> ListType::size_type i YSLib::UI::ListBox::ResetView

在文件 ComboList.h 第 148 行定义.

参考自 YSLib::UI::FileBox::FileBox() , 以及 ListBox().

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> ListType::size_type i Size YSLib::UI::ListBox::s = {})

在文件 ComboList.h 第 158 行定义.

ListType::size_type i const ynothrow YSLib::UI::ListBox::Selected

在文件 ComboList.h 第 89 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> YSLib::UI::ListBox::Selected

在文件 ComboList.h 第 101 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> YSLib::UI::ListBox::SelectedIndex

在文件 ComboList.h 第 97 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> const shared_ptr<ListType> YSLib::UI::ListBox::SetSelected

在文件 ComboList.h 第 120 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList YSLib::UI::ListBox::TextListRef

在文件 ComboList.h 第 104 行定义.

ListType::size_type i const ynothrow GEvent<void(IndexEventArgs)> const ListType ListType GEvent<void(IndexEventArgs)> TextList GEvent<void(ViewArgs)> YSLib::UI::ListBox::ViewChanged

在文件 ComboList.h 第 106 行定义.

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

- ComboList.h
- ComboList.cpp