YSTest: YSLib::UI::Panel类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 成员函数 | Public 属性 | 所有成员列表
YSLib::UI::Panel类 参考

面板。 更多...

`#include <YPanel.h>`

类 YSLib::UI::Panel 继承关系图:
[图例]
YSLib::UI::Panel 的协作图:
[图例]

## Public 成员函数

| Panel (const Rect &={})
| 构造：使用指定边界。 更多...
virtual void | operator+= (IWidget &)
virtual bool | operator-= (IWidget &)
| DefGetter (override, WidgetRange, Children, WidgetRange(begin(), end())) virtual void Add(IWidget &
| 按指定 Z 顺序向部件组添加部件，并设置指针。 更多...
void | ClearContents ()
| 清除内容。 更多...
bool | MoveToFront (IWidget &)
| 提升部件至 Z 顺序相等的同组部件的顶端。 更多...
void | Refresh (PaintEventArgs &&) override
| 刷新：按指定参数绘制界面并更新状态。 更多...
YB_ATTR_nodiscard YB_PURE bool | Contains (IWidget &)
| 判断是否包含指定部件。 更多...
ZOrder | QueryZ (IWidget &) const
YB_ATTR_nodiscard YB_PURE iterator | begin ()
Public 成员函数 继承自 YSLib::UI::Widget
| Widget (const Rect &={})
| Widget (const Rect &, HBrush)
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 更多...
| DefGetter (ImplI(IWidget), WidgetRange, Children, WidgetRange()) static HBrush MakeBlankBrush()
| 取空白画刷。 更多...
| DefGetter (const ImplI(IWidget), AController &, Controller, Deref(controller_ptr)) DefGetterMem(const ynothrow
| GetView ()) DefGetter(const ImplI(IWidget)
Renderer | Deref (renderer_ptr)) DefGetter(const ImplI(IWidget)
Renderer AView | Deref (view_ptr)) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) void SetRenderer(unique_ptr< Renderer >)
| 设置渲染器为指定指针指向的对象，同时更新渲染器状态。 更多...
void | SetView (unique_ptr< AView >)
| 设置视图为指定指针指向的对象。 更多...

## Public 属性

| ZOrder = DefaultZOrder)
Public 属性 继承自 YSLib::UI::Widget
HBrush | Background
| 背景。 更多...
| SDst
| Height
Renderer | Renderer
Renderer AView | View
Renderer AView | SDst
Renderer AView | Width
Renderer AView | SPos
Renderer AView | X
Renderer AView | Y
Renderer AView | Height

## 额外继承的成员函数

