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 RendererGetRenderer () const ynothrow
 取渲染器。
 
virtual ViewGetView () const ynothrow
 取部件视图。
 
virtual AControllerGetController () 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< Viewview_ptr
 部件视图指针。
 
unique_ptr< Rendererrenderer_ptr
 渲染器指针。
 
unique_ptr< AControllercontroller_ptr
 控制器指针。
 

详细描述

部件。

自从
早于 build 132

在文件 ywidget.h321 行定义.

构造及析构函数说明

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

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

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

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

析构:虚实现。

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

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

在文件 ywidget.cpp174 行定义.

参考 DoReleaseFocus().

函数调用图:

成员函数说明

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

取控制器。

实现了 YSLib::UI::IWidget.

在文件 ywidget.cpp187 行定义.

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

在文件 ywidget.h400 行定义.

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

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

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

取渲染器。

实现了 YSLib::UI::IWidget.

在文件 ywidget.h401 行定义.

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

取部件视图。

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

实现了 YSLib::UI::IWidget.

在文件 ywidget.h402 行定义.

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

在文件 ywidget.h399 行定义.

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

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

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

在文件 ywidget.h397 行定义.

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

在文件 ywidget.h398 行定义.

void Widget::InitializeEvents ( )
private

初始化事件组。

自从
build 294

在文件 ywidget.cpp180 行定义.

参考 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.cpp208 行定义.

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

函数调用图:

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

在文件 ywidget.h411 行定义.

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

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

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

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

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

在文件 ywidget.cpp195 行定义.

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

函数调用图:

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

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

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

在文件 ywidget.cpp201 行定义.

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

函数调用图:

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

在文件 ywidget.h410 行定义.

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

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

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

在文件 ywidget.h408 行定义.

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

在文件 ywidget.h409 行定义.

类成员变量说明

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

背景。

自从
build 294

在文件 ywidget.h347 行定义.

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

控制器指针。

在文件 ywidget.h339 行定义.

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

渲染器指针。

在文件 ywidget.h338 行定义.

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

部件视图指针。

自从
build 346
注解
非空。

在文件 ywidget.h337 行定义.


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