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

部件。 更多...

#include <ywidget.h>

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

Public 成员函数

 Widget (const Rect &={})
 
 Widget (const Rect &, HBrush, 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 &)
 复制构造:除容器指针为空外深复制。 更多...
 
 DefDelMoveCtor (Widget) virtual ~Widget()
 since build 428 更多...
 
 ImplI (IWidget) DefGetter(override
 
 WidgetRange ()) static HBrush MakeBlankBrush()
 取空白画刷。 更多...
 
 ImplI (IWidget) DefGetter(const override
 
AController *controller_ptr DefGetterMem (const ynothrow, SDst, Height, GetView()) ImplI(IWidget) DefGetter(const override
 
AController *controller_ptr
Renderer *renderer_ptr 
ImplI (IWidget) DefGetter(const override
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
DefGetterMem (const ynothrow, SDst, Width, GetView()) DefGetterMem(const ynothrow
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
GetView ()) DefGetterMem(const ynothrow
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
GetView ()) DefSetterMem(SDst
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
GetView ()) DefSetterMem(SDst
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
GetView ()) DefSetterMem(SDst
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
GetView ()) DefSetterMem(SDst
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
GetView ()) void SetRenderer(unique_ptr< Renderer >)
 设置渲染器为指定指针指向的对象,同时更新渲染器状态。 更多...
 
void SetView (unique_ptr< View > &&)
 设置渲染器为指定指针指向的对象,同时更新渲染器状态。 更多...
 
virtual void Refresh (PaintEventArgs &&)
 刷新:按指定参数绘制界面并更新状态。 更多...
 

Public 属性

HBrush Background
 背景。 更多...
 
Color ForeColor = Drawing::ColorSpace::Black
 默认前景色。 更多...
 
 WidgetRange
 
 Children
 
AController Controller
 
AController *controller_ptr
Renderer 
Renderer
 
AController *controller_ptr
Renderer *renderer_ptr View 
View
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
SPos
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
X
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
Y
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
Height
 
AController *controller_ptr
Renderer *renderer_ptr View
*view_ptr 
Width
 

Private 成员函数

void InitializeEvents ()
 初始化事件组。 更多...
 

Private 属性

unique_ptr< Viewview_ptr
 部件视图指针。 更多...
 
unique_ptr< Rendererrenderer_ptr
 渲染器指针。 更多...
 
unique_ptr< AControllercontroller_ptr
 控制器指针。 更多...
 

详细描述

部件。

自从
早于 build 132

在文件 ywidget.h356 行定义.

构造及析构函数说明

YSLib::UI::Widget::Widget ( const Rect r = {})
explicit
自从
build 384

在文件 ywidget.cpp214 行定义.

参考 InitializeEvents().

函数调用图:

YSLib::UI::Widget::Widget ( const Rect r,
HBrush  b,
Color  f = Drawing::ColorSpace::Black 
)
explicit
自从
build 384

在文件 ywidget.cpp220 行定义.

参考 InitializeEvents().

函数调用图:

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

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

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

在文件 ywidget.cpp226 行定义.

成员函数说明

YSLib::UI::Widget::DefDelMoveCtor ( Widget  )

since build 428

析构:虚实现。

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

注解
由于不完整类型 WidgetController 的依赖性无法使用 inline 实现。
AController * controller_ptr YSLib::UI::Widget::DefGetterMem ( const ynothrow  ,
SDst  ,
Height  ,
GetView()   
) const
override
AController * controller_ptr Renderer * renderer_ptr View * view_ptr YSLib::UI::Widget::DefGetterMem ( const ynothrow  ,
SDst  ,
Width  ,
GetView()   
) const
AController * controller_ptr Renderer * renderer_ptr View * view_ptr YSLib::UI::Widget::GetView ( )
AController * controller_ptr Renderer * renderer_ptr View * view_ptr YSLib::UI::Widget::GetView ( )
AController * controller_ptr Renderer * renderer_ptr View * view_ptr YSLib::UI::Widget::GetView ( )
AController * controller_ptr Renderer * renderer_ptr View * view_ptr YSLib::UI::Widget::GetView ( )
AController * controller_ptr Renderer * renderer_ptr View * view_ptr YSLib::UI::Widget::GetView ( )

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

注解
若指针为空,则使用以当前部件边界新建的 Renderer 对象。
取得指定对象的所有权。
自从
build 406
YSLib::UI::Widget::ImplI ( IWidget  )
override
自从
build 357
YSLib::UI::Widget::ImplI ( IWidget  ) const
override
AController * controller_ptr Renderer * renderer_ptr YSLib::UI::Widget::ImplI ( IWidget  ) const
override
void YSLib::UI::Widget::InitializeEvents ( )
private

初始化事件组。

自从
build 294

在文件 ywidget.cpp238 行定义.

参考 Background, YSLib::UI::BackgroundPriority() , 以及 Refresh().

参考自 Widget().

函数调用图:

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

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

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

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

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

YSLib::UI::RadioButton, YSLib::UI::RadioBox, YSLib::UI::DropDownList, YSLib::UI::CheckButton, YSLib::UI::HexViewArea, YSLib::UI::TextBox, YSLib::UI::CheckBox, YReader::TextInfoBox, YSLib::UI::Panel, YSLib::UI::BufferedTextArea, YSLib::UI::TabBar , 以及 YSLib::UI::ProgressBar 重载.

在文件 ywidget.cpp264 行定义.

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

参考自 InitializeEvents(), YReader::TextInfoBox::Refresh(), YSLib::UI::HexViewArea::Refresh() , 以及 YSLib::UI::DropDownList::Refresh().

函数调用图:

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

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

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

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

在文件 ywidget.cpp257 行定义.

参考 YSLib::UI::GetBoundsOf, View , 以及 view_ptr.

YSLib::UI::Widget::WidgetRange ( )

取空白画刷。

返回
颜色为 ColorSpace::Black 的 SolidBrush 对象初始化的 HBrush 对象。
注解
为减少包含头文件,使用非 inline 实现。
参见
SolidBrush
自从
build 485

类成员变量说明

YSLib::UI::Widget::Children

在文件 ywidget.h426 行定义.

AController YSLib::UI::Widget::Controller

在文件 ywidget.h437 行定义.

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

控制器指针。

在文件 ywidget.h366 行定义.

AController * controller_ptr Renderer * renderer_ptr View * view_ptr YSLib::UI::Widget::Height

在文件 ywidget.h445 行定义.

AController * controller_ptr Renderer YSLib::UI::Widget::Renderer

在文件 ywidget.h439 行定义.

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

渲染器指针。

在文件 ywidget.h365 行定义.

在文件 ywidget.h442 行定义.

参考自 YSLib::UI::TabBar::PerformLayout().

AController * controller_ptr Renderer * renderer_ptr View YSLib::UI::Widget::View

在文件 ywidget.h440 行定义.

参考自 SetView().

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

部件视图指针。

自从
build 346
注解
非空。

在文件 ywidget.h364 行定义.

参考自 SetView().

YSLib::UI::Widget::WidgetRange

在文件 ywidget.h426 行定义.

AController * controller_ptr Renderer * renderer_ptr View * view_ptr YSLib::UI::Widget::Width

在文件 ywidget.h446 行定义.

在文件 ywidget.h442 行定义.

在文件 ywidget.h443 行定义.


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