Protected 类型 继承自 YSLib::UI::MUIContainer
using | ItemType = lref< IWidget >
| 部件组项目类型。 更多...
using | WidgetMap = multimap< ZOrder, ItemType >
| 部件映射表类型：映射 Z 顺序至部件。 更多...
using | PairType = WidgetMap::value_type
using | iterator = WidgetIterator
Protected 成员函数 继承自 YSLib::UI::Control
| Control (const Rect &, HBrush)
| 构造：使用指定边界和背景画刷。 更多...
| Control (const Control &)
| 复制构造：除容器为空外深复制。 更多...
| ~Control () override
| 虚析构：类定义外默认实现。 更多...
virtual | PDefH (observer_ptr< IWidget >, GetBoundControlPtr, const KeyInput &) ImplRet(nullptr) void OnTouch_Close(CursorEventArgs &&)
| 取按键-指针设备输入默认事件组映射。 更多...
Protected 成员函数 继承自 YSLib::UI::MUIContainer
| DefDeCtor (MUIContainer) DefDeMoveCtor(MUIContainer) PDefHOp(void
| 无参数构造：默认实现。 更多...
IWidget &wgt | ImplRet (Add(wgt)) bool operator-
| 从部件组移除部件。 更多...
YB_ATTR_nodiscard YB_PURE bool | Contains (IWidget &)
| 判断是否包含指定部件。 更多...
| DefGetter (const ynothrow, size_t, Count, mWidgets.size()) void Add(IWidget &
| 取部件数。 更多...
void | PaintVisibleChildren (PaintEventArgs &)
| 绘制可视子部件。 更多...
ZOrder | QueryZ (IWidget &) const
| 查询指定部件的 Z 顺序。 更多...
YB_ATTR_nodiscard YB_PURE iterator | begin ()
| PDefH (void, clear,) ynothrow ImplExpr(mWidgets.clear()) YB_ATTR_nodiscard YB_PURE iterator end()
Protected 属性 继承自 YSLib::UI::MUIContainer
WidgetMap | mWidgets
| 部件映射：存储 Z 顺序映射至部件引用。 更多...
| ZOrder = DefaultZOrder)
相关函数 继承自 YSLib::UI::Widget
template<class _tRenderer >
_tRenderer & | WrapRenderer (Widget &wgt, unique_ptr< _tRenderer > p_renderer)
| 包装渲染器：设置渲染器并返回被设置的渲染器引用。 更多...

## 详细描述

面板。

自从
  build 201

在文件 YPanel.h 第 45 行定义.

## 构造及析构函数说明

## ◆ Panel()

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

explicit

构造：使用指定边界。

自从
  build 337

在文件 YPanel.cpp 第 37 行定义.

## 成员函数说明

## ◆ begin()

MUIContainer::iterator YSLib::UI::MUIContainer::begin

自从
  build 460

在文件 YUIContainer.cpp 第 405 行定义.

## ◆ ClearContents()

void YSLib::UI::Panel::ClearContents | ( |  | ) |

清除内容。

清除焦点指针和部件组并无效化。

在文件 YPanel.cpp 第 62 行定义.

引用了 YSLib::UI::ClearFocusingOf(), YSLib::UI::MUIContainer::mWidgets , 以及 YSLib::UI::SetInvalidationOf().

函数调用图:

## ◆ Contains()

bool YSLib::UI::MUIContainer::Contains

判断是否包含指定部件。

在文件 YUIContainer.cpp 第 370 行定义.

## ◆ DefGetter()

YSLib::UI::Panel::DefGetter | ( | override | ,
|  | WidgetRange | ,
|  | Children | ,
|  | WidgetRange(begin(), end()) |
| ) |  | &

按指定 Z 顺序向部件组添加部件，并设置指针。

自从
  build 357

注解
  不使用 DefWidgetChildrenGetter 以避免对非必要文件的依赖。

参见
  MUIContainer::Add

自从
  build 555

## ◆ MoveToFront()

bool YSLib::UI::Panel::MoveToFront | ( | IWidget & | wgt | ) |

提升部件至 Z 顺序相等的同组部件的顶端。

自从
  build 467

子部件组中查找指定部件并重新插入至顶端。

在文件 YPanel.cpp 第 70 行定义.

引用了 YSLib::i, YSLib::UI::Invalidate(), YSLib::UI::MUIContainer::mWidgets, ystdex::ref() , 以及 YSLib::UI::wgt.

函数调用图:

## ◆ operator+=()

void YSLib::UI::Panel::operator+= | ( | IWidget & | wgt | ) |

virtual

被 YSLib::UI::Window 重载.

在文件 YPanel.cpp 第 42 行定义.

引用了 ystdex::make_observer() , 以及 YSLib::UI::wgt.

函数调用图:

## ◆ operator-=()

bool YSLib::UI::Panel::operator-= | ( | IWidget & | wgt | ) |

virtual

被 YSLib::UI::Window 重载.

在文件 YPanel.cpp 第 49 行定义.

引用了 YSLib::UI::RemoveFrom() , 以及 YSLib::UI::wgt.

函数调用图:

## ◆ QueryZ()

ZOrder YSLib::UI::MUIContainer::QueryZ

自从
  build 496

在文件 YUIContainer.cpp 第 401 行定义.

## ◆ Refresh()

void YSLib::UI::Panel::Refresh | ( | PaintEventArgs && | e | ) |

overridevirtual

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

自从
  build 294

重载 YSLib::UI::Widget .

在文件 YPanel.cpp 第 90 行定义.

引用了 YSLib::UI::e , 以及 YSLib::UI::MUIContainer::PaintVisibleChildren().

函数调用图:

## 类成员变量说明

## ◆ ZOrder

YSLib::UI::Panel::ZOrder = DefaultZOrder)

在文件 YPanel.h 第 75 行定义.

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

- YPanel.h
- YPanel.cpp