GME  13
GMEConstraintTreeCtrl.h
Go to the documentation of this file.
00001 //###############################################################################################################################################
00002 //
00003 //      Object Constraint Language Generic Manager
00004 //      GMEConstraintTreeCtrl.h
00005 //
00006 //###############################################################################################################################################
00007 
00008 #if !defined(AFX_CONSTRAINTTREECTRL_H__2D5FDBA1_844B_49BA_A3E1_E360F51E90A3__INCLUDED_)
00009 #define AFX_CONSTRAINTTREECTRL_H__2D5FDBA1_844B_49BA_A3E1_E360F51E90A3__INCLUDED_
00010 
00011 #if _MSC_VER > 1000
00012 #pragma once
00013 #endif // _MSC_VER > 1000
00014 
00015 #include "TreeCtrlEx.h"
00016 
00017 #define CTVN_CHECKCHANGED ( WM_USER + 131 )
00018 #define CTVN_CHECKCHANGEDREC ( WM_USER + 132 )
00019 #define CTVN_SHOWITEM ( WM_USER + 133 )
00020 
00021 #define GETSTATE( hItem )       \
00022         GetItemState( hItem, TVIS_STATEIMAGEMASK ) >> 12
00023 
00024 #define SETSTATE( hItem, eState )       \
00025         SetItemState( hItem, eState << 12, TVIS_STATEIMAGEMASK )
00026 
00027 class CConstraintTreeCtrl;
00028 
00029 //##############################################################################################################################################
00030 //
00031 //      C L A S S : CConstraintTreeCtrl <<< + CTreeCtrlEx
00032 //
00033 //==============================================================================================================================================
00034 //
00035 //      D E S C R I P T I O N :
00036 //
00037 //##############################################################################################################################################
00038 
00039 
00040 class CConstraintTreeCtrl
00041         : public CTreeCtrlEx
00042 {
00043         DECLARE_DYNAMIC(CConstraintTreeCtrl)
00044 
00045         public :
00046                 typedef enum Kind_tag { TK_CONSTRAINT = 0, TK_OBJECT = 1, TK_UNKNOWN = 2 } Kind;
00047 
00048         private :
00049                 Kind    m_eKind;
00050 
00051         public :
00052                                                 CConstraintTreeCtrl();
00053                 virtual                         ~CConstraintTreeCtrl();
00054 
00055                                 void    SetKind( Kind eKind );
00056                                 Kind    GetKind() const;
00057                                 void    SelectAllItems( HTREEITEM root, bool select );
00058                                 void    SortItemChildren( HTREEITEM hItem );
00059 
00060         // ClassWizard generated virtual function overrides
00061         //{{AFX_VIRTUAL(CConstraintTreeCtrl)
00062         //}}AFX_VIRTUAL
00063 
00064 protected:
00065                                 void    SendTreeNotification( UINT uiMessage, HTREEITEM hItem );
00066 
00067 protected:
00068 
00069         //{{AFX_MSG(CConstraintTreeCtrl)
00070         afx_msg         void    OnLButtonDown(UINT nFlags, CPoint point);
00071         afx_msg         void    OnRButtonDown(UINT nFlags, CPoint point);
00072         afx_msg         void    OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
00073         afx_msg         void    OnLButtonDblClk(UINT nFlags, CPoint point);
00074         //}}AFX_MSG
00075 
00076         DECLARE_MESSAGE_MAP()
00077 };
00078 
00079 //################################################################################################################################
00080 
00081 //{{AFX_INSERT_LOCATION}}
00082 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
00083 
00084 #endif // !defined(AFX_CONSTRAINTTREECTRL_H__2D5FDBA1_844B_49BA_A3E1_E360F51E90A3__INCLUDED_)