YSTest: YSLib::UI::ATrack类 参考

YSTest PreAlpha_b400_20130424 The YSLib Test Project

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

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

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

轨道。 更多...

`#include <scroll.h>`

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

## Public 类型

enum | Area { None = 0, OnThumb = 1, OnPrev = 2, OnNext = 3 }
| 轨道区域。 更多...
typedef ScrollEventArgs::ValueType | ValueType
typedef ystdex::subscriptive_iterator < ATrack, IWidget > | Iterator
Public 类型 继承自 YSLib::GMRange< ScrollEventArgs::ValueType >
typedef ScrollEventArgs::ValueType | ValueType

## Public 成员函数

| ATrack (const Rect &={}, SDst=8)
| 构造：使用指定边界和大小。
| ATrack (ATrack &&)=default
bool | IsHorizontal () const ynothrow
bool | IsVertical () const ynothrow
Iterator | GetBegin ()
Iterator | GetEnd ()
WidgetRange | GetChildren () override
IWidget & | operator[] (size_t idx) ynoexcept
size_t | GetChildrenCount () const ynothrow
GEvent< void(HUIEvent::EventArgsType)> & | GetThumbDrag () ynothrow
| 滑块拖动事件。
GEvent< void(HScrollEvent::EventArgsType)> & | GetScroll () ynothrow
| 滚动事件。
SDst | GetMinThumbLength () const ynothrow
virtual Orientation | GetOrientation () const =0
| 取轨道方向。
SDst | GetScrollableLength () const ynothrow
| 取可滚动区域长度。
SDst | GetThumbLength () const ynothrow
| 取轨道方向上的滑块长度。
SDst | GetThumbPosition () const ynothrow
| 取滑块位置。
virtual SDst | GetTrackLength () const ynothrow
| 取轨道方向上的轨道长度。
ValueType | GetLargeDelta () const ynothrow
virtual void | SetThumbLength (SDst)
| 设置轨道方向上的滑块长度。
void | SetThumbPosition (SPos)
| 设置滑块位置。
void | SetMaxValue (ValueType)
| 设置滚动事件关联值最大取值。
void | SetValue (ValueType)
| 设置滚动事件关联值。
void | SetLargeDelta (ValueType)
| 设置大距离滚动偏移量。
void | LocateThumb (ValueType, ScrollCategory=ScrollCategory::ThumbPosition)
| 定位滑块。
Public 成员函数 继承自 YSLib::UI::Control
| Control (const Rect &={})
| 构造：使用指定边界，默认背景（同 Widget 默认构造）。
| Control (const Rect &, NoBackgroundTag)
| 构造：使用指定边界，无背景。
| Control (const Control &)
| 复制构造：除容器为空外深复制。
| Control (Control &&)=default
virtual IWidget * | GetBoundControlPtr (const KeyInput &)
| 取按键-指针设备输入默认事件组映射。
void | OnTouch_Close (TouchEventArgs &&)
| 处理屏幕事件：关闭显示。
Public 成员函数 继承自 YSLib::UI::Widget
| Widget (const Rect &={}, Color=Drawing::ColorSpace::White, Color=Drawing::ColorSpace::Black)
template<typename _tView , typename _tRenderer , typename _tController >
| Widget (_tView &&pView_=make_unique< View >(), _tRenderer &&pRenderer_=make_unique< Renderer >(), _tController &&pController_={})
| 构造：使用视图指针、渲染器指针和控制器指针，无背景。
| Widget (const Widget &)
| 复制构造：除容器指针为空外深复制。
| Widget (Widget &&)=default
virtual | ~Widget ()
| 析构：虚实现。
SPos | GetX () const ynothrow
SPos | GetY () const ynothrow
SDst | GetWidth () const ynothrow
SDst | GetHeight () const ynothrow
virtual Renderer & | GetRenderer () const ynothrow
| 取渲染器。
virtual View & | GetView () const ynothrow
| 取部件视图。
virtual AController & | GetController () const override
| 取控制器。
void | SetX (SDst _tempArgName)
void | SetY (SDst _tempArgName)
void | SetWidth (SDst _tempArgName)
void | SetHeight (SDst _tempArgName)
void | SetRenderer (unique_ptr< Renderer > &&)
| 设置渲染器为指定指针指向的对象，同时更新渲染器状态。
void | SetView (unique_ptr< View > &&)
| 设置渲染器为指定指针指向的对象，同时更新渲染器状态。
virtual void | Refresh (PaintEventArgs &&)
| 刷新：按指定参数绘制界面并更新状态。
Public 成员函数 继承自 YSLib::UI::IWidget
virtual | ~IWidget ()
Public 成员函数 继承自 YSLib::GMRange< ScrollEventArgs::ValueType >
ValueType | GetMaxValue () const ynothrow
ValueType | GetValue () const ynothrow

