137 lines
6.6 KiB
C
137 lines
6.6 KiB
C
|
//*********************************************************************
|
||
|
//* Microsoft Windows **
|
||
|
//* Copyright(c) Microsoft Corp., 1999 **
|
||
|
//*********************************************************************
|
||
|
//
|
||
|
// MAINPANE.H - Header for the implementation of CObShellMainPane
|
||
|
//
|
||
|
// HISTORY:
|
||
|
//
|
||
|
// 1/27/99 a-jaswed Created.
|
||
|
//
|
||
|
// Class which will create a window, attach and instance of ObWebBrowser,
|
||
|
// and then provide several specialized interfaces to alter the content of the doc
|
||
|
|
||
|
#ifndef _MAINPANE_H_
|
||
|
#define _MAINPANE_H_
|
||
|
|
||
|
#include <tchar.h>
|
||
|
#include <comdef.h> // for COM interface definitions
|
||
|
#include <exdisp.h>
|
||
|
#include <mshtml.h>
|
||
|
#include <exdispid.h>
|
||
|
|
||
|
#include "cunknown.h"
|
||
|
#include "obshel.h"
|
||
|
#include "obweb.h"
|
||
|
#include "statuspn.h"
|
||
|
|
||
|
class CObShellMainPane : public CUnknown,
|
||
|
public IObShellMainPane,
|
||
|
public DWebBrowserEvents2
|
||
|
{
|
||
|
// Declare the delegating IUnknown.
|
||
|
DECLARE_IUNKNOWN
|
||
|
|
||
|
public:
|
||
|
static HRESULT CreateInstance (IUnknown* pOuterUnknown,
|
||
|
CUnknown** ppNewComponent);
|
||
|
// IObShellMainPane Members
|
||
|
virtual HRESULT __stdcall CreateMainPane (HANDLE_PTR hInstance, HWND hwndParent, RECT* prectWindowSize, BSTR bstrStartPage);
|
||
|
virtual HRESULT __stdcall PreTranslateMessage (LPMSG lpMsg);
|
||
|
virtual HRESULT __stdcall Navigate (WCHAR* pszUrl);
|
||
|
virtual HRESULT __stdcall ListenToMainPaneEvents (IUnknown* pUnk);
|
||
|
virtual HRESULT __stdcall SetExternalInterface (IUnknown* pUnk);
|
||
|
virtual HRESULT __stdcall ExecScriptFn (BSTR bstrScriptFn, VARIANT* pvarRet);
|
||
|
virtual HRESULT __stdcall SetAppMode (DWORD dwAppMode);
|
||
|
|
||
|
virtual HRESULT __stdcall AddStatusItem (BSTR bstrText,int iIndex);
|
||
|
virtual HRESULT __stdcall RemoveStatusItem (int iIndex);
|
||
|
virtual HRESULT __stdcall SelectStatusItem (int iIndex);
|
||
|
virtual HRESULT __stdcall SetStatusLogo (BSTR bstrPath);
|
||
|
virtual HRESULT __stdcall GetNumberOfStatusItems (int* piTotal);
|
||
|
|
||
|
virtual HRESULT __stdcall Walk (BOOL* pbRet);
|
||
|
virtual HRESULT __stdcall ExtractUnHiddenText (BSTR* pbstrText);
|
||
|
virtual HRESULT __stdcall get_PageType (LPDWORD pdwPageType);
|
||
|
virtual HRESULT __stdcall get_IsQuickFinish (BOOL* pbIsQuickFinish);
|
||
|
virtual HRESULT __stdcall get_PageFlag (LPDWORD pdwPageFlag);
|
||
|
virtual HRESULT __stdcall get_PageID (BSTR* pbstrPageID);
|
||
|
virtual HRESULT __stdcall get_URL (BOOL bForward,
|
||
|
BSTR *pbstrReturnURL);
|
||
|
|
||
|
virtual HRESULT __stdcall OnDialingError (UINT uiType, UINT uiErrorCode);
|
||
|
virtual HRESULT __stdcall OnServerError (UINT uiType, UINT uiErrorCode);
|
||
|
virtual HRESULT __stdcall OnDialing (UINT uiType);
|
||
|
virtual HRESULT __stdcall OnConnecting (UINT uiType);
|
||
|
virtual HRESULT __stdcall OnDownloading (UINT uiType);
|
||
|
virtual HRESULT __stdcall OnConnected (UINT uiType);
|
||
|
virtual HRESULT __stdcall OnDisconnect (UINT uiType);
|
||
|
virtual HRESULT __stdcall OnDeviceArrival (UINT uiDeviceType);
|
||
|
virtual HRESULT __stdcall OnHelp ();
|
||
|
|
||
|
virtual HRESULT __stdcall OnIcsConnectionStatus (UINT uiType);
|
||
|
// Migration functons
|
||
|
virtual HRESULT __stdcall OnRefDownloadProgress (UINT uiType, UINT uiPercentDone);
|
||
|
virtual HRESULT __stdcall OnISPDownloadComplete (UINT uiType, BSTR bstrURL);
|
||
|
virtual HRESULT __stdcall OnRefDownloadComplete (UINT uiType, UINT uiErrorCode);
|
||
|
|
||
|
virtual HRESULT __stdcall MainPaneShowWindow ();
|
||
|
virtual HRESULT __stdcall DestroyMainPane ();
|
||
|
virtual HRESULT __stdcall SaveISPFile (BSTR bstrSrcFileName,
|
||
|
BSTR bstrDestFileName);
|
||
|
STDMETHOD (PlayBackgroundMusic)() { return m_pObWebBrowser ? m_pObWebBrowser->PlayBackgroundMusic() : S_OK; }
|
||
|
STDMETHOD (StopBackgroundMusic)() { return m_pObWebBrowser ? m_pObWebBrowser->StopBackgroundMusic() : S_OK; }
|
||
|
STDMETHOD (UnhookScriptErrorHandler)() { return m_pObWebBrowser->UnhookScriptErrorHandler(); }
|
||
|
// DWebBrowserEvents2
|
||
|
STDMETHOD (GetTypeInfoCount) (UINT* pcInfo);
|
||
|
STDMETHOD (GetTypeInfo) (UINT, LCID, ITypeInfo** );
|
||
|
STDMETHOD (GetIDsOfNames) (REFIID, OLECHAR**, UINT,
|
||
|
LCID, DISPID* );
|
||
|
STDMETHOD (Invoke) (DISPID dispidMember,
|
||
|
REFIID riid,
|
||
|
LCID lcid,
|
||
|
WORD wFlags,
|
||
|
DISPPARAMS* pdispparams,
|
||
|
VARIANT* pvarResult,
|
||
|
EXCEPINFO* pexcepinfo,
|
||
|
UINT* puArgErr);
|
||
|
IHTMLFormElement* get_pNextForm() { return m_pNextForm; }
|
||
|
IHTMLFormElement* get_pBackForm() { return m_pBackForm; }
|
||
|
|
||
|
private:
|
||
|
HWND m_hMainWnd;
|
||
|
HWND m_hwndParent;
|
||
|
IDispatch* m_pDispEvent;
|
||
|
IObWebBrowser* m_pObWebBrowser;
|
||
|
BSTR m_bstrBaseUrl;
|
||
|
int m_cStatusItems;
|
||
|
DWORD m_dwAppMode;
|
||
|
HINSTANCE m_hInstance;
|
||
|
CIFrmStatusPane* m_pIFrmStatPn;
|
||
|
IHTMLFormElement* m_pPageIDForm;
|
||
|
IHTMLFormElement* m_pBackForm;
|
||
|
IHTMLFormElement* m_pPageTypeForm;
|
||
|
IHTMLFormElement* m_pNextForm;
|
||
|
IHTMLFormElement* m_pPageFlagForm;
|
||
|
|
||
|
// IUnknown
|
||
|
virtual HRESULT __stdcall NondelegatingQueryInterface(const IID& iid, void** ppv);
|
||
|
|
||
|
void ProcessServerError (WCHAR* pszError);
|
||
|
HRESULT FireObShellDocumentComplete ();
|
||
|
CObShellMainPane (IUnknown* pOuterUnknown);
|
||
|
virtual ~CObShellMainPane ();
|
||
|
virtual void FinalRelease (); // Notify derived classes that we are releasing
|
||
|
HRESULT getQueryString (IHTMLFormElement *pForm,
|
||
|
LPWSTR lpszQuery);
|
||
|
|
||
|
};
|
||
|
|
||
|
LRESULT WINAPI MainPaneWndProc (HWND hwnd, UINT msg,
|
||
|
WPARAM wParam, LPARAM lParam);
|
||
|
|
||
|
#endif
|
||
|
|
||
|
|