YSTest  PreAlpha_b400_20130424
The YSLib Test Project
 全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
YSLib::UI::Widget类 参考

部件。 更多...

#include <ywidget.h>

类 YSLib::UI::Widget 继承关系图:
YSLib::UI::Widget 的协作图:

类

struct  NoBackgroundTag
 无背景标记。 更多...
 

Public 成员函数

 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
 取控制器。
 
virtual WidgetRange GetChildren () 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 属性

HBrush Background
 背景。
 
Color ForeColor
 默认前景色。
 

Private 成员函数

void InitializeEvents ()
 初始化事件组。
 

Private 属性

unique_ptr< View > view_ptr
 部件视图指针。
 
unique_ptr< Renderer > renderer_ptr
 渲染器指针。
 
unique_ptr< AController > controller_ptr
 控制器指针。
 

详细描述

部件。

自从
早于 build 132

在文件 ywidget.h 第 321 行定义.

构造及析构函数说明

YSLib::UI::Widget::Widget ( const Rect &  = {},
Color  = Drawing::ColorSpace::White,
Color  = Drawing::ColorSpace::Black 
)
explicit
自从
build 337
template<typename _tView , typename _tRenderer , typename _tController >
YSLib::UI::Widget::Widget ( _tView &&  pView_ = make_unique<View>(),
_tRenderer &&  pRenderer_ = make_unique<Renderer>(),
_tController &&  pController_ = {} 
)
inlineexplicit

构造:使用视图指针、渲染器指针和控制器指针,无背景。

参数
pView_视图指针。
pRenderer_渲染器指针。
pController_控制器指针。
前置条件
bool(pView_) && bool(pRenderer_) 。

在文件 ywidget.h 第 363 行定义.

YSLib::UI::Widget::Widget ( const Widget &  )

复制构造:除容器指针为空外深复制。

YSLib::UI::Widget::Widget ( Widget &&  )
default
Widget::~Widget ( )
virtual

析构:虚实现。

自动释放焦点后释放部件资源。

注解
由于不完整类型 WidgetController 的依赖性无法使用 inline 实现。

在文件 ywidget.cpp 第 174 行定义.

参考 DoReleaseFocus().

函数调用图:

成员函数说明

virtual WidgetRange YSLib::UI::Widget::GetChildren ( )
inlineoverridevirtual
AController & Widget::GetController ( ) const
overridevirtual

取控制器。

实现了 YSLib::UI::IWidget.

在文件 ywidget.cpp 第 187 行定义.

SDst YSLib::UI::Widget::GetHeight ( ) const
inline

在文件 ywidget.h 第 400 行定义.

参考自 YSLib::UI::ScrollableContainer::FixLayout() , 以及 YSLib::UI::DropDownList::Refresh().

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

virtual Renderer& YSLib::UI::Widget::GetRenderer ( ) const
inlinevirtual

取渲染器。

实现了 YSLib::UI::IWidget.

在文件 ywidget.h 第 401 行定义.

virtual View& YSLib::UI::Widget::GetView ( ) const
inlinevirtual

取部件视图。

警告
注意修改容器指针或焦点指针时,应保持和容器包含部件的状态同步。

实现了 YSLib::UI::IWidget.

在文件 ywidget.h 第 402 行定义.

SDst YSLib::UI::Widget::GetWidth ( ) const
inline

在文件 ywidget.h 第 399 行定义.

参考自 YSLib::UI::ScrollableContainer::FixLayout(),YSLib::UI::DropDownList::Refresh() , 以及 DualScreenReader::Stretch().

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

SPos YSLib::UI::Widget::GetX ( ) const
inline

在文件 ywidget.h 第 397 行定义.

SPos YSLib::UI::Widget::GetY ( ) const
inline

在文件 ywidget.h 第 398 行定义.

void Widget::InitializeEvents ( )
private

初始化事件组。

自从
build 294

在文件 ywidget.cpp 第 180 行定义.

参考 YSLib::UI::BackgroundPriority().

函数调用图:

void Widget::Refresh ( PaintEventArgs &&  e)
virtual

刷新:按指定参数绘制界面并更新状态。

参见
PaintContext 。
注解
默认按 GetChildren() 得到的迭代器范围绘制可见子部件。
自从
build 294

由参数指定的信息绘制事件发送者。参数的 ClipArea 成员指定边界。 边界仅为暗示,允许实现忽略,但应保证调用后边界内的区域保持最新显示状态。 绘制结束后更新边界,表示实际被绘制的区域。 若部件的内部状态能够保证显示状态最新,则返回的区域可能比传入时表示的范围更小。

被 YSLib::UI::TextList,YSLib::UI::DropDownList,YSLib::UI::CheckButton,YSLib::UI::Button,YSLib::UI::Label,YSLib::UI::CheckBox,YSLib::UI::Panel,YSLib::UI::BufferedTextArea , 以及 YSLib::UI::ProgressBar 重载.

在文件 ywidget.cpp 第 208 行定义.

参考 YSLib::UI::IsVisible() , 以及 YSLib::UI::PaintChild().

函数调用图:

void YSLib::UI::Widget::SetHeight ( SDst  _tempArgName)
inline

在文件 ywidget.h 第 411 行定义.

参考自 YSLib::UI::ScrollableContainer::FixLayout().

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

void Widget::SetRenderer ( unique_ptr< Renderer > &&  p)

设置渲染器为指定指针指向的对象,同时更新渲染器状态。

注解
若指针为空,则使用以当前部件边界新建的 Renderer 对象。
取得指定对象的所有权。

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

参考 YSLib::UI::GetSizeOf().

函数调用图:

void Widget::SetView ( unique_ptr< View > &&  p)

设置渲染器为指定指针指向的对象,同时更新渲染器状态。

注解
若指针为空,则使用以当前部件边界新建的 View 对象。
取得指定对象的所有权。

在文件 ywidget.cpp 第 201 行定义.

参考 YSLib::UI::GetBoundsOf().

函数调用图:

void YSLib::UI::Widget::SetWidth ( SDst  _tempArgName)
inline

在文件 ywidget.h 第 410 行定义.

参考自 YSLib::UI::ScrollableContainer::FixLayout().

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

void YSLib::UI::Widget::SetX ( SDst  _tempArgName)
inline

在文件 ywidget.h 第 408 行定义.

void YSLib::UI::Widget::SetY ( SDst  _tempArgName)
inline

在文件 ywidget.h 第 409 行定义.

类成员变量说明

HBrush YSLib::UI::Widget::Background
mutable

背景。

自从
build 294

在文件 ywidget.h 第 347 行定义.

unique_ptr<AController> YSLib::UI::Widget::controller_ptr
private

控制器指针。

在文件 ywidget.h 第 339 行定义.

Color YSLib::UI::Widget::ForeColor
unique_ptr<Renderer> YSLib::UI::Widget::renderer_ptr
private

渲染器指针。

在文件 ywidget.h 第 338 行定义.

unique_ptr<View> YSLib::UI::Widget::view_ptr
private

部件视图指针。

自从
build 346
注解
非空。

在文件 ywidget.h 第 337 行定义.


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