YSTest: YSLib::Components::Widget Class Reference

YSTest PreAlpha_b380_20130211 The YSLib Test Project

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Public Attributes | Private Member Functions | List of all members
YSLib::Components::Widget Class Reference

部件。 More...

`#include <ywidget.h>`

Inheritance diagram for YSLib::Components::Widget:
[legend]
Collaboration diagram for YSLib::Components::Widget:
[legend]

## Classes

struct | NoBackgroundTag
| 无背景标记。 More...

## Public Member Functions

| 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 Member Functions inherited from YSLib::Components::IWidget
virtual | ~IWidget ()

## Public Attributes

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

## Private Member Functions

void | InitializeEvents ()
| 初始化事件组。

## Private Attributes

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

## Detailed Description

部件。

Since
  早于 build 132

Definition at line 321 of file ywidget.h.

## Constructor & Destructor Documentation

YSLib::Components::Widget::Widget | ( | const Rect & | = `{}`,
|  | Color | = `Drawing::ColorSpace::White`,
|  | Color | = `Drawing::ColorSpace::Black`
| ) |  |

explicit

Since
  build 337

template<typename _tView , typename _tRenderer , typename _tController >

YSLib::Components::Widget::Widget | ( | _tView && | pView_ = `make_unique<View>()`,
|  | _tRenderer && | pRenderer_ = `make_unique<Renderer>()`,
|  | _tController && | pController_ = `{}`
| ) |  |

inlineexplicit

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

Parameters

  pView_ | 视图指针。
  pRenderer_ | 渲染器指针。
  pController_ | 控制器指针。

Precondition
  `bool(pView_) && bool(pRenderer_)` 。

Definition at line 360 of file ywidget.h.

YSLib::Components::Widget::Widget | ( | const Widget & |  | ) |

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

YSLib::Components::Widget::Widget | ( | Widget && |  | ) |

default

Widget::~Widget | ( |  | ) |

virtual

析构：虚实现。

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

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

Definition at line 174 of file ywidget.cpp.

References DoReleaseFocus().

Here is the call graph for this function:

## Member Function Documentation

virtual WidgetRange YSLib::Components::Widget::GetChildren | ( |  | ) |

inlineoverridevirtual

Since
  build 357

Implements YSLib::Components::IWidget.

Reimplemented in YSLib::Components::ScrollableContainer, YSLib::Components::AScrollBar, YSLib::Components::DropDownList, YSLib::Components::ATrack, YSLib::Components::ListBox, YSLib::Components::Panel, and YSLib::Components::DialogBox.

Definition at line 403 of file ywidget.h.

AController & Widget::GetController | ( |  | ) | const

overridevirtual

取控制器。

Implements YSLib::Components::IWidget.

Definition at line 187 of file ywidget.cpp.

SDst YSLib::Components::Widget::GetHeight | ( |  | ) | const

inline

Definition at line 397 of file ywidget.h.

Referenced by YSLib::Components::ScrollableContainer::FixLayout(), and YSLib::Components::DropDownList::Refresh().

Here is the caller graph for this function:

virtual Renderer& YSLib::Components::Widget::GetRenderer | ( |  | ) | const

inlinevirtual

取渲染器。

Implements YSLib::Components::IWidget.

Definition at line 398 of file ywidget.h.

virtual View& YSLib::Components::Widget::GetView | ( |  | ) | const

inlinevirtual

取部件视图。

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

Implements YSLib::Components::IWidget.

Definition at line 399 of file ywidget.h.

SDst YSLib::Components::Widget::GetWidth | ( |  | ) | const

inline

Definition at line 396 of file ywidget.h.

Referenced by YSLib::Components::ScrollableContainer::FixLayout(), YSLib::Components::DropDownList::Refresh(), and DualScreenReader::Stretch().

Here is the caller graph for this function:

SPos YSLib::Components::Widget::GetX | ( |  | ) | const

inline

Definition at line 394 of file ywidget.h.

SPos YSLib::Components::Widget::GetY | ( |  | ) | const

inline

Definition at line 395 of file ywidget.h.

void Widget::InitializeEvents | ( |  | ) |

private

初始化事件组。

Since
  build 294

Definition at line 180 of file ywidget.cpp.

References YSLib::Components::BackgroundPriority().

Here is the call graph for this function:

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

virtual

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

See Also
  PaintContext 。

Note
  默认按 GetChildren() 得到的迭代器范围绘制可见子部件。

Since
  build 294

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

Reimplemented in YSLib::Components::TextList, YSLib::Components::DropDownList, YSLib::Components::CheckButton, YSLib::Components::Button, YSLib::Components::Label, YSLib::Components::CheckBox, YSLib::Components::Panel, YSLib::Components::BufferedTextArea, and YSLib::Components::ProgressBar.

Definition at line 208 of file ywidget.cpp.

References YSLib::Components::IsVisible(), and YSLib::Components::PaintChild().

Here is the call graph for this function:

void YSLib::Components::Widget::SetHeight | ( | SDst | _tempArgName | ) |

inline

Definition at line 408 of file ywidget.h.

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

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

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

Definition at line 195 of file ywidget.cpp.

References YSLib::Components::GetSizeOf().

Here is the call graph for this function:

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

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

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

Definition at line 201 of file ywidget.cpp.

References YSLib::Components::GetBoundsOf().

Here is the call graph for this function:

void YSLib::Components::Widget::SetWidth | ( | SDst | _tempArgName | ) |

inline

Definition at line 407 of file ywidget.h.

void YSLib::Components::Widget::SetX | ( | SDst | _tempArgName | ) |

inline

Definition at line 405 of file ywidget.h.

void YSLib::Components::Widget::SetY | ( | SDst | _tempArgName | ) |

inline

Definition at line 406 of file ywidget.h.

## Member Data Documentation

HBrush YSLib::Components::Widget::Background

mutable

背景。

Since
  build 294

Definition at line 344 of file ywidget.h.

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

private

控制器指针。

Definition at line 336 of file ywidget.h.

Color YSLib::Components::Widget::ForeColor

默认前景色。

Definition at line 345 of file ywidget.h.

Referenced by YSLib::Components::CheckButton::Refresh(), and YSLib::Components::DropDownList::Refresh().

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

private

渲染器指针。

Definition at line 335 of file ywidget.h.

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

private

部件视图指针。

Since
  build 346

Definition at line 334 of file ywidget.h.

The documentation for this class was generated from the following files:

- ywidget.h
- ywidget.cpp