YSTest  PreAlpha_b400_20130424
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
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
 
IWidgetoperator[] (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 IWidgetGetBoundControlPtr (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 RendererGetRenderer () const ynothrow
 取渲染器。
 
virtual ViewGetView () const ynothrow
 取部件视图。
 
virtual AControllerGetController () 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.h122 行定义.

成员类型定义说明

自从
build 356

在文件 scroll.h136 行定义.

值类型。

在文件 scroll.h134 行定义.

成员枚举类型说明

轨道区域。

枚举值:
None 
OnThumb 
OnPrev 
OnNext 

在文件 scroll.h126 行定义.

构造及析构函数说明

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.cpp179 行定义.

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

函数调用图:

Iterator YSLib::UI::ATrack::GetBegin ( )
inline
自从
build 356

在文件 scroll.h167 行定义.

WidgetRange YSLib::UI::ATrack::GetChildren ( )
inlineoverridevirtual
自从
build 357

重载 YSLib::UI::Widget .

在文件 scroll.h167 行定义.

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

在文件 scroll.h167 行定义.

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

在文件 scroll.h167 行定义.

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

在文件 scroll.h181 行定义.

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

在文件 scroll.h171 行定义.

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.h170 行定义.

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

取可滚动区域长度。

在文件 scroll.h174 行定义.

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

滑块拖动事件。

在文件 scroll.h169 行定义.

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

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

在文件 scroll.h176 行定义.

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

取滑块位置。

在文件 scroll.h178 行定义.

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

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

在文件 scroll.h180 行定义.

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

在文件 scroll.h163 行定义.

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

在文件 scroll.h164 行定义.

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

定位滑块。

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

在文件 scroll.cpp195 行定义.

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

在文件 scroll.h167 行定义.

void ATrack::SetLargeDelta ( ValueType  val)

设置大距离滚动偏移量。

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

在文件 scroll.cpp172 行定义.

参考 large_delta().

函数调用图:

void ATrack::SetMaxValue ( ValueType  m)

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

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

在文件 scroll.cpp156 行定义.

参考 large_delta().

函数调用图:

void ATrack::SetThumbLength ( SDst  l)
virtual

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

在文件 scroll.cpp126 行定义.

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

函数调用图:

void ATrack::SetThumbPosition ( SPos  pos)
void ATrack::SetValue ( ValueType  val)

设置滚动事件关联值。

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

在文件 scroll.cpp166 行定义.

类成员变量说明

ValueType YSLib::UI::ATrack::large_delta
private

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

在文件 scroll.h149 行定义.

SDst YSLib::UI::ATrack::min_thumb_length
private

最小滑块长度。

在文件 scroll.h146 行定义.

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

滚动事件。

在文件 scroll.h152 行定义.

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

滑块拖动事件。

在文件 scroll.h151 行定义.

Thumb YSLib::UI::ATrack::tmbScroll
protected

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

自从
build 374

在文件 scroll.h143 行定义.


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