CBlueUI  
C++ 跨平台跨框架的数据可视化工具
载入中...
搜索中...
未找到
BUI::CTreeViewModel类 参考abstract

树状控件模型 更多...

+ 类 BUI::CTreeViewModel 继承关系图:

Public 成员函数

 CTreeViewModel ()
 
 ~CTreeViewModel ()
 
void ModifyTreeViewModelFlags (UINT style, UINT op=ADD_FLAGS, BOOL bRefresh=FALSE)
 设置树模型标志
 
UINT IsHasTreeViewModelFlags (UINT flags) const
 
UINT GetTreeViewModelFlags () const
 
CTreeModelNodeInsertTreeNode (CTreeModelNode *parent, CTreeModelNode *prev, std::shared_ptr< CNodeSpanCell > item)
 插入节点
 
BOOL RemoveItem (CTreeModelNode *hItem)
 删除节点
 
void Clear (BOOL bErase=TRUE)
 删除此函数将删除节点的所有子节点
 
CTreeModelNodeRootNode ()
 根节点
 
CTreeModelNodeSelectItem (CTreeModelNode *item)
 选中指定节点
 
CTreeModelNodeSetHighLightItem (CTreeModelNode *item)
 高亮指定节点
 
CTreeModelNodeGetTreeLeafEntry (CTreeModelNode *node)
 
CTreeModelNodeGetTreeUpEntry (CTreeModelNode *node)
 
CTreeModelNodeMoveTreeNodeStep (CTreeModelNode *node, int step)
 
CTreeModelNodePtInTreeNode (int dy)
 
CTreeModelNodeGetRowNode (int row) const
 获得第row行的节点
 
CNodeDataGetNodeData (int row, int col) const
 获得(row,col)单元格数据
 
void ChangeModelThemeColors ()
 主题切换
 
int GetRowHeight (BOOL display=TRUE) const
 数据行高度
 
void SetRowHeight (int h)
 设置行高度
 
int GetNodeChildCount (CTreeModelNode *node)
 获得node节点的孩子节点总数
 
void SetLevelLineType (PenType type)
 设置层级线风格,虚线、实线
 
void SetItemRoundRadius (RoundRectRadius &radius)
 设置高亮时圆角尺寸
 
void SetItemRoundSize (int rx, int ry)
 设置高亮时圆角尺寸
 
void SetSpacing (int space)
 设置行距
 
void SetExpandSize (int size)
 设置扩展按钮尺寸
 
void SetChildOffsetX (int size)
 设置父节点与子节点之间的偏移量
 
void SetCheckBoxSize (int size)
 设置复选框按钮尺寸
 
void SetSearchMode (BOOL bSearch)
 开启(或禁用)查找模式
 
void SetCheckBoxImage (SelectState state, GImageIconInfo *img)
 设置复选框图案
 
void MatchTextNode (LPCTSTR str)
 搜索匹配的节点
 
BOOL Expand (CTreeModelNode *hItem, BOOL bExpand)
 设定项是否展开 true 展开
 
BOOL IsExpand (CTreeModelNode *hItem) const
 判断定项是否展开
 
BOOL IsInVisibleView (CTreeModelNode *hItem) const
 是否在可视区域内
 
BOOL IsTreeEmpty () const
 是否为空树
 
void PrintToFile (FILE *fp, LPCSTR space_prefix=" ") const
 格式化输出到文件中
 
- Public 成员函数 继承自 BUI::MouseDragHelper
 MouseDragHelper ()
 
 ~MouseDragHelper ()
 
void SetBeginDragPoint (POINT pt)
 
void UpdateCurrentDragPoint (POINT pt)
 
SIZE MoveOffset () const
 
POINT TargetPoint () const
 
void SetDragState (DragStateFlag state)
 
DragStateFlag DragState () const
 
void SetDragMoveEnable (BOOL bEnableDrag)
 
