YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
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.h45 行定义.

成员类型定义说明

在文件 TabControl.h48 行定义.

构造及析构函数说明

YSLib::UI::TabBar::TabBar ( const Rect r = {})
explicit

在文件 TabControl.cpp42 行定义.

参考 PerformLayout().

函数调用图:

成员函数说明

void YSLib::UI::TabBar::DefaultPaintTabBorder ( PaintEventArgs &&  e)
static
void YSLib::UI::TabBar::operator+= ( IWidget &  tab)
virtual

在文件 TabControl.cpp51 行定义.

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

在文件 TabControl.cpp58 行定义.

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

函数调用图:

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

布局。

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

在文件 TabControl.cpp74 行定义.

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

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

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

函数调用图:

类成员变量说明

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

每个标签最小的位置。

在文件 TabControl.h53 行定义.

参考自 PerformLayout().

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

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

在文件 TabControl.h51 行定义.

参考自 PerformLayout().

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

标签背景附加绘制操作。

注解
空时被忽略。

在文件 TabControl.h58 行定义.

参考自 Refresh().

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

标签前景附加绘制操作。

注解
空时被忽略。

在文件 TabControl.h64 行定义.

参考自 Refresh().


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