120 lines
3.2 KiB
C
120 lines
3.2 KiB
C
|
/*******************************************************************************
|
||
|
*
|
||
|
* basetree.h
|
||
|
*
|
||
|
* - declarations for the CBaseTreeView class
|
||
|
* - the CBaseTreeView class is the class which the tree views are
|
||
|
* - derived from.
|
||
|
* - derived from CTreeView
|
||
|
*
|
||
|
* copyright notice: Copyright 1997, Citrix Systems Inc.
|
||
|
* Copyright (c) 1998 - 1999 Microsoft Corporation
|
||
|
*
|
||
|
* $Author: donm $ Don Messerli
|
||
|
*
|
||
|
* $Log: N:\nt\private\utils\citrix\winutils\tsadmin\VCS\basetree.h $
|
||
|
*
|
||
|
* Rev 1.4 19 Feb 1998 17:40:04 donm
|
||
|
* removed latest extension DLL support
|
||
|
*
|
||
|
* Rev 1.2 19 Jan 1998 16:46:04 donm
|
||
|
* new ui behavior for domains and servers
|
||
|
*
|
||
|
* Rev 1.1 03 Nov 1997 15:23:08 donm
|
||
|
* update
|
||
|
*
|
||
|
* Rev 1.0 13 Oct 1997 22:32:48 donm
|
||
|
* Initial revision.
|
||
|
*
|
||
|
*******************************************************************************/
|
||
|
|
||
|
#ifndef _BASETREE_H
|
||
|
#define _BASETREE_H
|
||
|
|
||
|
#include "afxcview.h"
|
||
|
|
||
|
///////////////////////
|
||
|
// CLASS: CBaseTreeView
|
||
|
//
|
||
|
class CBaseTreeView : public CTreeView
|
||
|
{
|
||
|
friend class CTreeTabCtrl;
|
||
|
friend class CLeftPane;
|
||
|
|
||
|
protected:
|
||
|
CBaseTreeView(); // protected constructor used by dynamic creation
|
||
|
DECLARE_DYNCREATE(CBaseTreeView)
|
||
|
|
||
|
// Attributes
|
||
|
protected:
|
||
|
CImageList m_ImageList; // image list associated with the tree control
|
||
|
CCriticalSection m_TreeControlCriticalSection;
|
||
|
|
||
|
BOOL m_bInitialExpand; // we haven't done an initial Expand on the tree because
|
||
|
// there aren't any nodes beneath the root
|
||
|
|
||
|
// Operations
|
||
|
public:
|
||
|
|
||
|
HTREEITEM GetNextItem( HTREEITEM hItem);
|
||
|
|
||
|
protected:
|
||
|
|
||
|
DWORD_PTR GetCurrentNode();
|
||
|
// Adds an icon's image to the image list and returns the image's index
|
||
|
int AddIconToImageList(int);
|
||
|
// Adds an item to the tree
|
||
|
HTREEITEM AddItemToTree(HTREEITEM, CString, HTREEITEM, int, LPARAM);
|
||
|
// Locks the tree control for exclusive use and returns a reference
|
||
|
// to the tree control
|
||
|
CTreeCtrl& LockTreeControl() {
|
||
|
m_TreeControlCriticalSection.Lock();
|
||
|
return GetTreeCtrl();
|
||
|
}
|
||
|
// Unlocks the tree control
|
||
|
void UnlockTreeControl() { m_TreeControlCriticalSection.Unlock(); }
|
||
|
void ForceSelChange();
|
||
|
|
||
|
private:
|
||
|
|
||
|
// Builds the image list
|
||
|
virtual void BuildImageList();
|
||
|
|
||
|
// Collapses a tree item
|
||
|
void Collapse(HTREEITEM hItem);
|
||
|
|
||
|
// Overrides
|
||
|
// ClassWizard generated virtual function overrides
|
||
|
//{{AFX_VIRTUAL(CBaseTreeView)
|
||
|
public:
|
||
|
virtual void OnInitialUpdate();
|
||
|
protected:
|
||
|
virtual void OnDraw(CDC* pDC); // overridden to draw this view
|
||
|
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
||
|
//}}AFX_VIRTUAL
|
||
|
|
||
|
// Implementation
|
||
|
protected:
|
||
|
virtual ~CBaseTreeView();
|
||
|
#ifdef _DEBUG
|
||
|
virtual void AssertValid() const;
|
||
|
virtual void Dump(CDumpContext& dc) const;
|
||
|
#endif
|
||
|
|
||
|
// Generated message map functions
|
||
|
protected:
|
||
|
//{{AFX_MSG(CBaseTreeView)
|
||
|
afx_msg LRESULT OnExpandAll(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnCollapseAll(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnCollapseToThirdLevel(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnCollapseToRootChildren(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnAdminRemoveWinStation(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg void OnSelChange(NMHDR* pNMHDR, LRESULT* pResult);
|
||
|
afx_msg void OnDestroy();
|
||
|
//}}AFX_MSG
|
||
|
DECLARE_MESSAGE_MAP()
|
||
|
|
||
|
}; // end class CBaseTreeView
|
||
|
|
||
|
#endif // _BASETREE_H
|