windows-nt/Source/XPSP1/NT/termsrv/admtools/winutils/tsadmin/treeview.h

185 lines
6.1 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*******************************************************************************
*
* treeview.h
*
* - declarations for the CAdminTreeView class
* - the CAdminTreeView class lives in the left pane of the mainframe's splitter
* - 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\treeview.h $
*
* Rev 1.6 19 Feb 1998 17:42:36 donm
* removed latest extension DLL support
*
* Rev 1.4 19 Jan 1998 16:49:24 donm
* new ui behavior for domains and servers
*
* Rev 1.3 03 Nov 1997 15:21:42 donm
* added Domains
*
* Rev 1.2 13 Oct 1997 18:42:02 donm
* update
*
* Rev 1.9 29 Jul 1997 10:11:48 butchd
* update
*
* Rev 1.8 14 Mar 1997 17:13:24 donm
* update
*
* Rev 1.7 11 Mar 1997 17:26:10 donm
* update
*
* Rev 1.6 26 Feb 1997 15:29:34 donm
* update
*
* Rev 1.5 14 Feb 1997 08:57:46 donm
* update
*
* Rev 1.4 04 Feb 1997 18:13:58 donm
* update
*
* Rev 1.3 03 Feb 1997 16:35:40 donm
* update
*
* Rev 1.2 29 Jan 1997 18:39:02 donm
* update
*******************************************************************************/
#ifndef _TREEVIEW_H
#define _TREEVIEW_H
#include "afxcview.h"
#include "basetree.h"
///////////////////////
// CLASS: CAdminTreeView
//
class CAdminTreeView : public CBaseTreeView
{
friend class CTreeTabCtrl;
friend class CLeftPane;
protected:
CAdminTreeView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAdminTreeView)
// Attributes
protected:
int m_idxBlank; // index of Blank icon image
int m_idxCitrix; // index of Citrix icon image
int m_idxServer; // index of Server icon image
int m_idxConsole; // index of Console icon image
int m_idxNet; // index of Net icon image
int m_idxNotSign; // index of Not Sign overlay (for non-sane servers)
int m_idxQuestion; // index of Question Mark overlay (for non-opened servers)
int m_idxUser; // index of User icon image
int m_idxAsync; // index of Async icon image (modem)
int m_idxCurrentServer; // index of Current Server image
int m_idxCurrentNet; // index of Current Net image
int m_idxCurrentConsole;// index of Current Console image
int m_idxCurrentAsync; // index of Current Async image
int m_idxDirectAsync; // index of Direct Async image
int m_idxCurrentDirectAsync; // index of Current Direct Async image
int m_idxDomain; // index of Domain image
int m_idxCurrentDomain; // index of Current Domain image
int m_idxDomainNotConnected; // index of Domain Not Connected image
int m_idxServerNotConnected; // index of Server Not Connected image
CImageList *m_pimgDragList;
HTREEITEM m_hDragItem;
UINT_PTR m_nTimer;
// Operations
public:
protected:
private:
// Builds the image list
virtual void BuildImageList();
// Add the WinStations attached to a particular Server
void AddServerChildren(HTREEITEM hServer, CServer *pServer , NODETYPE );
// Add a Domain to the tree
HTREEITEM AddDomainToTree(CDomain *pDomain);
// Determines what text to use for a WinStation in the tree
void DetermineWinStationText(CWinStation *pWinStation, TCHAR *text);
// Determines which icon to use for a WinStation in the tree
int DetermineWinStationIcon(CWinStation *pWinStation);
// Determine which icon to use for a Domain in the tree
int DetermineDomainIcon(CDomain *pDomain);
// Determine which icon to use for a Server in the tree
int DetermineServerIcon(CServer *pServer);
BOOL ConnectToServer(CTreeCtrl* tree, HTREEITEM* hItem);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAdminTreeView)
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 ~CAdminTreeView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
LRESULT UpdateServerTreeNodeState( HTREEITEM , CServer * , NODETYPE );
LRESULT RemoveWinstation( HTREEITEM , CWinStation * );
LRESULT UpdateWinStation( HTREEITEM , CWinStation * );
LRESULT AddWinStation( CWinStation * , HTREEITEM , BOOL , NODETYPE );
// Generated message map functions
protected:
//{{AFX_MSG(CAdminTreeView)
afx_msg LRESULT OnAdminAddServer(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnAdminRemoveServer(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnAdminUpdateServer(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnAdminAddWinStation(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnAdminUpdateWinStation(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnAdminRemoveWinStation(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnAdminUpdateDomain(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnAdminAddDomain(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnAdminViewsReady(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnAdminAddServerToFavs( WPARAM , LPARAM );
afx_msg LRESULT OnAdminRemoveServerFromFavs( WPARAM , LPARAM );
afx_msg LRESULT OnAdminGotoServer( WPARAM , LPARAM );
afx_msg LRESULT OnAdminDelFavServer( WPARAM wp , LPARAM lp );
afx_msg LRESULT OnGetTVStates( WPARAM , LPARAM );
afx_msg LRESULT OnUpdateTVState( WPARAM , LPARAM );
afx_msg LRESULT OnEmptyFavorites( WPARAM , LPARAM );
afx_msg LRESULT OnIsFavListEmpty( WPARAM , LPARAM );
afx_msg LRESULT OnAdminConnectToServer( WPARAM , LPARAM );
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
afx_msg void OnRClick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnEnterKey( );
afx_msg void OnSetFocus( CWnd *pOld );
afx_msg void OnBeginDrag( NMHDR * , LRESULT * );
afx_msg void OnLButtonUp( UINT , CPoint );
afx_msg void OnMouseMove( UINT , CPoint );
afx_msg void OnTimer( UINT nIDEvent );
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
}; // end class CAdminTreeView
#endif // _TREEVIEW_H