Preliminary editor test support

This commit is contained in:
locka%iol.ie 1999-08-19 21:02:22 +00:00
Родитель 431c52c35a
Коммит 91918207c1
10 изменённых файлов: 327 добавлений и 11 удалений

Просмотреть файл

@ -62,6 +62,7 @@ void CBrowseDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBrowseDlg)
DDX_Control(pDX, IDC_EDITMODE, m_btnEditMode);
DDX_Control(pDX, IDC_URL, m_cmbURLs);
DDX_Check(pDX, IDC_NEWWINDOW, m_bNewWindow);
//}}AFX_DATA_MAP
@ -77,6 +78,7 @@ BEGIN_MESSAGE_MAP(CBrowseDlg, CDialog)
ON_WM_CLOSE()
ON_WM_DESTROY()
ON_WM_SIZE()
ON_BN_CLICKED(IDC_EDITMODE, OnEditMode)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
@ -686,3 +688,21 @@ void CBrowseDlg::OnDestroy()
CDialog::OnDestroy();
delete this;
}
void CBrowseDlg::OnEditMode()
{
CComPtr<IUnknown> spUnkBrowser;
m_pControlSite->GetControlUnknown(&spUnkBrowser);
CIPtr(IOleCommandTarget) spCommandTarget = spUnkBrowser;
if (spCommandTarget)
{
DWORD nCmdID = (m_btnEditMode.GetCheck()) ? IDM_EDITMODE : IDM_BROWSEMODE;
spCommandTarget->Exec(&CGID_MSHTML, nCmdID, 0, NULL, NULL);
}
// if (m_pControlSite)
// {
// m_pControlSite->SetAmbientUserMode((m_btnEditMode.GetCheck() == 0) ? FALSE : TRUE);
// }
}

Просмотреть файл

@ -39,6 +39,7 @@ public:
// Dialog Data
//{{AFX_DATA(CBrowseDlg)
enum { IDD = IDD_CBROWSE_DIALOG };
CButton m_btnEditMode;
CComboBox m_cmbURLs;
BOOL m_bNewWindow;
//}}AFX_DATA
@ -77,6 +78,7 @@ protected:
afx_msg void OnClose();
afx_msg void OnDestroy();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnEditMode();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};

Просмотреть файл

