// NewNode.h : structures for console created nodes // //+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 1999 // // File: NewNode.h // // Contents: Definitions for internal data types that can be created by the // user. // // History: 12-Aug-96 WayneSc Created // //-------------------------------------------------------------------------- #ifndef __NEWNODE_H__ #define __NEWNODE_H__ #include "dlgs.h" #include "ccomboex.h" #define NODE_NOCHANGE 0 #define NODE_NAME_CHANGE 1 #define NODE_TARGET_CHANGE 2 class CSnapinComponentDataImpl; template class CBasePropertyPage : public T { typedef CBasePropertyPage ThisClass; typedef T BaseClass; public: CBasePropertyPage() : m_pHelpIDs(NULL) {} void Initialize(IComponentData *pComponentData) { // do not use a smart pointer - causes a circular reference // the lifetime is managed because the CBasePropertyObject is owned by the IComponentData m_pComponentData = pComponentData; } public: BEGIN_MSG_MAP(ThisClass) CHAIN_MSG_MAP(BaseClass) END_MSG_MAP() void OnPropertySheetExit(HWND hWndOwner, int nFlag); protected: void SetHelpIDs(const DWORD* pHelpIDs) { m_pHelpIDs = pHelpIDs; } const DWORD* GetHelpIDs(void) const { return m_pHelpIDs; } private: const DWORD* m_pHelpIDs; protected: CSnapinComponentDataImpl *GetComponentDataImpl() { CSnapinComponentDataImpl *pRet = dynamic_cast(m_pComponentData); ASSERT(pRet); return pRet; } IComponentData* m_pComponentData; }; ///////////////////////////////////////////////////////////////////////////// // CHTMLPage1 dialog class CHTMLPage1 : public CBasePropertyPage > { typedef CHTMLPage1 ThisClass; typedef CBasePropertyPage > BaseClass; // Construction public: CHTMLPage1(); ~CHTMLPage1(); // Dialog Data enum { IDD = IDD_HTML_WIZPAGE1 }; WTL::CEdit m_strTarget; // Overrides public: BOOL OnSetActive(); BOOL OnKillActive(); // Implementation protected: BEGIN_MSG_MAP(ThisClass) COMMAND_ID_HANDLER( IDC_BROWSEBT, OnBrowseBT ) COMMAND_HANDLER( IDC_TARGETTX, EN_UPDATE, OnUpdateTargetTX ) MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) CHAIN_MSG_MAP(BaseClass) END_MSG_MAP() // Generated message map functions LRESULT OnBrowseBT( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); LRESULT OnUpdateTargetTX( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); //Operators protected: void _ValidatePage(void); }; ///////////////////////////////////////////////////////////////////////////// // CHTMLPage2 dialog class CHTMLPage2 : public CBasePropertyPage > { typedef CHTMLPage2 ThisClass; typedef CBasePropertyPage > BaseClass; // Construction public: CHTMLPage2(); ~CHTMLPage2(); //Operators public: // Dialog Data enum { IDD = IDD_HTML_WIZPAGE2 }; WTL::CEdit m_strDisplay; BOOL OnSetActive(); BOOL OnKillActive(); BOOL OnWizardFinish(); // Implementation protected: BEGIN_MSG_MAP( CShortcutPage2 ); COMMAND_HANDLER( IDC_DISPLAYTX, EN_UPDATE, OnUpdateDisplayTX ) MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) CHAIN_MSG_MAP(BaseClass) END_MSG_MAP(); LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); LRESULT OnUpdateDisplayTX( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); void _ValidatePage(void); }; ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // CActiveXPage0 dialog class CActiveXPage0 : public CBasePropertyPage > { typedef CActiveXPage0 ThisClass; typedef CBasePropertyPage > BaseClass; // Construction public: CActiveXPage0(); ~CActiveXPage0(); // Dialog Data enum { IDD = IDD_ACTIVEX_WIZPAGE0 }; protected: // implementation BEGIN_MSG_MAP(ThisClass) MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) CHAIN_MSG_MAP(BaseClass) END_MSG_MAP() LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); // Overrides public: BOOL OnSetActive(); BOOL OnKillActive(); }; ///////////////////////////////////////////////////////////////////////////// // CActiveXPage1 dialog class CActiveXPage1 : public CBasePropertyPage > { typedef CActiveXPage1 ThisClass; typedef CBasePropertyPage > BaseClass; // Construction public: CActiveXPage1(); ~CActiveXPage1(); // Dialog Data enum { IDD = IDD_ACTIVEX_WIZPAGE1, IDS_Title = IDS_OCXWiz_ControlPageTitle, IDS_Subtitle = IDS_OCXWiz_ControlPageSubTitle, }; WTL::CButton m_InfoBT; int m_nConsoleView; BOOL OnSetActive(); BOOL OnKillActive(); // Implementation protected: BEGIN_MSG_MAP(ThisClass) COMMAND_HANDLER(IDC_CATEGORY_COMBOEX, CBN_SELENDOK, OnCategorySelect) NOTIFY_HANDLER( IDC_CONTROLXLS, NM_CLICK, OnComponentSelect ) MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) MESSAGE_HANDLER( WM_DESTROY, OnDestroy ) CHAIN_MSG_MAP(BaseClass) END_MSG_MAP() LRESULT OnComponentSelect( int idCtrl, LPNMHDR pnmh, BOOL& bHandled ); LRESULT OnCategorySelect( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); LRESULT OnDestroy( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled ); LRESULT BuildCategoryList(CArray & arpCategories); LRESULT BuildComponentList(CArray & arpComponents); void _ValidatePage(void); WTL::CListViewCtrl* m_pListCtrl; CComboBoxEx2* m_pComboBox; CComponentCategory* m_pComponentCategory; }; ///////////////////////////////////////////////////////////////////////////// // CActiveXPage2 dialog class CActiveXPage2 : public CBasePropertyPage > { typedef CActiveXPage2 ThisClass; typedef CBasePropertyPage > BaseClass; // Construction public: CActiveXPage2(); ~CActiveXPage2(); // Dialog Data enum { IDD = IDD_ACTIVEX_WIZPAGE2 }; WTL::CEdit m_strDisplay; BOOL OnSetActive(); BOOL OnKillActive(); BOOL OnWizardFinish(); // Implementation protected: BEGIN_MSG_MAP(ThisClass) COMMAND_HANDLER( IDC_DISPLAYTX, EN_UPDATE, OnUpdateTargetTX ) MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) CHAIN_MSG_MAP(BaseClass) END_MSG_MAP() // Generated message map functions LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnUpdateTargetTX( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled ); void _ValidatePage(void); }; #endif // __NEWNODE_H__