Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

119 lines
3.2 KiB

/*******************************************************************************
*
* 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