YSTest: YSLib::UI::TabBar类 参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

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

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

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 类型 | Public 成员函数 | 静态 Public 成员函数 | Public 属性 | 所有成员列表
YSLib::UI::TabBar类 参考

标签栏控件。 更多...

`#include <TabControl.h>`

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

## Public 类型

using | TabPtrType = unique_ptr< Control >

## Public 成员函数

| TabBar (const Rect &={})
virtual void | operator+= (IWidget &)
virtual bool | operator-= (IWidget &)
SPos | PerformLayout ()
| 布局。 更多...
void | Refresh (PaintEventArgs &&) override
| 刷新：按指定参数绘制界面并更新状态。 更多...
bool | SwitchPage (Control &)
| 切换页面。 更多...
Public 成员函数 继承自 YSLib::UI::Widget
| 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 > &&)
| 设置渲染器为指定指针指向的对象，同时更新渲染器状态。 更多...

## 静态 Public 成员函数

static void | DefaultPaintTabBorder (PaintEventArgs &&)
| 绘制默认标签页边框。 更多...

## Public 属性

SPos | Offset = 0
| 首个标签所在的起始偏移位置。 更多...
SDst | MinWidth = 12
| 每个标签最小的位置。 更多...
std::function< void(PaintEventArgs &&)> | PaintTabBackground {}
| 标签背景附加绘制操作。 更多...
std::function< void(PaintEventArgs &&)> | PaintTabForeground {DefaultPaintTabBorder}
| 标签前景附加绘制操作。 更多...
Public 属性 继承自 YSLib::UI::Widget
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

## 额外继承的成员函数

Protected 类型 继承自 YSLib::UI::MLinearUIContainer
using | ItemType = IWidget *
| 部件组项目类型。 更多...
using | WidgetVector = vector< ItemType >
| 部件组类型。 更多...
using | iterator = WidgetIterator
Protected 成员函数 继承自 YSLib::UI::Control
| Control (const Rect &, HBrush, Drawing::Color=Drawing::ColorSpace::Black)
| 构造：使用指定边界、背景画刷和前景色。 更多...
| Control (const Control &)
| 复制构造：除容器为空外深复制。 更多...
| DefDeMoveCtor (Control) virtual PDefH(IWidget *
| 取按键-指针设备输入默认事件组映射。 更多...
const KeyInput & | ImplRet (nullptr) void OnTouch_Close(CursorEventArgs &&)
| 处理屏幕事件：关闭显示。 更多...
Protected 成员函数 继承自 YSLib::UI::MLinearUIContainer
| DefDeCtor (MLinearUIContainer) DefDeMoveCtor(MLinearUIContainer) void operator+
| 无参数构造：默认实现。 更多...
bool | operator-= (IWidget &)
| 从部件组移除部件。 更多...
void | PaintVisibleChildren (PaintEventArgs &)
| 绘制可视子部件。 更多...
*vWidgets[idx]*vWidgets[idx] bool | Contains (IWidget &) const
| 判断是否包含指定部件。 更多...
| DefGetter (const ynothrow, size_t, Count, vWidgets.size()) size_t Find(IWidget &) const
| 取部件数。 更多...
| PDefHOp (IWidget &, [], size_t idx) ynothrowv ImplRet(YAssertNonnull(vWidgets[idx])
| 取指定索引的部件引用。 更多...
| YAssert (idx< GetCount(),"Index is out of range.")
*vWidgets[idx] | PDefHOp (IWidget &, [], size_t idx) const ynothrowv ImplRet(YAssertNonnull(vWidgets[idx])
*vWidgets[idx] | YAssert (idx< GetCount(),"Index is out of range.")
Protected 属性 继承自 YSLib::UI::Control
| GetBoundControlPtr
Protected 属性 继承自 YSLib::UI::MLinearUIContainer
WidgetVector | vWidgets
PDefH(IWidget &, at, size_t idx) ythrow(std iterator | end ()

取指定索引的部件引用。

异常

  std::out_of_range | 异常中立：由 vWidgets.at 抛出。

更多...

## 详细描述

标签栏控件。

自从
  build 494

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

## 成员类型定义说明

using YSLib::UI::TabBar::TabPtrType = unique_ptr<Control>

在文件 TabControl.h 第 48 行定义.

## 构造及析构函数说明

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

explicit

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

参考 PerformLayout().

函数调用图:

## 成员函数说明

void YSLib::UI::TabBar::DefaultPaintTabBorder | ( | PaintEventArgs && | e | ) |

static

绘制默认标签页边框。

在文件 TabControl.cpp 第 64 行定义.

参考 YSLib::UI::Styles::ActiveBorder, YSLib::Drawing::DrawRect(), YSLib::UI::FetchGUIState(), YSLib::UI::GetSizeOf, YSLib::UI::Styles::InactiveBorder , 以及 YSLib::UI::IsFocused().

函数调用图:

void YSLib::UI::TabBar::operator+= | ( | IWidget & | tab | ) |

virtual

在文件 TabControl.cpp 第 51 行定义.

bool YSLib::UI::TabBar::operator-= | ( | IWidget & | tab | ) |

virtual

在文件 TabControl.cpp 第 58 行定义.

参考 YSLib::UI::MLinearUIContainer::operator-=() , 以及 YSLib::UI::RemoveFrom().

函数调用图:

SPos YSLib::UI::TabBar::PerformLayout | ( |  | ) |

布局。

返回
  布局结束时的最后标签的结束位置。

在文件 TabControl.cpp 第 74 行定义.

参考 YSLib::UI::GetSizeOf, YSLib::Drawing::Size::Height, MinWidth, Offset, platform_ex::Windows::s, YSLib::UI::SetBoundsOf(), YSLib::UI::Widget::SPos, YSLib::UI::MLinearUIContainer::vWidgets, YSLib::UI::wgt, YSLib::Drawing::Size::Width , 以及 YAssertNonnull.

参考自 TabBar().

函数调用图:

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

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

overridevirtual

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

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

参见
  PaintContext

自从
  build 294

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

重载 YSLib::UI::Widget .

在文件 TabControl.cpp 第 97 行定义.

参考 YSLib::Drawing::Clip(), YSLib::UI::GetLocationOf, YSLib::UI::GetSizeOf, YSLib::UI::IsVisible, PaintTabBackground, PaintTabForeground , 以及 YSLib::UI::wgt.

函数调用图:

bool YSLib::UI::TabBar::SwitchPage | ( | Control & | ctl | ) |

切换页面。

返回
  是否切换成功。

在文件 TabControl.cpp 第 124 行定义.

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

函数调用图:

## 类成员变量说明

SDst YSLib::UI::TabBar::MinWidth = 12

每个标签最小的位置。

在文件 TabControl.h 第 53 行定义.

参考自 PerformLayout().

SPos YSLib::UI::TabBar::Offset = 0

首个标签所在的起始偏移位置。

在文件 TabControl.h 第 51 行定义.

参考自 PerformLayout().

std::function<void(PaintEventArgs&&)> YSLib::UI::TabBar::PaintTabBackground {}

标签背景附加绘制操作。

注解
  空时被忽略。

在文件 TabControl.h 第 58 行定义.

参考自 Refresh().

std::function<void(PaintEventArgs&&)> YSLib::UI::TabBar::PaintTabForeground {DefaultPaintTabBorder}

标签前景附加绘制操作。

注解
  空时被忽略。

在文件 TabControl.h 第 64 行定义.

参考自 Refresh().

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

- TabControl.h
- TabControl.cpp