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

YSTest PreAlpha_b500_20140530 The YSLib Test Project

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

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

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 成员函数 | Public 属性 | Private 成员函数 | 所有成员列表
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< View > | view_ptr
| 部件视图指针。 更多...
unique_ptr< Renderer > | renderer_ptr
| 渲染器指针。 更多...
unique_ptr< AController > | controller_ptr
| 控制器指针。 更多...

## 详细描述

部件。

自从
  早于 build 132

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

## 构造及析构函数说明

YSLib::UI::Widget::Widget | ( | const Rect & | r = `{}` | ) |

explicit

自从
  build 384

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

参考 InitializeEvents().

函数调用图:

YSLib::UI::Widget::Widget | ( | const Rect & | r,
|  | HBrush | b,
|  | Color | f = `Drawing::ColorSpace::Black`
| ) |  |

explicit

自从
  build 384

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

参考 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.h 第 392 行定义.

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

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

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

## 成员函数说明

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 | ( |  | ) | const

参考自 YSLib::UI::AScrollBar::AScrollBar(), YSLib::UI::Window::operator-=(), YSLib::UI::CheckButton::Refresh() , 以及 YSLib::UI::RadioButton::Refresh().

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

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

参考 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.cpp 第 264 行定义.

参考 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.cpp 第 257 行定义.

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

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

取空白画刷。

返回
  颜色为 ColorSpace::Black 的 SolidBrush 对象初始化的 HBrush 对象。

注解
  为减少包含头文件，使用非 inline 实现。

参见
  SolidBrush

自从
  build 485

## 类成员变量说明

HBrush YSLib::UI::Widget::Background

mutable

背景。

自从
  build 294

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

参考自 YSLib::UI::Control::Control(), YSLib::UI::Desktop::Desktop(), InitializeEvents(), YSLib::UI::ListBox::ListBox(), YReader::SettingPanel::operator<<(), YReader::SettingPanel::operator>>(), YSLib::UI::ProgressBar::ProgressBar() , 以及 YSLib::UI::ProgressBar::Refresh().

YSLib::UI::Widget::Children

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

AController YSLib::UI::Widget::Controller

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

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

private

控制器指针。

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

Color YSLib::UI::Widget::ForeColor = Drawing::ColorSpace::Black

默认前景色。

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

参考自 YSLib::UI::Control::Control(), YSLib::UI::DecorateAsCloseButton(), YSLib::UI::DialogPanel::DialogPanel(), YSLib::UI::TextBox::DrawClippedText(), YReader::SettingPanel::operator<<(), YReader::SettingPanel::operator>>(), YSLib::UI::TextBox::PaintDefaultCaret(), YSLib::UI::ProgressBar::ProgressBar(), YSLib::UI::ProgressBar::Refresh(), YSLib::UI::TextBox::Refresh(), YSLib::UI::CheckButton::Refresh(), YSLib::UI::DropDownList::Refresh(), YSLib::UI::RadioButton::Refresh() , 以及 YReader::ReaderBox::UpdateData().

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

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

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

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

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

private

渲染器指针。

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

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

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

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

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

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

参考自 SetView().

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

private

部件视图指针。

自从
  build 346

注解
  非空。

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

参考自 SetView().

YSLib::UI::Widget::WidgetRange

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

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

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

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

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

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

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

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

- ywidget.h
- ywidget.cpp