## Protected 成员函数

Area | CheckArea (SPos) const
| 检查轨道方向指定位置所在的区域。
Protected 成员函数 继承自 YSLib::GMRange< ScrollEventArgs::ValueType >
| GMRange (ValueType m, ValueType v)
| 构造：使用指定最大取值和值。

## Protected 属性

Thumb | tmbScroll
| 滑块：轨道区域上的滚动框。
Protected 属性 继承自 YSLib::GMRange< ScrollEventArgs::ValueType >
ValueType | max_value
| 最大取值。
ValueType | value
| 值。

## Private 属性

SDst | min_thumb_length
| 最小滑块长度。
ValueType | large_delta
| 大距离滚动偏移量：滚动事件关联的滑块位置变化绝对值。
GEvent< void(HUIEvent::EventArgsType)> | ThumbDrag
| 滑块拖动事件。
GEvent< void(HScrollEvent::EventArgsType)> | Scroll
| 滚动事件。

## 额外继承的成员函数

Public 属性 继承自 YSLib::UI::Control
std::function< IWidget *(const KeyInput &)> | BoundControlPtr
| 按键-指针设备输入事件组映射。

## 详细描述

轨道。

自从
  build 167

在文件 scroll.h 第 122 行定义.

## 成员类型定义说明

typedef ystdex::subscriptive_iterator<ATrack, IWidget> YSLib::UI::ATrack::Iterator

自从
  build 356

在文件 scroll.h 第 136 行定义.

typedef ScrollEventArgs::ValueType YSLib::UI::ATrack::ValueType

值类型。

在文件 scroll.h 第 134 行定义.

## 成员枚举类型说明

enum YSLib::UI::ATrack::Area

轨道区域。

枚举值:

  None |
  OnThumb |
  OnPrev |
  OnNext |

在文件 scroll.h 第 126 行定义.

## 构造及析构函数说明

YSLib::UI::ATrack::ATrack | ( | const Rect & | = `{}`,
|  | SDst | = `8`
| ) |  |

explicit

构造：使用指定边界和大小。

自从
  build 337

YSLib::UI::ATrack::ATrack | ( | ATrack && |  | ) |

inlinedefault

## 成员函数说明

ATrack::Area ATrack::CheckArea | ( | SPos | q | ) | const

protected

检查轨道方向指定位置所在的区域。

在文件 scroll.cpp 第 179 行定义.

参考 YSLib::SwitchInterval() , 以及 yconstexpr.

函数调用图:

Iterator YSLib::UI::ATrack::GetBegin | ( |  | ) |

inline

自从
  build 356

在文件 scroll.h 第 167 行定义.

WidgetRange YSLib::UI::ATrack::GetChildren | ( |  | ) |

inlineoverridevirtual

自从
  build 357

重载 YSLib::UI::Widget .

在文件 scroll.h 第 167 行定义.

size_t YSLib::UI::ATrack::GetChildrenCount | ( |  | ) | const

inline

在文件 scroll.h 第 167 行定义.

Iterator YSLib::UI::ATrack::GetEnd | ( |  | ) |

inline

在文件 scroll.h 第 167 行定义.

ValueType YSLib::UI::ATrack::GetLargeDelta | ( |  | ) | const

inline

在文件 scroll.h 第 181 行定义.

SDst YSLib::UI::ATrack::GetMinThumbLength | ( |  | ) | const

inline

在文件 scroll.h 第 171 行定义.

virtual Orientation YSLib::UI::ATrack::GetOrientation | ( |  | ) | const

pure virtual

取轨道方向。

在 YSLib::UI::VerticalTrack , 以及 YSLib::UI::HorizontalTrack 内被实现.

GEvent<void( HScrollEvent ::EventArgsType)>& YSLib::UI::ATrack::GetScroll | ( |  | ) |

inline

滚动事件。

在文件 scroll.h 第 170 行定义.

SDst YSLib::UI::ATrack::GetScrollableLength | ( |  | ) | const

