|
|
//==============================================================;
//
// This source code is only intended as a supplement to
// existing Microsoft documentation.
//
//
//
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
//
//
//
//==============================================================;
#ifndef _SPACE_H
#define _SPACE_H
#include "DeleBase.h"
#include "CompData.h"
class CSpaceStation; class CComponentData;
class CRocket : public CDelegationBase { public: CRocket(CSpaceStation *pSpaceStation, _TCHAR *szName, int id, LONG lWeight, LONG lHeight, LONG lPayload); virtual ~CRocket(); virtual const _TCHAR *GetDisplayName(int nCol = 0); virtual const GUID & getNodeType() { return thisGuid; } virtual const int GetBitmapIndex() { return INDEX_SPACEICON; } BOOL getDeletedStatus() { return isDeleted; } void setDeletedStatus(BOOL status) { isDeleted = status; } public: // virtual functions go here (for MMCN_*)
virtual HRESULT OnSelect(IConsole *pConsole, BOOL bScope, BOOL bSelect); virtual HRESULT OnUpdateItem(IConsole *pConsole, long item, ITEM_TYPE itemtype); virtual HRESULT OnDelete(IConsole *pConsole); virtual HRESULT OnRefresh(IConsole *pConsole); virtual HRESULT OnRename(LPOLESTR pszNewName); private: // {29743810-4C4B-11d2-89D8-000021473128}
static const GUID thisGuid; _TCHAR *szName; LONG lWeight; LONG lHeight; LONG lPayload; int nId;
friend CSpaceStation; CSpaceStation *m_pSpaceStation;
enum ROCKET_STATUS {RUNNING, PAUSED, STOPPED} iStatus;
BOOL isDeleted; };
class CSpaceStation : public CDelegationBase { public: CSpaceStation(); virtual ~CSpaceStation(); virtual const _TCHAR *GetDisplayName(int nCol = 0) { return _T("Space Station"); } virtual const GUID & getNodeType() { return thisGuid; } virtual const int GetBitmapIndex() { return INDEX_STATION; } public: virtual HRESULT OnShow(IConsole *pConsole, BOOL bShow, HSCOPEITEM scopeitem); virtual HRESULT GetResultViewType(LPOLESTR *ppViewType, long *pViewOptions); virtual HRESULT OnSelect(IConsole *pConsole, BOOL bScope, BOOL bSelect);
virtual HRESULT OnPaste(IConsole *pConsole, CComponentData *pComponentData, CDelegationBase *pPasted); virtual HRESULT OnQueryPaste(CDelegationBase *pPasted); virtual HRESULT OnUpdateItem(IConsole *pConsole, long item, ITEM_TYPE itemtype); virtual HRESULT OnDeleteScopeItem(IConsoleNameSpace *pConsoleNameSpace);
private: // {29743810-4C4B-11d2-89D8-000021473128}
static const GUID thisGuid; HRESULT Expand(IConsoleNameSpace *pConsoleNameSpace);
private: enum { NUMBER_OF_CHILDREN = 9, MAX_CHILDREN = 20 }; CRocket *children[MAX_CHILDREN]; CComponentData *m_pComponentData; int m_cChildSpaceStations;
public: int GetCountChildSpaceStations() { return m_cChildSpaceStations; } void DecrementCountChildSpaceStations() { m_cChildSpaceStations--; } };
class CSpaceFolder : public CDelegationBase { public: CSpaceFolder(); virtual ~CSpaceFolder(); virtual const _TCHAR *GetDisplayName(int nCol = 0) { return _T("Space Vehicles"); } virtual const GUID & getNodeType() { return thisGuid; } virtual const int GetBitmapIndex() { return INDEX_SPACEICON; } public: // virtual functions go here (for MMCN_*)
virtual HRESULT OnExpand(IConsoleNameSpace *pConsoleNameSpace, IConsole *pConsole, HSCOPEITEM parent); private: enum { IDM_NEW_SPACE = 4 }; // {29743810-4C4B-11d2-89D8-000021473128}
static const GUID thisGuid; private: enum { NUMBER_OF_CHILDREN = 4 }; CSpaceStation *children[NUMBER_OF_CHILDREN]; };
#endif // _SPACE_H
|