BOOL IsDragMoveEnable () const
 

Protected 成员函数

void OnTranslateLanguage ()
 
void SetAllSelectState (bool state)
 
UINT GetRowCount () const
 
void ReBuildDepth ()
 
void DrawTreeCell (CNodeSpanCell *pCell, RECT rcView, const GColor &color_text, UINT textAlignFlag)
 
BOOL PtInTreeItemCheckBox (CTreeModelNode *hItem, POINT pt)
 
BOOL PtInExpandBtn (CTreeModelNode *hItem, POINT pt)
 
void SetTreeItemCheckBox (CTreeModelNode *hItem, SelectState state)
 
void SetChildItemCheckState (CTreeModelNode *hchild, SelectState nstate)
 
void DrawTreeItem (ISurface *pSurface, RECT *lpUpdate, CTreeModelNode *node, const GColor &color, int dx=0)
 
void DrawTreeDataCell (ISurface *pSurface, int paintState, RECT *lpUpdate, CTreeModelNode *node, RECT rcCell, const GColor &color)
 
void DrawTreeItemLevelLine (ISurface *pSurface, RECT &rcView, CTreeModelNode *node, const GColor &color, int fontHeight, int firstRow, int scroll_x, int scroll_y)
 
void RefreshTreeNode (CTreeModelNode *node1, CTreeModelNode *node2, int base_x, int width)
 
BOOL GetTreeNodeCellYBound (CTreeModelNode *node, int &y1, int &y2) const
 
void ShellModelAttribute (const BeString &szName, const BeString &szText)
 命令控制和属性设置接口
 
virtual void OnInvalidateRect (RECT *rc, BOOL bClient)=0
 
virtual int GetModelColumCount ()=0
 
virtual POINT GetScrollOffsetPoint ()=0
 
virtual void OnSelectItem (CTreeModelNode *item)=0
 

Protected 属性

CTreeModelNode m_root
 
std::deque< CTreeModelNode * > m_alloc_node_buffer
 
int m_pool_size
 
UINT m_row_count
 
UINT m_totol_count
 
int m_item_height
 
int m_interval
 
int m_expand_size
 
int m_checkbox_size
 
int m_subline_offset
 
UINT m_tree_model_flags
 
UINT m_match_mask
 
PenType m_level_line_type
 
RoundRectRadius m_round_radius_highlight
 
GImageIconInfom_img_check [3]
 
CTreeModelNodem_node_first_show
 
CTreeModelNodem_node_selected
 
CTreeModelNodem_node_highlight
 
CTreeModelNodem_node_drop
 
MouseDragHelper m_drag_mgr
 
GBrushArray m_bru_stroke_line
 
GBrushArray m_bru_stroke_checkbox
 
GBrushArray m_bru_fill_front
 
BOOL m_is_need_action
 

额外继承的成员函数

- Public 属性 继承自 BUI::MouseDragHelper
BOOL m_is_enable_drag_move
 
POINT m_point_begin
 
SIZE m_move_offset
 
DragStateFlag m_drag_state
 

详细描述

树状控件模型

构造及析构函数说明

◆ CTreeViewModel()

BUI::CTreeViewModel::CTreeViewModel ( )

◆ ~CTreeViewModel()

BUI::CTreeViewModel::~CTreeViewModel ( )

成员函数说明

◆ ChangeModelThemeColors()

void BUI::CTreeViewModel::ChangeModelThemeColors ( )

主题切换

◆ Clear()

void BUI::CTreeViewModel::Clear ( BOOL  bErase = TRUE)

删除此函数将删除节点的所有子节点

◆ DrawTreeCell()

void BUI::CTreeViewModel::DrawTreeCell ( CNodeSpanCell pCell,
RECT  rcView,
const GColor color_text,
UINT  textAlignFlag 
)
protected

◆ DrawTreeDataCell()

