mirror of
https://github.com/duilib/duilib.git
synced 2026-10-17 06:01:08 +08:00
02d1ed8832
2、修正了若干bug
144 lines
4.4 KiB
C++
144 lines
4.4 KiB
C++
#ifndef __UITREEVIEW_H__
|
|
#define __UITREEVIEW_H__
|
|
|
|
#include <vector>
|
|
using namespace std;
|
|
|
|
#pragma once
|
|
|
|
namespace DuiLib
|
|
{
|
|
class CTreeViewUI;
|
|
class CCheckBoxUI;
|
|
class CLabelUI;
|
|
class COptionUI;
|
|
|
|
class DUILIB_API CTreeNodeUI : public CListContainerElementUI
|
|
{
|
|
public:
|
|
CTreeNodeUI(CTreeNodeUI* _ParentNode = NULL);
|
|
~CTreeNodeUI(void);
|
|
|
|
public:
|
|
LPCTSTR GetClass() const;
|
|
LPVOID GetInterface(LPCTSTR pstrName);
|
|
void DoEvent(TEventUI& event);
|
|
void Invalidate();
|
|
bool Select(bool bSelect = true, bool bTriggerEvent=true);
|
|
|
|
bool Add(CControlUI* _pTreeNodeUI);
|
|
bool AddAt(CControlUI* pControl, int iIndex);
|
|
|
|
void SetVisibleTag(bool _IsVisible);
|
|
bool GetVisibleTag();
|
|
void SetItemText(LPCTSTR pstrValue);
|
|
CDuiString GetItemText();
|
|
void CheckBoxSelected(bool _Selected);
|
|
bool IsCheckBoxSelected() const;
|
|
bool IsHasChild() const;
|
|
long GetTreeLevel() const;
|
|
bool AddChildNode(CTreeNodeUI* _pTreeNodeUI);
|
|
bool RemoveAt(CTreeNodeUI* _pTreeNodeUI);
|
|
void SetParentNode(CTreeNodeUI* _pParentTreeNode);
|
|
CTreeNodeUI* GetParentNode();
|
|
long GetCountChild();
|
|
void SetTreeView(CTreeViewUI* _CTreeViewUI);
|
|
CTreeViewUI* GetTreeView();
|
|
CTreeNodeUI* GetChildNode(int _nIndex);
|
|
void SetVisibleFolderBtn(bool _IsVisibled);
|
|
bool GetVisibleFolderBtn();
|
|
void SetVisibleCheckBtn(bool _IsVisibled);
|
|
bool GetVisibleCheckBtn();
|
|
void SetItemTextColor(DWORD _dwItemTextColor);
|
|
DWORD GetItemTextColor() const;
|
|
void SetItemHotTextColor(DWORD _dwItemHotTextColor);
|
|
DWORD GetItemHotTextColor() const;
|
|
void SetSelItemTextColor(DWORD _dwSelItemTextColor);
|
|
DWORD GetSelItemTextColor() const;
|
|
void SetSelItemHotTextColor(DWORD _dwSelHotItemTextColor);
|
|
DWORD GetSelItemHotTextColor() const;
|
|
|
|
void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue);
|
|
|
|
CDuiPtrArray GetTreeNodes();
|
|
|
|
int GetTreeIndex();
|
|
int GetNodeIndex();
|
|
|
|
private:
|
|
CTreeNodeUI* GetLastNode();
|
|
CTreeNodeUI* CalLocation(CTreeNodeUI* _pTreeNodeUI);
|
|
public:
|
|
CHorizontalLayoutUI* GetTreeNodeHoriznotal() const {return pHoriz;};
|
|
CCheckBoxUI* GetFolderButton() const {return pFolderButton;};
|
|
CLabelUI* GetDottedLine() const {return pDottedLine;};
|
|
CCheckBoxUI* GetCheckBox() const {return pCheckBox;};
|
|
COptionUI* GetItemButton() const {return pItemButton;};
|
|
|
|
private:
|
|
long m_iTreeLavel;
|
|
bool m_bIsVisable;
|
|
bool m_bIsCheckBox;
|
|
DWORD m_dwItemTextColor;
|
|
DWORD m_dwItemHotTextColor;
|
|
DWORD m_dwSelItemTextColor;
|
|
DWORD m_dwSelItemHotTextColor;
|
|
|
|
CTreeViewUI* pTreeView;
|
|
CHorizontalLayoutUI* pHoriz;
|
|
CCheckBoxUI* pFolderButton;
|
|
CLabelUI* pDottedLine;
|
|
CCheckBoxUI* pCheckBox;
|
|
COptionUI* pItemButton;
|
|
|
|
CTreeNodeUI* pParentTreeNode;
|
|
|
|
CDuiPtrArray mTreeNodes;
|
|
};
|
|
|
|
class DUILIB_API CTreeViewUI : public CListUI,public INotifyUI
|
|
{
|
|
public:
|
|
CTreeViewUI(void);
|
|
~CTreeViewUI(void);
|
|
|
|
public:
|
|
virtual LPCTSTR GetClass() const;
|
|
virtual LPVOID GetInterface(LPCTSTR pstrName);
|
|
virtual bool Add(CControlUI* pControl);
|
|
virtual bool AddAt(CControlUI* pControl, int iIndex);
|
|
virtual bool Remove(CControlUI* pControl, bool bDoNotDestroy=false);
|
|
virtual bool RemoveAt(int iIndex, bool bDoNotDestroy=false);
|
|
virtual void RemoveAll();
|
|
|
|
long AddAt(CTreeNodeUI* pControl, int iIndex);
|
|
bool AddAt(CTreeNodeUI* pControl,CTreeNodeUI* _IndexNode);
|
|
|
|
virtual bool OnCheckBoxChanged(void* param);
|
|
virtual bool OnFolderChanged(void* param);
|
|
virtual bool OnDBClickItem(void* param);
|
|
virtual bool SetItemCheckBox(bool _Selected,CTreeNodeUI* _TreeNode = NULL);
|
|
virtual void SetItemExpand(bool _Expanded,CTreeNodeUI* _TreeNode = NULL);
|
|
virtual void Notify(TNotifyUI& msg);
|
|
virtual void SetVisibleFolderBtn(bool _IsVisibled);
|
|
virtual bool GetVisibleFolderBtn();
|
|
virtual void SetVisibleCheckBtn(bool _IsVisibled);
|
|
virtual bool GetVisibleCheckBtn();
|
|
virtual void SetItemMinWidth(UINT _ItemMinWidth);
|
|
virtual UINT GetItemMinWidth();
|
|
virtual void SetItemTextColor(DWORD _dwItemTextColor);
|
|
virtual void SetItemHotTextColor(DWORD _dwItemHotTextColor);
|
|
virtual void SetSelItemTextColor(DWORD _dwSelItemTextColor);
|
|
virtual void SetSelItemHotTextColor(DWORD _dwSelHotItemTextColor);
|
|
|
|
virtual void SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue);
|
|
private:
|
|
UINT m_uItemMinWidth;
|
|
bool m_bVisibleFolderBtn;
|
|
bool m_bVisibleCheckBtn;
|
|
};
|
|
}
|
|
|
|
|
|
#endif // __UITREEVIEW_H__
|