YSTest: YSLib::UI::TreeView类 参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

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

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

带滚动条的树形视图。 更多...

`#include <TreeView.h>`

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

## Public 类型

using | NodePath = TreeList::NodePath
using | IndentMap = TreeList::IndentMap
Public 类型 继承自 YSLib::UI::ListBox
using | ListType = TextList::ListType
using | ViewArgs = TextList::ViewArgs
using | IndexType = TextList::IndexType
using | ItemType = TextList::ItemType
using | iterator = ystdex::subscriptive_iterator< ListBox, IWidget >
Public 类型 继承自 YSLib::UI::ScrollableContainer
using | iterator = ystdex::subscriptive_iterator< ScrollableContainer, IWidget >

## Public 成员函数

| TreeView (const Rect &={}, const shared_ptr< ListType > &={})
| DefDeMoveCtor (TreeView)~TreeView() override
| 虚析构：类定义外默认实现。 更多...
| DefGetter (, GEvent< void(IndexType)> &, Collapse, GetTreeListRef().Collapse) DefGetter(
GEvent< void(IndexType)> | GetTreeListRef ().Expand) DefGetter(
GEvent< void(IndexType)> std::function< String(const ValueNode &)> | GetTreeListRef ().ExtractText) DefGetterMem(const
GEvent< void(IndexType)> std::function< String(const ValueNode &)> | GetTreeListRef ()) PDefH(Rect
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const | ImplRet (GetTreeListRef().GetIndentBoxBounds(idx)) DefGetterMem(const ynothrow
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const | GetTreeListRef ()) DefGetterMem(const ynothrow
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap | GetTreeListRef ()) PDefH(SDst
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap IndexType idx const | ImplRet (GetTreeListRef().GetIndentWidth(idx)) PDefH(NodePath
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap IndexType idx const IndexType idx const | ImplRet (GetTreeListRef().GetNodePath(idx)) PDefH(const ValueNode &
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const | ImplRet (GetTreeListRef().GetNodeRef(idx)) DefGetter(const
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const TreeList * | ystdex::polymorphic_downcast (pTextList.get())) DefGetter(const
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const TreeList ValueNode | GetTreeListRef ().TreeRoot) PDefH(void
Public 成员函数 继承自 YSLib::UI::ListBox
| ListBox (const Rect &={}, const shared_ptr< ListType > &={})
| DefDeMoveCtor (ListBox)~ListBox() override
| 虚析构：类定义外默认实现。 更多...
| DefWidgetMemberIterationBase (ScrollableContainer, GetTextListRef()) PDefH(bool
ListType::size_type i const ynothrow | ImplRet (GetTextListRef().Contains(i)) DefPredMem(const ynothrow
ListType::size_type i const ynothrow | GetTextListRef ()) DefGetter(
| 项目选中确定事件。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | GetTextListRef ().Confirmed) DefGetterMem(const
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | GetTextListRef ()) DefGetterMem(const
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | GetTextListRef ()) DefGetterMem(const
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType | GetTextListRef ()) DefGetterMem(
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType | GetTextListRef ()) DefGetter(
| 项目选择状态变更事件。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> | GetTextListRef ().Selected) DefGetter(const
| 取文本列表引用。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList | Deref (pTextList)) DefGetter(
| 视图变更事件。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> | GetTextListRef ().ViewChanged) DefSetterMem(
| 设置文本列表。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > | GetTextListRef ()) PDefH(void
| 设置选中项。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ImplExpr (GetTextListRef().SetSelected(i)) PDefH(void
| 按内容大小依次调整列表视图中选中和首个项目的索引。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ImplExpr (GetTextListRef().AdjustViewForContent()) PDefH(void
| 调整视图长度。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ImplExpr (GetTextListRef().AdjustViewLength()) PDefH(void
| 清除选中项。 更多...
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ImplExpr (GetTextListRef().ClearSelected()) PDefH(void
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ImplExpr (GetTextListRef().ResetView()) void ResizeForPreferred(const Size &sup
| 按指定大小上限和内容调整大小。 更多...
Public 成员函数 继承自 YSLib::UI::ScrollableContainer
| ScrollableContainer (const Rect &={})
| DefDeMoveCtor (ScrollableContainer)~ScrollableContainer() override
| 虚析构：类定义外默认实现。 更多...
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 >)
| 设置视图为指定指针指向的对象。 更多...
virtual void | Refresh (PaintEventArgs &&)
| 刷新：按指定参数绘制界面并更新状态。 更多...

## Public 属性

GEvent< void(IndexType)> | Expand
GEvent< void(IndexType)> std::function< String(const ValueNode &)> | ExtractText
GEvent< void(IndexType)> std::function< String(const ValueNode &)> | Rect
GEvent< void(IndexType)> std::function< String(const ValueNode &)> | IndentBox
GEvent< void(IndexType)> std::function< String(const ValueNode &)> | GetIndentBoxBounds
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const | Size
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const | IndentBoxSize
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap | IndentMap
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap | GetIndentWidth
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap IndexType idx const | GetNodePath
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap IndexType idx const IndexType idx const | GetNodeRef
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const TreeList | TreeListRef
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const TreeList ValueNode | TreeRootRef
GEvent< void(IndexType)> std::function< String(const ValueNode &)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const TreeList ValueNode | Bind
Public 属性 继承自 YSLib::UI::ListBox
| Contains
ListType::size_type i const ynothrow | Selected
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | Confirmed
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | HeadIndex
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> | SelectedIndex
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType | List
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType | ListRef
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> | Selected
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList | TextListRef
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> | ViewChanged
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > | List
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > | SetSelected
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | AdjustViewForContent
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | AdjustViewLength
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ClearSelected
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i | ResetView
ListType::size_type i const ynothrow GEvent< void(IndexEventArgs)> const ListType ListType GEvent< void(IndexEventArgs)> TextList GEvent< void(ViewArgs)> const shared_ptr< ListType > ListType::size_type i Size | s = {})
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::ListBox
| ListBox (const Rect &, unique_ptr< TextList >)
Protected 成员函数 继承自 YSLib::UI::Control
| Control (const Rect &, HBrush)
| 构造：使用指定边界和背景画刷。 更多...
| Control (const Control &)
| 复制构造：除容器为空外深复制。 更多...
| DefDeMoveCtor (Control)~Control() override
| 虚析构：类定义外默认实现。 更多...
virtual | PDefH (observer_ptr< IWidget >, GetBoundControlPtr, const KeyInput &) ImplRet(nullptr) void OnTouch_Close(CursorEventArgs &&)
| 取按键-指针设备输入默认事件组映射。 更多...
Protected 属性 继承自 YSLib::UI::ListBox
unique_ptr< TextList > | pTextList
| 文本列表指针。 更多...
Protected 属性 继承自 YSLib::UI::ScrollableContainer
ScrollBar | hsbHorizontal
| 控制水平和竖直可视区域的水平滚动条。 更多...
ScrollBar | vsbVertical
相关函数 继承自 YSLib::UI::Widget
template<class... _tWidgets>
void | InvalidateWidgets (_tWidgets &...wgts)
| 向无效化部件。 更多...
template<class _tRenderer >
_tRenderer & | WrapRenderer (Widget &wgt, unique_ptr< _tRenderer > p_renderer)
| 包装渲染器：设置渲染器并返回被设置的渲染器引用。 更多...

## 详细描述

带滚动条的树形视图。

不变性
  `dynamic_cast<TreeList*>(pTextList.get())` 。

自从
  build 534

待办事项:
  实现 Resize 事件调整内容布局。

在文件 TreeView.h 第 219 行定义.

## 成员类型定义说明

using YSLib::UI::TreeView::IndentMap = TreeList::IndentMap

在文件 TreeView.h 第 223 行定义.

using YSLib::UI::TreeView::NodePath = TreeList::NodePath

在文件 TreeView.h 第 222 行定义.

## 构造及析构函数说明

YSLib::UI::TreeView::TreeView | ( | const Rect & | r = `{}`,
|  | const shared_ptr< ListType > & | h = `{}`
| ) |  |

explicit

在文件 TreeView.cpp 第 477 行定义.

## 成员函数说明

YSLib::UI::TreeView::DefDeMoveCtor | ( | TreeView |  | ) |

override

虚析构：类定义外默认实现。

自从
  build 586

YSLib::UI::TreeView::DefGetter | ( | GEvent< void(IndexType)> & | ,
|  | Collapse | ,
|  | GetTreeListRef(). | Collapse
| ) |  |

GEvent<void(IndexType)> YSLib::UI::TreeView::GetTreeListRef | ( |  | ) |

GEvent<void(IndexType)> std::function<String(const ValueNode&)> YSLib::UI::TreeView::GetTreeListRef | ( |  | ) | const

GEvent<void(IndexType)> std::function<String(const ValueNode&)> YSLib::UI::TreeView::GetTreeListRef | ( |  | ) |

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const YSLib::UI::TreeView::GetTreeListRef | ( |  | ) | const

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap YSLib::UI::TreeView::GetTreeListRef | ( |  | ) |

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const TreeList ValueNode YSLib::UI::TreeView::GetTreeListRef | ( |  | ) |

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const YSLib::UI::TreeView::ImplRet | ( | GetTreeListRef().GetIndentBoxBounds(idx) |  | ) | const

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap IndexType idx const YSLib::UI::TreeView::ImplRet | ( | GetTreeListRef().GetIndentWidth(idx) |  | ) |

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap IndexType idx const IndexType idx const YSLib::UI::TreeView::ImplRet | ( | GetTreeListRef().GetNodePath(idx) |  | ) | const

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const YSLib::UI::TreeView::ImplRet | ( | GetTreeListRef().GetNodeRef(idx) |  | ) | const

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const TreeList * YSLib::UI::TreeView::ystdex::polymorphic_downcast | ( | pTextList. | get() | ) | const

## 类成员变量说明

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const TreeList ValueNode YSLib::UI::TreeView::Bind

在文件 TreeView.h 第 253 行定义.

GEvent<void(IndexType)> YSLib::UI::TreeView::Expand

在文件 TreeView.h 第 235 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> YSLib::UI::TreeView::ExtractText

在文件 TreeView.h 第 236 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> YSLib::UI::TreeView::GetIndentBoxBounds

在文件 TreeView.h 第 239 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap YSLib::UI::TreeView::GetIndentWidth

在文件 TreeView.h 第 243 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap IndexType idx const YSLib::UI::TreeView::GetNodePath

在文件 TreeView.h 第 245 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap IndexType idx const IndexType idx const YSLib::UI::TreeView::GetNodeRef

在文件 TreeView.h 第 247 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> YSLib::UI::TreeView::IndentBox

在文件 TreeView.h 第 238 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const YSLib::UI::TreeView::IndentBoxSize

在文件 TreeView.h 第 241 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap YSLib::UI::TreeView::IndentMap

在文件 TreeView.h 第 242 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> YSLib::UI::TreeView::Rect

在文件 TreeView.h 第 238 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const YSLib::UI::TreeView::Size

在文件 TreeView.h 第 241 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const TreeList YSLib::UI::TreeView::TreeListRef

在文件 TreeView.h 第 249 行定义.

GEvent<void(IndexType)> std::function<String(const ValueNode&)> IndexType idx const const IndentMap IndexType idx const IndexType idx const IndexType idx const TreeList ValueNode YSLib::UI::TreeView::TreeRootRef

在文件 TreeView.h 第 251 行定义.

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

- TreeView.h
- TreeView.cpp