185 lines
6.1 KiB
C
185 lines
6.1 KiB
C
|
/*******************************************************************************
|
||
|
*
|
||
|
* 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
|