@ -0,0 +1,100 @@
// CBrowserCtlSite.cpp : Implementation of CBrowserCtlSite
#include "stdafx.h"
#include "Cbrowse.h"
#include "CBrowserCtlSite.h"
/////////////////////////////////////////////////////////////////////////////
// CBrowserCtlSite
/////////////////////////////////////////////////////////////////////////////
// IDocHostUIHandler
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::ShowContextMenu(/* [in] */ DWORD dwID, /* [in] */ POINT __RPC_FAR *ppt, /* [in] */ IUnknown __RPC_FAR *pcmdtReserved, /* [in] */ IDispatch __RPC_FAR *pdispReserved)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::GetHostInfo(/* [out][in] */ DOCHOSTUIINFO __RPC_FAR *pInfo)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::ShowUI(/* [in] */ DWORD dwID, /* [in] */ IOleInPlaceActiveObject __RPC_FAR *pActiveObject, /* [in] */ IOleCommandTarget __RPC_FAR *pCommandTarget, /* [in] */ IOleInPlaceFrame __RPC_FAR *pFrame, /* [in] */ IOleInPlaceUIWindow __RPC_FAR *pDoc)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::HideUI(void)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::UpdateUI(void)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::EnableModeless(/* [in] */ BOOL fEnable)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::OnDocWindowActivate(/* [in] */ BOOL fActivate)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::OnFrameWindowActivate(/* [in] */ BOOL fActivate)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::ResizeBorder(/* [in] */ LPCRECT prcBorder, /* [in] */ IOleInPlaceUIWindow __RPC_FAR *pUIWindow, /* [in] */ BOOL fRameWindow)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::TranslateAccelerator(/* [in] */ LPMSG lpMsg, /* [in] */ const GUID __RPC_FAR *pguidCmdGroup, /* [in] */ DWORD nCmdID)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::GetOptionKeyPath(/* [out] */ LPOLESTR __RPC_FAR *pchKey, /* [in] */ DWORD dw)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::GetDropTarget(/* [in] */ IDropTarget __RPC_FAR *pDropTarget, /* [out] */ IDropTarget __RPC_FAR *__RPC_FAR *ppDropTarget)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::GetExternal(/* [out] */ IDispatch __RPC_FAR *__RPC_FAR *ppDispatch)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::TranslateUrl(/* [in] */ DWORD dwTranslate, /* [in] */ OLECHAR __RPC_FAR *pchURLIn, /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppchURLOut)
{
return E_NOTIMPL;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::FilterDataObject(/* [in] */ IDataObject __RPC_FAR *pDO, /* [out] */ IDataObject __RPC_FAR *__RPC_FAR *ppDORet)
{
return E_NOTIMPL;
}
///////////////////////////////////////////////////////////////////////////////
// IDocHostShowUI
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::ShowMessage(/* [in] */ HWND hwnd, /* [in] */ LPOLESTR lpstrText, /* [in] */ LPOLESTR lpstrCaption, /* [in] */ DWORD dwType, /* [in] */ LPOLESTR lpstrHelpFile, /* [in] */ DWORD dwHelpContext,/* [out] */ LRESULT __RPC_FAR *plResult)
{
return S_FALSE;
}
HRESULT STDMETHODCALLTYPE CBrowserCtlSite::ShowHelp(/* [in] */ HWND hwnd, /* [in] */ LPOLESTR pszHelpFile, /* [in] */ UINT uCommand, /* [in] */ DWORD dwData, /* [in] */ POINT ptMouse, /* [out] */ IDispatch __RPC_FAR *pDispatchObjectHit)
{
return S_FALSE;
}

Просмотреть файл

@ -0,0 +1,55 @@
// CBrowserCtlSite.h : Declaration of the CBrowserCtlSite
#ifndef __CBROWSERCTLSITE_H_
#define __CBROWSERCTLSITE_H_
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CBrowserCtlSite
class ATL_NO_VTABLE CBrowserCtlSite :
public CControlSite,
public IDocHostUIHandler,
public IDocHostShowUI
{
public:
CBrowserCtlSite()
{
}
DECLARE_REGISTRY_RESOURCEID(IDR_CBROWSERCTLSITE)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CBrowserCtlSite)
CCONTROLSITE_INTERFACES()
COM_INTERFACE_ENTRY(IDocHostUIHandler)
COM_INTERFACE_ENTRY(IDocHostShowUI)
END_COM_MAP()
public:
// IDocHostUIHandler
virtual HRESULT STDMETHODCALLTYPE ShowContextMenu(/* [in] */ DWORD dwID, /* [in] */ POINT __RPC_FAR *ppt, /* [in] */ IUnknown __RPC_FAR *pcmdtReserved, /* [in] */ IDispatch __RPC_FAR *pdispReserved);
virtual HRESULT STDMETHODCALLTYPE GetHostInfo(/* [out][in] */ DOCHOSTUIINFO __RPC_FAR *pInfo);
virtual HRESULT STDMETHODCALLTYPE ShowUI(/* [in] */ DWORD dwID, /* [in] */ IOleInPlaceActiveObject __RPC_FAR *pActiveObject, /* [in] */ IOleCommandTarget __RPC_FAR *pCommandTarget, /* [in] */ IOleInPlaceFrame __RPC_FAR *pFrame, /* [in] */ IOleInPlaceUIWindow __RPC_FAR *pDoc);
virtual HRESULT STDMETHODCALLTYPE HideUI(void);
virtual HRESULT STDMETHODCALLTYPE UpdateUI(void);
virtual HRESULT STDMETHODCALLTYPE EnableModeless(/* [in] */ BOOL fEnable);
virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(/* [in] */ BOOL fActivate);
virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(/* [in] */ BOOL fActivate);
virtual HRESULT STDMETHODCALLTYPE ResizeBorder(/* [in] */ LPCRECT prcBorder, /* [in] */ IOleInPlaceUIWindow __RPC_FAR *pUIWindow, /* [in] */ BOOL fRameWindow);
virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(/* [in] */ LPMSG lpMsg, /* [in] */ const GUID __RPC_FAR *pguidCmdGroup, /* [in] */ DWORD nCmdID);
virtual HRESULT STDMETHODCALLTYPE GetOptionKeyPath(/* [out] */ LPOLESTR __RPC_FAR *pchKey, /* [in] */ DWORD dw);
virtual HRESULT STDMETHODCALLTYPE GetDropTarget(/* [in] */ IDropTarget __RPC_FAR *pDropTarget, /* [out] */ IDropTarget __RPC_FAR *__RPC_FAR *ppDropTarget);
virtual HRESULT STDMETHODCALLTYPE GetExternal(/* [out] */ IDispatch __RPC_FAR *__RPC_FAR *ppDispatch);
virtual HRESULT STDMETHODCALLTYPE TranslateUrl(/* [in] */ DWORD dwTranslate, /* [in] */ OLECHAR __RPC_FAR *pchURLIn, /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *ppchURLOut);
virtual HRESULT STDMETHODCALLTYPE FilterDataObject(/* [in] */ IDataObject __RPC_FAR *pDO, /* [out] */ IDataObject __RPC_FAR *__RPC_FAR *ppDORet);
// IDocHostShowUI
virtual HRESULT STDMETHODCALLTYPE ShowMessage(/* [in] */ HWND hwnd, /* [in] */ LPOLESTR lpstrText, /* [in] */ LPOLESTR lpstrCaption, /* [in] */ DWORD dwType, /* [in] */ LPOLESTR lpstrHelpFile, /* [in] */ DWORD dwHelpContext,/* [out] */ LRESULT __RPC_FAR *plResult);
virtual HRESULT STDMETHODCALLTYPE ShowHelp(/* [in] */ HWND hwnd, /* [in] */ LPOLESTR pszHelpFile, /* [in] */ UINT uCommand, /* [in] */ DWORD dwData, /* [in] */ POINT ptMouse, /* [out] */ IDispatch __RPC_FAR *pDispatchObjectHit);
};
typedef CComObject<CBrowserCtlSite> CBrowserCtlSiteInstance;
#endif //__CBROWSERCTLSITE_H_