void BUI::CTreeViewModel::DrawTreeDataCell ( ISurface pSurface,
int  paintState,
RECT lpUpdate,
CTreeModelNode node,
RECT  rcCell,
const GColor color 
)
protected

◆ DrawTreeItem()

void BUI::CTreeViewModel::DrawTreeItem ( ISurface pSurface,
RECT lpUpdate,
CTreeModelNode node,
const GColor color,
int  dx = 0 
)
protected

◆ DrawTreeItemLevelLine()

void BUI::CTreeViewModel::DrawTreeItemLevelLine ( ISurface pSurface,
RECT rcView,
CTreeModelNode node,
const GColor color,
int  fontHeight,
int  firstRow,
int  scroll_x,
int  scroll_y 
)
protected

◆ Expand()

BOOL BUI::CTreeViewModel::Expand ( CTreeModelNode hItem,
BOOL  bExpand 
)

设定项是否展开 true 展开

◆ GetModelColumCount()

virtual int BUI::CTreeViewModel::GetModelColumCount ( )
protectedpure virtual

BUI::CTreeListUI , 以及 BUI::CTreeTableViewUI 内被实现.

◆ GetNodeChildCount()

int BUI::CTreeViewModel::GetNodeChildCount ( CTreeModelNode node)

获得node节点的孩子节点总数

◆ GetNodeData()

CNodeData * BUI::CTreeViewModel::GetNodeData ( int  row,
int  col 
) const

获得(row,col)单元格数据

◆ GetRowCount()

UINT BUI::CTreeViewModel::GetRowCount ( ) const
protected

◆ GetRowHeight()

int BUI::CTreeViewModel::GetRowHeight ( BOOL  display = TRUE) const

数据行高度

◆ GetRowNode()

CTreeModelNode * BUI::CTreeViewModel::GetRowNode ( int  row) const

获得第row行的节点

◆ GetScrollOffsetPoint()

virtual POINT BUI::CTreeViewModel::GetScrollOffsetPoint ( )
protectedpure virtual

BUI::CTreeListUI , 以及 BUI::CTreeTableViewUI 内被实现.

◆ GetTreeLeafEntry()

CTreeModelNode * BUI::CTreeViewModel::GetTreeLeafEntry ( CTreeModelNode node)

◆ GetTreeNodeCellYBound()

BOOL BUI::CTreeViewModel::GetTreeNodeCellYBound ( CTreeModelNode node,
int &  y1,
int &  y2 
) const
protected

◆ GetTreeUpEntry()

CTreeModelNode * BUI::CTreeViewModel::GetTreeUpEntry ( CTreeModelNode node)

◆ GetTreeViewModelFlags()

UINT BUI::CTreeViewModel::GetTreeViewModelFlags ( ) const

◆ InsertTreeNode()

CTreeModelNode * BUI::CTreeViewModel::InsertTreeNode ( CTreeModelNode parent,
CTreeModelNode prev,
std::shared_ptr< CNodeSpanCell item 
)

插入节点

◆ IsExpand()

BOOL BUI::CTreeViewModel::IsExpand ( CTreeModelNode hItem) const

判断定项是否展开

◆ IsHasTreeViewModelFlags()

UINT BUI::CTreeViewModel::IsHasTreeViewModelFlags ( UINT  flags) const

◆ IsInVisibleView()

BOOL BUI::CTreeViewModel::IsInVisibleView ( CTreeModelNode hItem) const

是否在可视区域内

◆ IsTreeEmpty()

BOOL BUI::CTreeViewModel::IsTreeEmpty ( ) const

是否为空树

◆ MatchTextNode()

void BUI::CTreeViewModel::MatchTextNode ( LPCTSTR  str)

搜索匹配的节点

◆ ModifyTreeViewModelFlags()

void BUI::CTreeViewModel::ModifyTreeViewModelFlags ( UINT  style,
UINT  op = ADD_FLAGS,
BOOL  bRefresh = FALSE 
)

设置树模型标志

