YSTest: YSLib::UI::TreeList类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | 静态 Public 成员函数 | Public 属性 | Protected 属性 | Private 属性 | 所有成员列表
YSLib::UI::TreeList类 参考

树形列表。 更多...

`#include <TreeView.h>`

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

## Public 类型

enum | NodeState { NodeState::None = 0, NodeState::Branch, NodeState::Expanded }
| 节点状态。 更多...
using | IndentType = size_t
| 缩进类型：用于表示视图中项目的层次。 更多...
using | IndentMap = map< IndexType, IndentType >
using | NodePath = vector< IndexType >
Public 类型 继承自 YSLib::UI::TextList
enum | SelectionOption : size_t { ClearSelectionOnConfirm, ClearSelectionOnLeave, SelectOnHover, SelectionOptionMax }
| 选择操作选项。 更多...
Public 类型 继承自 YSLib::UI::MTextList
using | ItemType = String
| 项目类型：字符串。 更多...
using | ListType = vector< ItemType >
| 列表类型。 更多...
using | IndexType = typename ListType::size_type
| 索引类型。 更多...
Public 类型 继承自 YSLib::UI::AMUnitControlList
using | ViewArgs = GValueEventArgs< bool >
| 视图参数类型。 更多...

## Public 成员函数

| TreeList (const Rect &={}, const shared_ptr< ListType > &={}, const pair< Color, Color > &=FetchGUIConfiguration().Colors.GetPair(Styles::Highlight, Styles::HighlightText))
| 构造：使用指定边界、文本列表和高亮背景色/文本色对。 更多...
| ~TreeList () override
| 虚析构：类定义外默认实现。 更多...
Rect | GetIndentBox () const
| 取相对单元部件的基准缩进框边界。 更多...
Rect | GetIndentBoxBounds (IndexType) const
| 取相对部件的指定索引的缩进框边界。 更多...
| DefGetter (const ynothrow, Size, IndentBoxSize, Size(16, GetItemHeight())) DefGetter(const ynothrow
const IndentMap indent_map YB_ATTR_nodiscard YB_PURE SDst | GetIndentWidth (IndexType) const
YB_ATTR_nodiscard NodePath | GetNodePath (IndexType) const
YB_ATTR_nodiscard const ValueNode & | GetNodeRef (IndexType) const
void | Bind (size_t=size_t(-1))
| 绑定数据源，展开不超过指定深度的节点。 更多...
| PDefH (void, BindView, size_t max_depth=size_t(-1)) ImplExpr(Bind(max_depth)
| 绑定数据源并更新视图。 更多...
| ResetView ()) PDefH(NodeState
| 满足节点折叠条件（状态为 NodeState::Expanded ）时折叠节点。 更多...
size_t idx | ImplRet (ExpandOrCollapseNode(NodeState::Expanded, idx)) static String DefaultExtractText(const ValueNode &)
NodeState | QueryNodeState (IndexType) const
| 查询指定索引的列表项对应的节点状态。 更多...
Public 成员函数 继承自 YSLib::UI::TextList
| TextList (const Rect &={}, const shared_ptr< ListType > &={}, const pair< Color, Color > &=FetchGUIConfiguration().Colors.GetPair(Styles::Highlight, Styles::HighlightText))
| 构造：使用指定边界、文本列表和高亮背景色/文本色对。 更多...
| DefPredMem (const ynothrow, Selected, vwList) PDefH(bool
ListType::size_type i const ynothrow | ImplRet (vwList.Contains(i)) DefGetter(override
ListType::size_type i const ynothrow | WidgetRange (begin(), end())) DefGetterMem(const ynothrow
ListType::size_type i const ynothrow vwList size_t | GetLastLabelIndex () const
| DefGetterMem (const ynothrow, ListType::size_type, SelectedIndex, vwList) PDefH(Rect
size_t idx | ImplRet (Rect(GetUnitLocation(idx), GetWidth(), GetItemHeight())) void SetList(const shared_ptr< ListType > &)
| 设置文本列表。 更多...
void | SetSelected (ListType::size_type)
| 按指定项目索引设置选中项目。 更多...
void | LocateViewPosition (SDst)
| 定位视图顶端至指定竖直位置。 更多...
void | Refresh (PaintEventArgs &&) override
| 刷新：按指定参数绘制界面并更新状态。 更多...
void | ResetView ()
| 复位视图：调用 MUnitList::ResetView 和 UpdateView 。 更多...
void | SelectFirst ()
| 选择第一个项目。 更多...
void | SelectLast ()
| 选择最后一个项目。 更多...
WidgetIterator | begin ()
WidgetIterator | end ()
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 成员函数 继承自 YSLib::UI::MTextList
| MTextList (const shared_ptr< ListType > &={})
| 构造：使用文本列表句柄。 更多...
| DefDeMoveCtor (MTextList) DefGetter(const ynothrow
| 取文本列表。 更多...
YB_ATTR_nodiscard YB_PURE size_t | GetTotal () const ImplI(AMUnitList)
| 取文本列表引用。 更多...
void | SetList (const shared_ptr< ListType > &)
| 设置文本列表。 更多...
Public 成员函数 继承自 YSLib::UI::AMUnitControlList
| AMUnitControlList (unique_ptr< IWidget >)
| 构造：使用部件指针。 更多...
YB_ATTR_nodiscard YB_PURE IWidget & | GetUnitRef () const ImplI(AMUnitList)
void | SetUnit (unique_ptr< IWidget >)
| 设置单元部件。 更多...
YB_ATTR_nodiscard WidgetIterator | MakeIterator (size_t)
| 构造共享子部件迭代器。 更多...
YB_ATTR_nodiscard SDst | GetFullViewHeight () const
YB_ATTR_nodiscard SDst | GetItemHeight () const
YB_ATTR_nodiscard SDst | GetViewPosition () const

## 静态 Public 成员函数

static String | ExtractNodeName (const ValueNode &)

## Public 属性

GEvent< void(IndexType)> | Collapse
| 收缩节点后的回调。 更多...
GEvent< void(IndexType)> | Expand
| 展开节点前的回调。 更多...
function< String(const ValueNode &)> | ExtractText {DefaultExtractText}
| 提取文本。 更多...
Color | CursorOverColor {39, 199, 247}
| 响应 CursorOver 事件时节点分支图标的颜色。 更多...
ValueNode | TreeRoot {}
| 数据源。 更多...
SDst | UnitIndent = 16
| 单元缩进：指定在界面上显示层次的水平距离和缩进值的比。 更多...
const IndentMap | IndentMap
| CollapseNode
Public 属性 继承自 YSLib::UI::TextList
std::bitset< SelectionOptionMax > | SelectionOptions {}
| 选择操作选项。 更多...
function< bool(IWidget &)> | IsRelated {}
| 判断是否为 Leave 目标时不取消选择的相关部件。 更多...
Color | ForeColor {Drawing::ColorSpace::Black}
| 默认前景色。 更多...
| Contains
ListType::size_type i const ynothrow | WidgetRange
ListType::size_type i const ynothrow | Children
ListType::size_type i const ynothrow | HeadIndex
| GetUnitBounds
Color | HilightBackColor
Color | HilightTextColor
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
Public 属性 继承自 YSLib::UI::MTextList
MLabel | LabelBrush {}
const ListType | List
Public 属性 继承自 YSLib::UI::AMUnitControlList
GEvent< void(ViewArgs)> | ViewChanged
| 视图变更事件。 更多...
GEvent< void(IndexEventArgs)> | Selected
| 项目选择状态变更事件。 更多...
GEvent< void(IndexEventArgs)> | Confirmed
| 项目选中确认事件。 更多...
GEvent< void(size_t)> | Iterated
| 迭代器迭代事件。 更多...

## Protected 属性

size_t | idxCursorOver = size_t(-1)
| 最近响应 CursorOver 的项的索引。 更多...
Protected 属性 继承自 YSLib::UI::MTextList
shared_ptr< ListType > | hList
| 文本列表句柄。 更多...
Protected 属性 继承自 YSLib::UI::AMUnitList
SequenceViewer | vwList {}
| 列表视图。 更多...
SDst | uTopOffset = 0
| 列表视图首项目超出上边界的竖直偏移量。 更多...
size_t | idxShared = size_t(-1)
| SDst
| TopOffset
Protected 属性 继承自 YSLib::UI::MHilightText
Color | HilightBackColor
| 高亮背景色。 更多...
Color | HilightTextColor
| 高亮文本色。 更多...

## Private 属性

IndentMap | indent_map {}
| 列表项位置索引。 更多...
SPos | tmp_margin_left = 0
set< NodePath > | expanded {}
| 判断是否已经展开的索引。 更多...

## 额外继承的成员函数

Protected 成员函数 继承自 YSLib::UI::TextList
void | InvalidateSelected (ListType::difference_type offset, ListType::size_type diff=1)
| 按内容大小依次调整视图中选中和第一个项目的索引，然后按需调整竖直偏移量。 更多...
void | InvalidateSelected2 (ListType::difference_type, ListType::difference_type)
| 无效化偏移量对应的列表项区域。 更多...
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::AMUnitList
virtual YB_ATTR_nodiscard SDst | GetItemHeightCore () const
| 取默认行高：实现。 更多...
virtual | DefDeDtor (AMUnitList) bool CyclicTraverse
| 循环选择遍历。 更多...
YB_ATTR_nodiscard SDst | GetFullViewHeight () const
| 取完整视图高。 更多...
YB_ATTR_nodiscard SDst | GetItemHeight () const
| 取项目行高：调用 GetItemHeightCore 取结果。 更多...
YB_ATTR_nodiscard size_t | GetLastLabelIndexClipped (SPos, SDst) const
| DefGetter (const ynothrow, size_t, SharedIndex, idxShared) DefGetter(const ynothrow
uTopOffset | DeclIEntry (size_t GetTotal() const) DeclIEntry(IWidget &GetUnitRef() const) YB_ATTR_nodiscard Point GetUnitLocation(size_t) const
| 取单元总数。 更多...
YB_ATTR_nodiscard SDst | GetViewPosition () const
| 取视图顶端竖直位置。 更多...
SDst | AdjustBottomForHeight (SDst, SDst)
| 调整列表视图底项目（可能不完全）超出下边界以上的竖直偏移量为零。 更多...
SDst | AdjustOffsetForHeight (SDst, bool)
| 调整列表视图底项目的竖直偏移量为零。 更多...
void | AdjustViewForContent (SDst)
| 按内容大小依次调整视图中选中和第一个项目的索引，然后按需调整竖直偏移量。 更多...
void | AdjustViewLengthForHeight (SDst, SDst)
| 根据指定的单元部件的高和视图可视区域的高调整视图长度。 更多...
YB_ATTR_nodiscard size_t | CheckPoint (const Size &, const Point &)
| 检查点（相对左上角）是否在选择范围内， 更多...
void | ResetView ()
| 复位视图。 更多...
Protected 成员函数 继承自 YSLib::UI::MHilightText
| MHilightText (const Color &bc, const Color &fc)
template<class _type >
| MHilightText (const _type &pr)
相关函数 继承自 YSLib::UI::TextList
YF_API void | ResizeForContent (TextList &)
| 根据文本内容调整文本列表大小。 更多...
相关函数 继承自 YSLib::UI::Widget
template<class _tRenderer >
_tRenderer & | WrapRenderer (Widget &wgt, unique_ptr< _tRenderer > p_renderer)
| 包装渲染器：设置渲染器并返回被设置的渲染器引用。 更多...

## 详细描述

树形列表。

注解
  展开或收缩节点不保证强异常安全性：若抛出异常则未指定状态（可能不一致）。

警告
  使用 SetList 或 GetListRef 替换列表或减少列表元素后不保证状态一致， 可能引起未定义行为。
  若修改 idxShared 则不保证状态一致。

自从
  build 531

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

## 成员类型定义说明

## ◆ IndentMap

using YSLib::UI::TreeList::IndentMap = map<IndexType, IndentType>

自从
  build 532

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

## ◆ IndentType

using YSLib::UI::TreeList::IndentType = size_t

缩进类型：用于表示视图中项目的层次。

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

## ◆ NodePath

using YSLib::UI::TreeList::NodePath = vector<IndexType>

自从
  build 532

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

## 成员枚举类型说明

## ◆ NodeState

enum YSLib::UI::TreeList::NodeState

strong

节点状态。

枚举值
None |
Branch |
Expanded |

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

## 构造及析构函数说明

## ◆ TreeList()

YSLib::UI::TreeList::TreeList | ( | const Rect & | r = `{}`,
|  | const shared_ptr< ListType > & | h = `{}`,
|  | const pair< Color, Color > & | hilight_pair = `FetchGUIConfiguration().Colors.GetPair( Styles::Highlight, Styles::HighlightText)`
| ) |  |

explicit

构造：使用指定边界、文本列表和高亮背景色/文本色对。

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

引用了 YSLib::UI::BackgroundPriority(), Branch, ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::cbegin(), ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::cend(), CollapseNode, YSLib::Drawing::Rect::Contains(), CursorOverColor, YSLib::Drawing::DrawArrow(), YSLib::Drawing::DrawCornerArrow(), YSLib::UI::e, YSLib::UI::empty(), Expanded, YSLib::UI::FetchGUIState(), YSLib::UI::MLabel::ForeColor, GetIndentBox(), GetIndentBoxBounds(), GetIndentWidth(), YSLib::UI::AMUnitControlList::GetUnitRef(), YSLib::i, idxCursorOver, YSLib::UI::AMUnitList::idxShared, indent_map, YSLib::UI::Invalidate(), YSLib::UI::MTextList::LabelBrush, YSLib::Drawing::Padding::Left, ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::lower_bound(), YSLib::UI::MLabel::Margin, None, QueryNodeState(), YSLib::Drawing::RDeg0, YSLib::UI::TextList::SetSelected(), YSLib::size_t, YSLib::UI::Widget::SPos, tmp_margin_left, UnitIndent, YSLib::UI::UpdateView(), YSLib::Drawing::GBinaryGroup< _type >::X , 以及 yunseq.

函数调用图:

## ◆ ~TreeList()

YSLib::UI::TreeList::~TreeList | ( |  | ) |

override

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

自从
  build 586

## 成员函数说明

## ◆ Bind()

void YSLib::UI::TreeList::Bind | ( | size_t | max_depth = `size_t(-1)` | ) |

绑定数据源，展开不超过指定深度的节点。

注解
  清除未指定的不一致状态；不调用事件。

自从
  build 534

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

引用了 ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::emplace(), expanded, ExtractText, indent_map, ystdex::cpp2017::swap(), TreeRoot , 以及 YSLib::UI::ynothrow.

函数调用图:

## ◆ DefGetter()

YSLib::UI::TreeList::DefGetter | ( | const | ynothrow,
|  | Size | ,
|  | IndentBoxSize | ,
|  | Size(16, GetItemHeight()) |
| ) |  | const

自从
  build 533
  build 532

## ◆ ExtractNodeName()

String YSLib::UI::TreeList::ExtractNodeName | ( | const ValueNode & | node | ) |

static

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

## ◆ GetIndentBox()

Rect YSLib::UI::TreeList::GetIndentBox | ( |  | ) | const

取相对单元部件的基准缩进框边界。

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

引用了 YSLib::UI::MTextList::LabelBrush, YSLib::Drawing::Padding::Left, YSLib::UI::MLabel::Margin , 以及 UnitIndent.

被这些函数引用 GetIndentBoxBounds() , 以及 TreeList().

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

## ◆ GetIndentBoxBounds()

Rect YSLib::UI::TreeList::GetIndentBoxBounds | ( | IndexType |  | ) | const

取相对部件的指定索引的缩进框边界。

自从
  build 533

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

引用了 GetIndentBox(), GetIndentWidth(), YSLib::UI::AMUnitList::GetItemHeight(), YSLib::UI::AMUnitList::idxShared , 以及 YSLib::UI::Widget::SPos.

被这些函数引用 TreeList().

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

## ◆ GetIndentWidth()

SDst YSLib::UI::TreeList::GetIndentWidth | ( | IndexType | idx | ) | const

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

引用了 ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::cend(), YSLib::i, indent_map, ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::lower_bound(), YSLib::UI::Widget::SDst , 以及 UnitIndent.

被这些函数引用 GetIndentBoxBounds() , 以及 TreeList().

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

## ◆ GetNodePath()

TreeList::NodePath YSLib::UI::TreeList::GetNodePath | ( | TreeList::IndexType | idx | ) | const

自从
  build 532

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

引用了 ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::cend(), ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::crbegin(), ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::crend(), YSLib::i, indent_map, ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::lower_bound(), ystdex::cpp2014::make_reverse_iterator() , 以及 YSLib::YAssert().

被这些函数引用 GetNodeRef() , 以及 QueryNodeState().

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

## ◆ GetNodeRef()

const ValueNode & YSLib::UI::TreeList::GetNodeRef | ( | IndexType | idx | ) | const

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

引用了 YSLib::AccessNode(), GetNodePath() , 以及 TreeRoot.

被这些函数引用 QueryNodeState().

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

## ◆ ImplRet()

size_t idx YSLib::UI::TreeList::ImplRet | ( | ExpandOrCollapseNode(NodeState::Expanded, idx) |  | ) | const &

## ◆ PDefH()

YSLib::UI::TreeList::PDefH | ( | void | ,
|  | BindView | ,
|  | size_t | max_depth = `size_t(-1)`
| ) |  |

绑定数据源并更新视图。

满足节点展开条件（状态为 NodeState::Branch ）时展开节点。

参见
  Bind
  TextList::ResetView

自从
  build 534
  build 541

返回
  折叠前节点的状态。

注解
  设置 idxShared 并调用 Expand 。

自从
  build 540

## ◆ QueryNodeState()

TreeList::NodeState YSLib::UI::TreeList::QueryNodeState | ( | IndexType | idx | ) | const

查询指定索引的列表项对应的节点状态。

自从
  build 695

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

引用了 Branch, ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::cend(), YSLib::UI::e, YSLib::UI::empty(), ystdex::exists(), Expanded, expanded, ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::find(), GetNodePath(), GetNodeRef(), YSLib::i, indent_map , 以及 None.

被这些函数引用 TreeList().

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

## ◆ ResetView()

YSLib::UI::TreeList::ResetView | ( |  | ) |

满足节点折叠条件（状态为 NodeState::Expanded ）时折叠节点。

返回
  折叠前节点的状态。

注解
  若满足状态不设置 idxShared 并调用 Collpase 。

自从
  build 541

## 类成员变量说明

## ◆ Collapse

GEvent<void(IndexType)> YSLib::UI::TreeList::Collapse

收缩节点后的回调。

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

## ◆ CollapseNode

YSLib::UI::TreeList::CollapseNode

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

被这些函数引用 TreeList().

## ◆ CursorOverColor

Color YSLib::UI::TreeList::CursorOverColor {39, 199, 247}

响应 CursorOver 事件时节点分支图标的颜色。

自从
  build 532

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

被这些函数引用 TreeList().

## ◆ Expand

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

展开节点前的回调。

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

## ◆ expanded

set<NodePath> YSLib::UI::TreeList::expanded {}

private

判断是否已经展开的索引。

警告
  当前不支持设置状态，修改子节点后若状态无法保持一致，需要重新绑定。

参见
  Bind

自从
  build 532

待办事项:

  除了重新绑定外，允许设置状态，避免修改子节点后的状态不一致。

  使用 trie 树优化。

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

被这些函数引用 Bind() , 以及 QueryNodeState().

## ◆ ExtractText

function<String(const ValueNode&)> YSLib::UI::TreeList::ExtractText {DefaultExtractText}

提取文本。

警告
  要求不改变列表的状态，否则可能引起未定义行为。

自从
  build 872

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

被这些函数引用 Bind().

## ◆ idxCursorOver

size_t YSLib::UI::TreeList::idxCursorOver = size_t(-1)

protected

最近响应 CursorOver 的项的索引。

注解
  值等于 size_t(-1) 表示指针未在任何项上。

自从
  build 532

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

被这些函数引用 TreeList().

## ◆ indent_map

IndentMap YSLib::UI::TreeList::indent_map {}

private

列表项位置索引。

参见
  QueryNodeState

自从
  build 532

以列表项的最大位置为键，映射到缩进值和相同缩进的连续列表项数量。 折叠的节点即便和之后的项具有相同缩进仍占单独的项，以避免无法和叶节点区分。

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

被这些函数引用 Bind(), GetIndentWidth(), GetNodePath(), QueryNodeState() , 以及 TreeList().

## ◆ IndentMap

const IndentMap YSLib::UI::TreeList::IndentMap

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

## ◆ tmp_margin_left

SPos YSLib::UI::TreeList::tmp_margin_left = 0

private

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

被这些函数引用 TreeList().

## ◆ TreeRoot

ValueNode YSLib::UI::TreeList::TreeRoot {}

数据源。

警告
  修改当前已展开的节点不保证状态一致；减少节点可能引起未定义行为。

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

被这些函数引用 Bind() , 以及 GetNodeRef().

## ◆ UnitIndent

SDst YSLib::UI::TreeList::UnitIndent = 16

单元缩进：指定在界面上显示层次的水平距离和缩进值的比。

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

被这些函数引用 GetIndentBox(), GetIndentWidth() , 以及 TreeList().

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

- TreeView.h
- TreeView.cpp