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

树状控件模型 更多...

类 BUI::CTreeViewModel 继承关系图:

Public 成员函数

 CTreeViewModel ()
 ~CTreeViewModel ()
void ModifyTreeViewModelFlags (UINT style, UINT op=ADD_FLAGS, BOOL is_refresh=FALSE)
 设置树模型标志
UINT IsHasTreeViewModelFlags (UINT flags) const
UINT GetTreeViewModelFlags () const
CTreeModelNodeInsertTreeNode (CTreeModelNode *parent, CTreeModelNode *prev, const std::shared_ptr< CNodeSpanCell > &item, LPCTSTR text_id=NULL)
 插入节点
BOOL RemoveItem (CTreeModelNode *item)
 删除节点
void Clear (BOOL is_erase=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)单元格数据
CTreeModelNodeGetSelectNode () const
 获得当前选中对象
CTreeModelNodeFindTreeNodeByID (CTreeModelNode *node, LPCTSTR text_id)
 查找指定节点
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 is_search)
 开启(或禁用)查找模式
void SetCheckBoxImage (SelectState state, GImageIconInfo *img)
 设置复选框图案
void MatchTextNode (LPCTSTR str)
 搜索匹配的节点
BOOL Expand (CTreeModelNode *hItem, BOOL is_expand)
 设定项是否展开(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 is_enable_drag)
BOOL IsDragMoveEnable () const

Protected 成员函数

void OnTranslateLanguage ()
void SetAllSelectState (bool state)
UINT GetRowCount () const
void ReBuildDepth ()
void DrawTreeCell (CNodeSpanCell *cell, RECT rc_view, const GColor &color_text, UINT text_align)
BOOL PtInTreeItemCheckBox (CTreeModelNode *item, POINT pt)
BOOL PtInExpandBtn (CTreeModelNode *hItem, POINT pt)
void SetTreeItemCheckBox (CTreeModelNode *item, SelectState state)
void SetChildItemCheckState (CTreeModelNode *child, SelectState state)
void DrawTreeItem (ISurface *surface, RECT *rect_update, CTreeModelNode *node, const GColor &color, int dx=0)
void DrawTreeDataCell (ISurface *surface, int paint_state, RECT *rect_update, CTreeModelNode *node, RECT rc_cell, const GColor &color)
void DrawTreeItemLevelLine (ISurface *surface, RECT &rc_view, CTreeModelNode *node, const GColor &color, int font_height, int begin_row, 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 &str_name, const BeString &str_value)
 命令控制和属性设置接口
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 is_erase = TRUE)

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

◆ DrawTreeCell()

void BUI::CTreeViewModel::DrawTreeCell ( CNodeSpanCell * cell,
RECT rc_view,
const GColor & color_text,
UINT text_align )
protected

◆ DrawTreeDataCell()

void BUI::CTreeViewModel::DrawTreeDataCell ( ISurface * surface,
int paint_state,
RECT * rect_update,
CTreeModelNode * node,
RECT rc_cell,
const GColor & color )
protected

◆ DrawTreeItem()

void BUI::CTreeViewModel::DrawTreeItem ( ISurface * surface,
RECT * rect_update,
CTreeModelNode * node,
const GColor & color,
int dx = 0 )
protected

◆ DrawTreeItemLevelLine()

void BUI::CTreeViewModel::DrawTreeItemLevelLine ( ISurface * surface,
RECT & rc_view,
CTreeModelNode * node,
const GColor & color,
int font_height,
int begin_row,
int scroll_x,
int scroll_y )
protected

◆ Expand()

BOOL BUI::CTreeViewModel::Expand ( CTreeModelNode * hItem,
BOOL is_expand )

设定项是否展开(TRUE表示折叠).

◆ FindTreeNodeByID()

CTreeModelNode * BUI::CTreeViewModel::FindTreeNodeByID ( CTreeModelNode * node,
LPCTSTR text_id )

查找指定节点

◆ 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 内被实现.

◆ GetSelectNode()

CTreeModelNode * BUI::CTreeViewModel::GetSelectNode ( ) const

获得当前选中对象

◆ 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,
const std::shared_ptr< CNodeSpanCell > & item,
LPCTSTR text_id = NULL )

插入节点

◆ 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 is_refresh = 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 * item,
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 * item)

删除节点

◆ 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 * child,
SelectState state )
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 is_search)

开启(或禁用)查找模式

◆ SetSpacing()

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

设置行距

◆ SetTreeItemCheckBox()

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

◆ ShellModelAttribute()

void BUI::CTreeViewModel::ShellModelAttribute ( const BeString & str_name,
const BeString & str_value )
protected

命令控制和属性设置接口

szName属性 szText语法格式
treemodel-flags
树模型功能标志位
"-"前缀代表删除属性
如 treemodel-flags="showCaption,-EnableZoom"
ShowCheckBox :显示复选框
ExpandBtnTriStyle :折叠按钮风格为三角形
ShowTreeLine :显示层级线条
TreeNodeMovable :节点可被移动重排
sub-line-offset
子节点层级线偏移量
sub-line-offset="15"
interval
元素间隔
interval="5"
row_height
行高
row_height="25"
checkbox-size
复选框和扩展按钮尺寸
checkbox-size="10"
expand-size
子节点缩进尺寸
expand-size="6"
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 © 2026 · CBlueStudio 版权所有