参数
styleTreeViewModelFlags组合值
opADD_FLAGS(添加属性) REMOVE_FLAGS(删除属性)

◆ MoveTreeNodeStep()

CTreeModelNode * BUI::CTreeViewModel::MoveTreeNodeStep ( CTreeModelNode node,
int  step 
)

◆ OnInvalidateRect()

virtual void BUI::CTreeViewModel::OnInvalidateRect ( RECT rc,
BOOL  bClient 
)
protectedpure virtual

BUI::CTreeListUI , 以及 BUI::CTreeTableViewUI 内被实现.

◆ OnSelectItem()

virtual void BUI::CTreeViewModel::OnSelectItem ( CTreeModelNode item)
protectedpure virtual

BUI::CTreeListUI , 以及 BUI::CTreeTableViewUI 内被实现.

◆ OnTranslateLanguage()

void BUI::CTreeViewModel::OnTranslateLanguage ( )
protected

◆ PrintToFile()

void BUI::CTreeViewModel::PrintToFile ( FILE *  fp,
LPCSTR  space_prefix = " " 
) const

格式化输出到文件中

◆ PtInExpandBtn()

BOOL BUI::CTreeViewModel::PtInExpandBtn ( CTreeModelNode hItem,
POINT  pt 
)
protected

◆ PtInTreeItemCheckBox()

BOOL BUI::CTreeViewModel::PtInTreeItemCheckBox ( CTreeModelNode hItem,
POINT  pt 
)
protected

◆ PtInTreeNode()

CTreeModelNode * BUI::CTreeViewModel::PtInTreeNode ( int  dy)

◆ ReBuildDepth()

void BUI::CTreeViewModel::ReBuildDepth ( )
protected

◆ RefreshTreeNode()

void BUI::CTreeViewModel::RefreshTreeNode ( CTreeModelNode node1,
CTreeModelNode node2,
int  base_x,
int  width 
)
protected

◆ RemoveItem()

BOOL BUI::CTreeViewModel::RemoveItem ( CTreeModelNode hItem)

删除节点

◆ RootNode()

CTreeModelNode * BUI::CTreeViewModel::RootNode ( )

根节点

◆ SelectItem()

CTreeModelNode * BUI::CTreeViewModel::SelectItem ( CTreeModelNode item)

选中指定节点

◆ SetAllSelectState()

void BUI::CTreeViewModel::SetAllSelectState ( bool  state)
protected

◆ SetCheckBoxImage()

void BUI::CTreeViewModel::SetCheckBoxImage ( SelectState  state,
GImageIconInfo img 
)

设置复选框图案

◆ SetCheckBoxSize()

void BUI::CTreeViewModel::SetCheckBoxSize ( int  size)

设置复选框按钮尺寸

◆ SetChildItemCheckState()

void BUI::CTreeViewModel::SetChildItemCheckState ( CTreeModelNode hchild,
SelectState  nstate 
)
protected

◆ SetChildOffsetX()

void BUI::CTreeViewModel::SetChildOffsetX ( int  size)

设置父节点与子节点之间的偏移量

◆ SetExpandSize()

void BUI::CTreeViewModel::SetExpandSize ( int  size)

设置扩展按钮尺寸

◆ SetHighLightItem()

CTreeModelNode * BUI::CTreeViewModel::SetHighLightItem ( CTreeModelNode item)

高亮指定节点

◆ SetItemRoundRadius()

void BUI::CTreeViewModel::SetItemRoundRadius ( RoundRectRadius radius)

设置高亮时圆角尺寸

◆ SetItemRoundSize()

void BUI::CTreeViewModel::SetItemRoundSize ( int  rx,
int  ry 
)

设置高亮时圆角尺寸

◆ SetLevelLineType()

void BUI::CTreeViewModel::SetLevelLineType ( PenType  type)

设置层级线风格,虚线、实线

◆ SetRowHeight()