Просмотреть файл

@ -0,0 +1,33 @@
// EditToolBar.cpp : implementation file
//
#include "stdafx.h"
#include "cbrowse.h"
#include "EditToolBar.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CEditToolBar
CEditToolBar::CEditToolBar()
{
}
CEditToolBar::~CEditToolBar()
{
}
BEGIN_MESSAGE_MAP(CEditToolBar, CToolBarCtrl)
//{{AFX_MSG_MAP(CEditToolBar)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CEditToolBar message handlers

Просмотреть файл

@ -0,0 +1,48 @@
#if !defined(AFX_EDITTOOLBAR_H__39B3B0A1_5412_11D3_9441_000000000000__INCLUDED_)
#define AFX_EDITTOOLBAR_H__39B3B0A1_5412_11D3_9441_000000000000__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// EditToolBar.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CEditToolBar window
class CEditToolBar : public CToolBarCtrl
{
// Construction
public:
CEditToolBar();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CEditToolBar)
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CEditToolBar();
// Generated message map functions
protected:
//{{AFX_MSG(CEditToolBar)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_EDITTOOLBAR_H__39B3B0A1_5412_11D3_9441_000000000000__INCLUDED_)

Просмотреть файл

@ -19,6 +19,9 @@ static const CLSID CLSID_Mozilla =
static const CLSID CLSID_InternetExplorer =
{ 0x8856F961, 0x340A, 0x11D0, { 0xA9, 0x6B, 0x00, 0xC0, 0x4F, 0xD7, 0x05, 0xA2 } };
static const CLSID CLSID_MSHTML =
{ 0x2D360200, 0xFFF5, 0x11D1, { 0x8D, 0x03, 0x00, 0xA0, 0xC9, 0x59, 0xBC, 0x0A } };
struct BrowserControl
{
TCHAR *szName;

Просмотреть файл

@ -128,6 +128,14 @@ SOURCE=..\..\ControlSiteIPFrame.cpp
# End Source File
# Begin Source File
SOURCE=.\EditToolBar.cpp
# End Source File
# Begin Source File
SOURCE=..\..\MozActiveX.java
# End Source File
# Begin Source File
SOURCE=.\PickerDlg.cpp
# End Source File
# Begin Source File
@ -197,6 +205,10 @@ SOURCE=..\..\ControlSiteIPFrame.h
# End Source File
# Begin Source File
SOURCE=.\EditToolBar.h
# End Source File
# Begin Source File
SOURCE=.\PickerDlg.h
# End Source File
# Begin Source File
@ -263,6 +275,10 @@ SOURCE=.\res\testfailed.ico
SOURCE=.\res\testpassed.ico
# End Source File
# Begin Source File
SOURCE=.\res\toolbar1.bmp
# End Source File
# End Group
# Begin Group "Scripts"

Просмотреть файл

@ -103,16 +103,18 @@ CAPTION "CBrowse"
FONT 8, "MS Sans Serif"
BEGIN
CONTROL "",IDC_TAB_MARKER,"Static",SS_BLACKFRAME,7,223,279,89
RTEXT "&URL:",IDC_STATIC,6,8,18,8
DEFPUSHBUTTON "&Go",IDC_GO,134,7,25,13
CONTROL "",IDC_BROWSER_MARKER,"Static",SS_BLACKFRAME,7,25,279,
191
COMBOBOX IDC_URL,26,7,106,52,CBS_DROPDOWN | CBS_AUTOHSCROLL |
RTEXT "&URL:",IDC_STATIC,6,13,18,8
DEFPUSHBUTTON "&Go",IDC_GO,134,11,25,13
CONTROL "",IDC_BROWSER_MARKER,"Static",SS_BLACKFRAME,7,29,279,
187
COMBOBOX IDC_URL,26,11,106,52,CBS_DROPDOWN | CBS_AUTOHSCROLL |
WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "<",IDC_BACKWARD,162,7,14,13
PUSHBUTTON ">",IDC_FORWARD,178,7,14,13
PUSHBUTTON "<",IDC_BACKWARD,162,11,14,13
PUSHBUTTON ">",IDC_FORWARD,178,11,14,13
CONTROL "&New window",IDC_NEWWINDOW,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,200,9,57,10
WS_TABSTOP,199,7,53,10
CONTROL "&Edit mode",IDC_EDITMODE,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,199,17,47,10
END
@ -324,6 +326,33 @@ END
IDR_CBROWSERCTLSITE REGISTRY DISCARDABLE "CBrowserCtlSite.rgs"
/////////////////////////////////////////////////////////////////////////////
//
// Toolbar
//
IDR_DHTMLEDIT TOOLBAR DISCARDABLE 16, 15
BEGIN
BUTTON IDB_BOLD
BUTTON IDB_ITALIC
BUTTON IDB_UNDERLINE
SEPARATOR
BUTTON IDB_H1
BUTTON IDB_H2
BUTTON IDB_PARAGRAPH
SEPARATOR
BUTTON ID_ORDEREDLIST
BUTTON IDB_UNORDEREDLIST
END
/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//
IDR_DHTMLEDIT BITMAP DISCARDABLE "res\\toolbar1.bmp"
/////////////////////////////////////////////////////////////////////////////
//
// String Table

Просмотреть файл

@ -18,6 +18,7 @@
#define IDD_TAB_MESSAGES 135
#define IDD_TAB_TESTS 136
#define IDD_TAB_DOM 137
#define IDR_DHTMLEDIT 138
#define IDC_URL 1000
#define IDC_GO 1001
#define IDC_BROWSER_MARKER 1002
@ -39,14 +40,23 @@
#define IDC_PROGRESS 1020
#define IDC_CHECK1 1021
#define IDC_EDIT1 1022
#define IDC_EDITMODE 1023
#define IDB_BOLD 32771
#define IDB_ITALIC 32772
#define IDB_UNDERLINE 32773
#define IDB_H1 32774
#define IDB_H2 32775
#define IDB_PARAGRAPH 32776
#define ID_ORDEREDLIST 32777
#define IDB_UNORDEREDLIST 32778
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 138
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1023
#define _APS_NEXT_RESOURCE_VALUE 140
#define _APS_NEXT_COMMAND_VALUE 32779
#define _APS_NEXT_CONTROL_VALUE 1024
#define _APS_NEXT_SYMED_VALUE 107
#endif
#endif