YSTest: YSLib::UI::Widget类 参考

YSTest PreAlpha_b400_20130424 The YSLib Test Project

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

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

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
类 | Public 成员函数 | Public 属性 | Private 成员函数 | 所有成员列表
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

自从
  build 357

实现了 YSLib::UI::IWidget.

被 YSLib::UI::ScrollableContainer,YSLib::UI::AScrollBar,YSLib::UI::DropDownList,YSLib::UI::ATrack,YSLib::UI::ListBox,YSLib::UI::Panel , 以及 YSLib::UI::DialogBox 重载.

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

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

默认前景色。

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

参考自 YSLib::UI::DialogPanel::DialogPanel(),YSLib::UI::CheckButton::Refresh() , 以及 YSLib::UI::DropDownList::Refresh().

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

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

- ywidget.h
- ywidget.cpp