6 #include "StandAloneDlg.h"
11 typedef std::map
<CString
,CShadowTree
> TShadowTreeMap
;
13 CShadowTree():m_hTree(NULL
){}
15 CShadowTree
* GetNextSub(CString
& nameLeft
);
17 bool IsLeaf()const {return m_ShadowTree
.empty();}
25 TShadowTreeMap m_ShadowTree
;
26 CShadowTree
* m_pParent
;
29 class CBrowseRefsDlg
: public CResizableStandAloneDialog
31 DECLARE_DYNAMIC(CBrowseRefsDlg
)
34 CBrowseRefsDlg(CWnd
* pParent
= NULL
); // standard constructor
35 virtual ~CBrowseRefsDlg();
38 enum { IDD
= IDD_DIALOG_BROWSE_REFS
};
41 virtual void DoDataExchange(CDataExchange
* pDX
); // DDX/DDV support
45 afx_msg
void OnBnClickedOk();
46 virtual BOOL
OnInitDialog();
50 CShadowTree
& GetTreeNode(CString refName
, CShadowTree
* pTreePos
=NULL
);
52 void FillListCtrlForTreeNode(HTREEITEM treeNode
);
54 void FillListCtrlForShadowTree(CShadowTree
* pTree
, CString refNamePrefix
, bool isFirstLevel
);
57 MAP_HASH_NAME m_RefMap
;
59 CShadowTree m_TreeRoot
;
60 CTreeCtrl m_RefTreeCtrl
;
61 CListCtrl m_ListRefLeafs
;
62 afx_msg
void OnTvnSelchangedTreeRef(NMHDR
*pNMHDR
, LRESULT
*pResult
);