138 lines
4.6 KiB
C++
138 lines
4.6 KiB
C++
/*=========================================================================
|
|
*
|
|
* CPAdTree.hpp : class CPA_HierarchyTree
|
|
*
|
|
*
|
|
* Version 1.0
|
|
* Creation date
|
|
* Revision date
|
|
*
|
|
* Shaitan
|
|
*=======================================================================*/
|
|
#ifdef ACTIVE_EDITOR
|
|
|
|
#ifndef __CPA_HIERARCHYTREE_H__
|
|
#define __CPA_HIERARCHYTREE_H__
|
|
|
|
/****************************************/
|
|
#ifndef CPA_EXPORT
|
|
#if defined(CPA_WANTS_IMPORT)
|
|
#define CPA_EXPORT __declspec(dllimport)
|
|
#elif defined(CPA_WANTS_EXPORT)
|
|
#define CPA_EXPORT __declspec(dllexport)
|
|
#else
|
|
#define CPA_EXPORT
|
|
#endif
|
|
#endif
|
|
/****************************************/
|
|
|
|
class CPA_EditorBase;
|
|
class CPA_BaseObject;
|
|
class CPA_DialogList;
|
|
|
|
/*#################################################################################*/
|
|
/* Tree Control */
|
|
/*#################################################################################*/
|
|
/*===========================================================================
|
|
* Description: Class for the Tree Item
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
class CPA_EXPORT CPA_TreeItem
|
|
{
|
|
protected:
|
|
CPA_BaseObject *m_pObject;
|
|
void *m_pInfo;
|
|
int m_iIcon;
|
|
int m_iState;
|
|
|
|
public:
|
|
CPA_TreeItem (CPA_BaseObject *pObject);
|
|
~CPA_TreeItem (void);
|
|
|
|
CPA_BaseObject * GetObject (void) { return m_pObject; }
|
|
|
|
void * GetInfo (void) { return m_pInfo; }
|
|
void SetInfo (void *pInfo) { m_pInfo = pInfo; }
|
|
|
|
int GetIcon (void) { return m_iIcon; }
|
|
void SetIcon (int iIcon) { m_iIcon = iIcon; }
|
|
|
|
int GetState (void) { return m_iState; }
|
|
void SetState (int iState) { m_iState = iState; }
|
|
};
|
|
|
|
/*===========================================================================
|
|
* Description: Class for Hierarchy Tree
|
|
* Creation date:
|
|
* Author: Shaitan
|
|
*---------------------------------------------------------------------------
|
|
* Revision date: Author:
|
|
*=========================================================================*/
|
|
class CPA_EXPORT CPA_HierarchyTree : public CTreeCtrl
|
|
{
|
|
protected:
|
|
CPA_EditorBase *m_pOwnerEditor;
|
|
CPA_DialogList *m_pParentDialog;
|
|
CPA_BaseObject *m_pRoot;
|
|
CImageList *m_pIconList;
|
|
CImageList *m_pStateList;
|
|
CImageList m_stDefaultImageList;
|
|
HTREEITEM m_hDraggedItem;
|
|
HTREEITEM m_hTarget;
|
|
|
|
|
|
public:
|
|
|
|
CPA_HierarchyTree ();
|
|
~CPA_HierarchyTree ();
|
|
|
|
HTREEITEM GetDraggedItem (void) { return m_hDraggedItem; }
|
|
HTREEITEM GetDropTarget (void) { return m_hTarget; }
|
|
|
|
void SetParentDialog (CPA_DialogList *pParentDialog) { m_pParentDialog = pParentDialog; }
|
|
void SetOwnerEditor (CPA_EditorBase *pEditor) { m_pOwnerEditor = pEditor; }
|
|
void SetDraggedItem (HTREEITEM hItem) { m_hDraggedItem = hItem; }
|
|
void SetIconList (CImageList *pIconList, BOOL bUpdate = TRUE);
|
|
void SetStateList (CImageList *pIconList, BOOL bUpdate = TRUE);
|
|
|
|
void SetTreeRoot (CPA_BaseObject *pRoot);
|
|
|
|
void fn_vDeleteHierarchyTree (HTREEITEM hTreeNode = NULL);
|
|
void fn_vFillHierarchyTree (CPA_BaseObject *pEdParent, HTREEITEM hTreeNode);
|
|
|
|
HTREEITEM GetCorrespondingItem (CPA_BaseObject *pObject, CPA_BaseObject *pParent, HTREEITEM hElem);
|
|
CPA_BaseObject * GetCorrespondingChild (CPA_BaseObject *pObject, CPA_BaseObject *pParent);
|
|
void * GetCorrespondingInfo (CPA_BaseObject *pObject, CPA_BaseObject *pParent);
|
|
int GetCorrespondingIcon (CPA_BaseObject *pObject);
|
|
int GetCorrespondingState (CPA_BaseObject *pObject);
|
|
|
|
void * GetItemInfo (CPA_BaseObject *pObject, CPA_BaseObject *pParent);
|
|
void SetItemInfo (CPA_BaseObject *pObject, CPA_BaseObject *pParent, void *pInfo);
|
|
|
|
int GetItemIcon (CPA_BaseObject *pObject, CPA_BaseObject *pParent);
|
|
void SetItemIcon (CPA_BaseObject *pObject, CPA_BaseObject *pParent, int iIcon);
|
|
|
|
int GetItemStateI (CPA_BaseObject *pObject, CPA_BaseObject *pParent);
|
|
void SetItemStateI (CPA_BaseObject *pObject, CPA_BaseObject *pParent, int iState);
|
|
|
|
afx_msg void OnRButtonDown (UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonUp (UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonDblClk (UINT nFlags, CPoint point);
|
|
afx_msg void OnMouseMove (UINT nFlags, CPoint point);
|
|
afx_msg void OnKeyDown (UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnKeyUp (UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
|
|
BOOL OnCommand( WPARAM wParam, LPARAM lParam );
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif /*__CPA_HIERARCHYTREE_H__*/
|
|
#endif /* ACTIVE_EDITOR*/
|