slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
Public 成员函数 | Public 属性 | Private 成员函数 | 静态 Private 成员函数 | Private 属性 | 所有成员列表
z8::ui::DockTree类 参考final

#include <DockTree.h>

Public 成员函数

DockNodeAddPanel (BaseNode *panel)
 
bool Commit (const DockTransaction &transaction)
 
DockNodeFind (DockNodeID id) const
 
DockNodeFindLeafAt (float x, float y) const
 
DockNodeFindPanelLeaf (const BaseNode *panel) const
 
DockNodeFindSplitterAt (float x, float y, float tolerance=4.0f) const
 
DockRect GetPreviewRect (const DockNode &target, DockSide side) const
 
void Layout (const DockRect &workspace)
 
bool RemovePanel (BaseNode *panel)
 
bool ResizeSplitter (DockNodeID split, float clientX, float clientY, float minimumExtent=80.0f)
 
bool Validate (std::string *error=nullptr) const
 
std::string Dump () const
 
void Clear ()
 

Public 属性

std::unique_ptr< DockNodeRoot
 

Private 成员函数

std::unique_ptr< DockNodeCreateLeaf (BaseNode *panel=nullptr)
 
void CollapseEmptyLeaf (DockNodeID leaf)
 
std::unique_ptr< DockNode > * OwnerSlot (DockNode *node)
 

静态 Private 成员函数

static void LayoutNode (DockNode &node, const DockRect &rect)
 

Private 属性

DockNodeID NextID = 1
 

详细描述

Dock 布局的唯一结构真值,负责插入、移除、空节点折叠和递归矩形计算。 所有结构修改都经 Commit,并在返回前验证父子关系与 Panel 唯一归属。

成员函数说明

◆ AddPanel()

DockNode * DockTree::AddPanel ( BaseNode * panel)
函数调用图:
这是这个函数的调用关系图:

◆ Clear()

void DockTree::Clear ( )
这是这个函数的调用关系图:

◆ CollapseEmptyLeaf()

void DockTree::CollapseEmptyLeaf ( DockNodeID leaf)
private
函数调用图:
这是这个函数的调用关系图:

◆ Commit()

bool DockTree::Commit ( const DockTransaction & transaction)
函数调用图:
这是这个函数的调用关系图:

◆ CreateLeaf()

std::unique_ptr< DockNode > DockTree::CreateLeaf ( BaseNode * panel = nullptr)
private
这是这个函数的调用关系图:

◆ Dump()

std::string DockTree::Dump ( ) const
这是这个函数的调用关系图:

◆ Find()

DockNode * DockTree::Find ( DockNodeID id) const
这是这个函数的调用关系图:

◆ FindLeafAt()

DockNode * DockTree::FindLeafAt ( float x,
float y ) const
这是这个函数的调用关系图:

◆ FindPanelLeaf()

DockNode * DockTree::FindPanelLeaf ( const BaseNode * panel) const
这是这个函数的调用关系图:

◆ FindSplitterAt()

DockNode * DockTree::FindSplitterAt ( float x,
float y,
float tolerance = 4.0f ) const
这是这个函数的调用关系图:

◆ GetPreviewRect()

DockRect DockTree::GetPreviewRect ( const DockNode & target,
DockSide side ) const
这是这个函数的调用关系图:

◆ Layout()

void DockTree::Layout ( const DockRect & workspace)
函数调用图:
这是这个函数的调用关系图:

◆ LayoutNode()

void DockTree::LayoutNode ( DockNode & node,
const DockRect & rect )
staticprivate
函数调用图:
这是这个函数的调用关系图:

◆ OwnerSlot()

std::unique_ptr< DockNode > * DockTree::OwnerSlot ( DockNode * node)
private
这是这个函数的调用关系图:

◆ RemovePanel()

bool DockTree::RemovePanel ( BaseNode * panel)
函数调用图:
这是这个函数的调用关系图:

◆ ResizeSplitter()

bool DockTree::ResizeSplitter ( DockNodeID split,
float clientX,
float clientY,
float minimumExtent = 80.0f )
函数调用图:
这是这个函数的调用关系图:

◆ Validate()

bool DockTree::Validate ( std::string * error = nullptr) const
这是这个函数的调用关系图:

类成员变量说明

◆ NextID

DockNodeID z8::ui::DockTree::NextID = 1
private

◆ Root

std::unique_ptr<DockNode> z8::ui::DockTree::Root

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