inline

取可滚动区域长度。

在文件 scroll.h 第 174 行定义.

GEvent<void( HUIEvent ::EventArgsType)>& YSLib::UI::ATrack::GetThumbDrag | ( |  | ) |

inline

滑块拖动事件。

在文件 scroll.h 第 169 行定义.

SDst YSLib::UI::ATrack::GetThumbLength | ( |  | ) | const

inline

取轨道方向上的滑块长度。

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

SDst YSLib::UI::ATrack::GetThumbPosition | ( |  | ) | const

inline

取滑块位置。

在文件 scroll.h 第 178 行定义.

virtual SDst YSLib::UI::ATrack::GetTrackLength | ( |  | ) | const

inlinevirtual

取轨道方向上的轨道长度。

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

bool YSLib::UI::ATrack::IsHorizontal | ( |  | ) | const

inline

在文件 scroll.h 第 163 行定义.

bool YSLib::UI::ATrack::IsVertical | ( |  | ) | const

inline

在文件 scroll.h 第 164 行定义.

void ATrack::LocateThumb | ( | ValueType | val,
|  | ScrollCategory | t = `ScrollCategory::ThumbPosition`
| ) |  |

定位滑块。

注解
  指定滚动事件关联值设置滑块位置并触发对应事件。
  当滚动类别为 `ScrollCategory::ThumbPosition` 值参数为设置指定值； 当滚动类别为 `ScrollCategory::SmallDecrement` 或 `ScrollCategory::SmallIncrement` 时参数为值变化的绝对值； 其它情况无效。

在文件 scroll.cpp 第 195 行定义.

IWidget& YSLib::UI::ATrack::operator[] | ( | size_t | idx | ) |

inline

在文件 scroll.h 第 167 行定义.

void ATrack::SetLargeDelta | ( | ValueType | val | ) |

设置大距离滚动偏移量。

注解
  同步按滑块长度和最大取值的比例设置滑块位置。

在文件 scroll.cpp 第 172 行定义.

参考 large_delta().

函数调用图:

void ATrack::SetMaxValue | ( | ValueType | m | ) |

设置滚动事件关联值最大取值。

注解
  当指定值非正值时无效。
  约束 large_delta 不大于指定值。

在文件 scroll.cpp 第 156 行定义.

参考 large_delta().

函数调用图:

void ATrack::SetThumbLength | ( | SDst | l | ) |

virtual

设置轨道方向上的滑块长度。

在文件 scroll.cpp 第 126 行定义.

参考 YSLib::Drawing::Size::GetRef(),YSLib::UI::GetSizeOf(),YSLib::UI::Invalidate(),min_thumb_length(),YSLib::RestrictInInterval(),SetSizeOf() , 以及 tmbScroll().

函数调用图:

void ATrack::SetThumbPosition | ( | SPos | pos | ) |

设置滑块位置。

在文件 scroll.cpp 第 141 行定义.

参考 YSLib::UI::GetLocationOf(),YSLib::Drawing::GBinaryGroup< _type >::GetRef(),YSLib::UI::Invalidate(),YSLib::RestrictInClosedInterval(),SetLocationOf() , 以及 tmbScroll().

函数调用图:

void ATrack::SetValue | ( | ValueType | val | ) |

设置滚动事件关联值。

注解
  同步按滑块长度和最大取值的比例设置滑块位置。

在文件 scroll.cpp 第 166 行定义.

## 类成员变量说明

ValueType YSLib::UI::ATrack::large_delta

private

大距离滚动偏移量：滚动事件关联的滑块位置变化绝对值。

在文件 scroll.h 第 149 行定义.

SDst YSLib::UI::ATrack::min_thumb_length

private

最小滑块长度。

在文件 scroll.h 第 146 行定义.

GEvent<void( HScrollEvent ::EventArgsType)> YSLib::UI::ATrack::Scroll

private

滚动事件。

在文件 scroll.h 第 152 行定义.

GEvent<void( HUIEvent ::EventArgsType)> YSLib::UI::ATrack::ThumbDrag

private

滑块拖动事件。

在文件 scroll.h 第 151 行定义.

Thumb YSLib::UI::ATrack::tmbScroll

protected

滑块：轨道区域上的滚动框。

自从
  build 374

在文件 scroll.h 第 143 行定义.

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

- scroll.h
- scroll.cpp