void BUI::CTreeViewModel::SetRowHeight ( int  h)

设置行高度

◆ SetSearchMode()

void BUI::CTreeViewModel::SetSearchMode ( BOOL  bSearch)

开启(或禁用)查找模式

◆ SetSpacing()

void BUI::CTreeViewModel::SetSpacing ( int  space)

设置行距

◆ SetTreeItemCheckBox()

void BUI::CTreeViewModel::SetTreeItemCheckBox ( CTreeModelNode hItem,
SelectState  state 
)
protected

◆ ShellModelAttribute()

void BUI::CTreeViewModel::ShellModelAttribute ( const BeString szName,
const BeString szText 
)
protected

命令控制和属性设置接口

szName属性 szText语法格式
treemodel-flags
树模型功能标志位
"-"前缀代表删除属性
如 treemodel-flags="showCaption,-EnableZoom"
ShowCheckBox :显示复选框
ExpandBtnTriStyle :折叠按钮风格为三角形
ShowTreeLine :显示层级线条
TreeNodeMovable :节点可被移动重排
sub-line-offset
子节点层级线偏移量
sub-line-offset="15"
interval
元素间隔
interval="5"
rowHeight
行高
rowHeight="25"
line-type-level
层级画笔风格
solid, dot, dash, dash-dot, dash-dot-dot
cursel
设置当前选中项
cursel="行号"

类成员变量说明

◆ m_alloc_node_buffer

std::deque<CTreeModelNode*> BUI::CTreeViewModel::m_alloc_node_buffer
protected

◆ m_bru_fill_front

GBrushArray BUI::CTreeViewModel::m_bru_fill_front
protected

◆ m_bru_stroke_checkbox

GBrushArray BUI::CTreeViewModel::m_bru_stroke_checkbox
protected

◆ m_bru_stroke_line

GBrushArray BUI::CTreeViewModel::m_bru_stroke_line
protected

◆ m_checkbox_size

int BUI::CTreeViewModel::m_checkbox_size
protected

◆ m_drag_mgr

MouseDragHelper BUI::CTreeViewModel::m_drag_mgr
protected

◆ m_expand_size

int BUI::CTreeViewModel::m_expand_size
protected

◆ m_img_check

GImageIconInfo* BUI::CTreeViewModel::m_img_check[3]
protected

◆ m_interval

int BUI::CTreeViewModel::m_interval
protected

◆ m_is_need_action

BOOL BUI::CTreeViewModel::m_is_need_action
protected

◆ m_item_height

int BUI::CTreeViewModel::m_item_height
protected

◆ m_level_line_type

PenType BUI::CTreeViewModel::m_level_line_type
protected

◆ m_match_mask

UINT BUI::CTreeViewModel::m_match_mask
protected

◆ m_node_drop

CTreeModelNode* BUI::CTreeViewModel::m_node_drop
protected

◆ m_node_first_show

CTreeModelNode* BUI::CTreeViewModel::m_node_first_show
protected

◆ m_node_highlight

CTreeModelNode* BUI::CTreeViewModel::m_node_highlight
protected

◆ m_node_selected

CTreeModelNode* BUI::CTreeViewModel::m_node_selected
protected

◆ m_pool_size

int BUI::CTreeViewModel::m_pool_size
protected

◆ m_root

CTreeModelNode BUI::CTreeViewModel::m_root
protected

◆ m_round_radius_highlight

RoundRectRadius BUI::CTreeViewModel::m_round_radius_highlight
protected

◆ m_row_count

UINT BUI::CTreeViewModel::m_row_count
protected

◆ m_subline_offset

int BUI::CTreeViewModel::m_subline_offset
protected

◆ m_totol_count

UINT BUI::CTreeViewModel::m_totol_count
protected

◆ m_tree_model_flags

UINT BUI::CTreeViewModel::m_tree_model_flags
protected
鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2025 · CBlueStudio 版权所有