Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
d01a3920
Commit
d01a3920
authored
Jun 28, 2005
by
Jacek Caban
Committed by
Alexandre Julliard
Jun 28, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added stub implementation of IOleInPlaceObjectWindowless.
parent
efe7c282
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
276 additions
and
114 deletions
+276
-114
Makefile.in
dlls/mshtml/Makefile.in
+1
-0
htmldoc.c
dlls/mshtml/htmldoc.c
+10
-0
mshtml_private.h
dlls/mshtml/mshtml_private.h
+27
-20
oleobj.c
dlls/mshtml/oleobj.c
+0
-94
olewnd.c
dlls/mshtml/olewnd.c
+238
-0
No files found.
dlls/mshtml/Makefile.in
View file @
d01a3920
...
...
@@ -12,6 +12,7 @@ C_SRCS = \
htmldoc.c
\
main.c
\
oleobj.c
\
olewnd.c
\
persist.c
\
protocol.c
\
view.c
...
...
dlls/mshtml/htmldoc.c
View file @
d01a3920
...
...
@@ -85,6 +85,15 @@ static HRESULT WINAPI HTMLDocument_QueryInterface(IHTMLDocument2 *iface, REFIID
}
else
if
(
IsEqualGUID
(
&
IID_IViewObject2
,
riid
))
{
TRACE
(
"(%p)->(IID_IViewObject2, %p)
\n
"
,
This
,
ppvObject
);
*
ppvObject
=
VIEWOBJ2
(
This
);
}
else
if
(
IsEqualGUID
(
&
IID_IOleWindow
,
riid
))
{
TRACE
(
"(%p)->(IID_IOleWindow, %p)
\n
"
,
This
,
ppvObject
);
*
ppvObject
=
OLEWIN
(
This
);
}
else
if
(
IsEqualGUID
(
&
IID_IOleInPlaceObject
,
riid
))
{
TRACE
(
"(%p)->(IID_IOleInPlaceObject, %p)
\n
"
,
This
,
ppvObject
);
*
ppvObject
=
INPLACEOBJ
(
This
);
}
else
if
(
IsEqualGUID
(
&
IID_IOleInPlaceObjectWindowless
,
riid
))
{
TRACE
(
"(%p)->(IID_IOleInPlaceObjectWindowless, %p)
\n
"
,
This
,
ppvObject
);
*
ppvObject
=
INPLACEWIN
(
This
);
}
if
(
*
ppvObject
)
{
...
...
@@ -959,6 +968,7 @@ HRESULT HTMLDocument_Create(IUnknown *pUnkOuter, REFIID riid, void** ppvObject)
HTMLDocument_Persist_Init
(
ret
);
HTMLDocument_OleObj_Init
(
ret
);
HTMLDocument_View_Init
(
ret
);
HTMLDocument_Window_Init
(
ret
);
return
hres
;
}
dlls/mshtml/mshtml_private.h
View file @
d01a3920
...
...
@@ -17,15 +17,16 @@
*/
typedef
struct
{
const
IHTMLDocument2Vtbl
*
lpHTMLDocument2Vtbl
;
const
IPersistMonikerVtbl
*
lpPersistMonikerVtbl
;
const
IPersistFileVtbl
*
lpPersistFileVtbl
;
const
IMonikerPropVtbl
*
lpMonikerPropVtbl
;
const
IOleObjectVtbl
*
lpOleObjectVtbl
;
const
IOleDocumentVtbl
*
lpOleDocumentVtbl
;
const
IOleDocumentViewVtbl
*
lpOleDocumentViewVtbl
;
const
IOleInPlaceActiveObjectVtbl
*
lpOleInPlaceActiveObjectVtbl
;
const
IViewObject2Vtbl
*
lpViewObject2Vtbl
;
const
IHTMLDocument2Vtbl
*
lpHTMLDocument2Vtbl
;
const
IPersistMonikerVtbl
*
lpPersistMonikerVtbl
;
const
IPersistFileVtbl
*
lpPersistFileVtbl
;
const
IMonikerPropVtbl
*
lpMonikerPropVtbl
;
const
IOleObjectVtbl
*
lpOleObjectVtbl
;
const
IOleDocumentVtbl
*
lpOleDocumentVtbl
;
const
IOleDocumentViewVtbl
*
lpOleDocumentViewVtbl
;
const
IOleInPlaceActiveObjectVtbl
*
lpOleInPlaceActiveObjectVtbl
;
const
IViewObject2Vtbl
*
lpViewObject2Vtbl
;
const
IOleInPlaceObjectWindowlessVtbl
*
lpOleInPlaceObjectWindowlessVtbl
;
ULONG
ref
;
...
...
@@ -36,23 +37,29 @@ typedef struct {
HWND
hwnd
;
}
HTMLDocument
;
#define HTMLDOC(x) ((IHTMLDocument2*) &(x)->lpHTMLDocument2Vtbl)
#define PERSIST(x) ((IPersist*) &(x)->lpPersistFileVtbl)
#define PERSISTMON(x) ((IPersistMoniker*) &(x)->lpPersistMonikerVtbl)
#define PERSISTFILE(x) ((IPersistFile*) &(x)->lpPersistFileVtbl)
#define MONPROP(x) ((IMonikerProp*) &(x)->lpMonikerPropVtbl)
#define OLEOBJ(x) ((IOleObject*) &(x)->lpOleObjectVtbl)
#define OLEDOC(x) ((IOleDocument*) &(x)->lpOleDocumentVtbl)
#define DOCVIEW(x) ((IOleDocumentView*) &(x)->lpOleDocumentViewVtbl)
#define ACTOBJ(x) ((IOleInPlaceActiveObject*) &(x)->lpOleInPlaceActiveObjectVtbl)
#define VIEWOBJ(x) ((IViewObject*) &(x)->lpViewObject2Vtbl)
#define VIEWOBJ2(x) ((IViewObject2*) &(x)->lpViewObject2Vtbl)
#define HTMLDOC(x) ((IHTMLDocument2*) &(x)->lpHTMLDocument2Vtbl)
#define PERSIST(x) ((IPersist*) &(x)->lpPersistFileVtbl)
#define PERSISTMON(x) ((IPersistMoniker*) &(x)->lpPersistMonikerVtbl)
#define PERSISTFILE(x) ((IPersistFile*) &(x)->lpPersistFileVtbl)
#define MONPROP(x) ((IMonikerProp*) &(x)->lpMonikerPropVtbl)
#define OLEOBJ(x) ((IOleObject*) &(x)->lpOleObjectVtbl)
#define OLEDOC(x) ((IOleDocument*) &(x)->lpOleDocumentVtbl)
#define DOCVIEW(x) ((IOleDocumentView*) &(x)->lpOleDocumentViewVtbl)
#define OLEWIN(x) ((IOleWindow*) &(x)->lpOleInPlaceActiveObjectVtbl)
#define ACTOBJ(x) ((IOleInPlaceActiveObject*) &(x)->lpOleInPlaceActiveObjectVtbl)
#define VIEWOBJ(x) ((IViewObject*) &(x)->lpViewObject2Vtbl)
#define VIEWOBJ2(x) ((IViewObject2*) &(x)->lpViewObject2Vtbl)
#define INPLACEOBJ(x) ((IOleInPlaceObject*) &(x)->lpOleInPlaceObjectWindowlessVtbl)
#define INPLACEWIN(x) ((IOleInPlaceObjectWindowless*) &(x)->lpOleInPlaceObjectWindowlessVtbl)
#define DEFINE_THIS(cls,ifc) cls* const This=(cls*)((char*)(iface)-offsetof(cls,lp ## ifc ## Vtbl));
HRESULT
HTMLDocument_Create
(
IUnknown
*
,
REFIID
,
void
**
);
void
HTMLDocument_Persist_Init
(
HTMLDocument
*
);
void
HTMLDocument_OleObj_Init
(
HTMLDocument
*
);
void
HTMLDocument_View_Init
(
HTMLDocument
*
);
void
HTMLDocument_Window_Init
(
HTMLDocument
*
);
HRESULT
ProtocolFactory_Create
(
REFCLSID
,
REFIID
,
void
**
);
...
...
dlls/mshtml/oleobj.c
View file @
d01a3920
...
...
@@ -374,104 +374,10 @@ static const IOleDocumentVtbl OleDocumentVtbl = {
OleDocument_EnumViews
};
/**********************************************************
* IOleInPlaceActiveObject implementation
*/
#define ACTOBJ_THIS \
HTMLDocument* const This=(HTMLDocument*)((char*)(iface)-offsetof(HTMLDocument,lpOleInPlaceActiveObjectVtbl));
static
HRESULT
WINAPI
OleInPlaceActiveObject_QueryInterface
(
IOleInPlaceActiveObject
*
iface
,
REFIID
riid
,
void
**
ppvObject
)
{
ACTOBJ_THIS
return
IHTMLDocument2_QueryInterface
(
HTMLDOC
(
This
),
riid
,
ppvObject
);
}
static
ULONG
WINAPI
OleInPlaceActiveObject_AddRef
(
IOleInPlaceActiveObject
*
iface
)
{
ACTOBJ_THIS
return
IHTMLDocument2_AddRef
(
HTMLDOC
(
This
));
}
static
ULONG
WINAPI
OleInPlaceActiveObject_Release
(
IOleInPlaceActiveObject
*
iface
)
{
ACTOBJ_THIS
return
IHTMLDocument2_Release
(
HTMLDOC
(
This
));
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_GetWindow
(
IOleInPlaceActiveObject
*
iface
,
HWND
*
phwnd
)
{
ACTOBJ_THIS
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
phwnd
);
if
(
!
phwnd
)
return
E_INVALIDARG
;
*
phwnd
=
This
->
hwnd
;
return
S_OK
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_ContextSensitiveHelp
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fEnterMode
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fEnterMode
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_TranslateAccelerator
(
IOleInPlaceActiveObject
*
iface
,
LPMSG
lpmsg
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
lpmsg
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_OnFrameWindowActivate
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fActivate
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fActivate
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_OnDocWindowActivate
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fActivate
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fActivate
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_ResizeBorder
(
IOleInPlaceActiveObject
*
iface
,
LPCRECT
prcBorder
,
IOleInPlaceUIWindow
*
pUIWindow
,
BOOL
fFrameWindow
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%p %p %x)
\n
"
,
This
,
prcBorder
,
pUIWindow
,
fFrameWindow
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_EnableModeless
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fEnable
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fEnable
);
return
E_NOTIMPL
;
}
static
const
IOleInPlaceActiveObjectVtbl
OleInPlaceActiveObjectVtbl
=
{
OleInPlaceActiveObject_QueryInterface
,
OleInPlaceActiveObject_AddRef
,
OleInPlaceActiveObject_Release
,
OleInPlaceActiveObject_GetWindow
,
OleInPlaceActiveObject_ContextSensitiveHelp
,
OleInPlaceActiveObject_TranslateAccelerator
,
OleInPlaceActiveObject_OnFrameWindowActivate
,
OleInPlaceActiveObject_OnDocWindowActivate
,
OleInPlaceActiveObject_ResizeBorder
,
OleInPlaceActiveObject_EnableModeless
};
void
HTMLDocument_OleObj_Init
(
HTMLDocument
*
This
)
{
This
->
lpOleObjectVtbl
=
&
OleObjectVtbl
;
This
->
lpOleDocumentVtbl
=
&
OleDocumentVtbl
;
This
->
lpOleInPlaceActiveObjectVtbl
=
&
OleInPlaceActiveObjectVtbl
;
This
->
client
=
NULL
;
}
dlls/mshtml/olewnd.c
0 → 100644
View file @
d01a3920
/*
* Copyright 2005 Jacek Caban
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "config.h"
#include <stdarg.h>
#include <stdio.h>
#define COBJMACROS
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "ole2.h"
#include "docobj.h"
#include "mshtml.h"
#include "wine/debug.h"
#include "mshtml_private.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
mshtml
);
/**********************************************************
* IOleInPlaceActiveObject implementation
*/
#define ACTOBJ_THIS DEFINE_THIS(HTMLDocument, OleInPlaceActiveObject)
static
HRESULT
WINAPI
OleInPlaceActiveObject_QueryInterface
(
IOleInPlaceActiveObject
*
iface
,
REFIID
riid
,
void
**
ppvObject
)
{
ACTOBJ_THIS
return
IHTMLDocument2_QueryInterface
(
HTMLDOC
(
This
),
riid
,
ppvObject
);
}
static
ULONG
WINAPI
OleInPlaceActiveObject_AddRef
(
IOleInPlaceActiveObject
*
iface
)
{
ACTOBJ_THIS
return
IHTMLDocument2_AddRef
(
HTMLDOC
(
This
));
}
static
ULONG
WINAPI
OleInPlaceActiveObject_Release
(
IOleInPlaceActiveObject
*
iface
)
{
ACTOBJ_THIS
return
IHTMLDocument2_Release
(
HTMLDOC
(
This
));
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_GetWindow
(
IOleInPlaceActiveObject
*
iface
,
HWND
*
phwnd
)
{
ACTOBJ_THIS
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
phwnd
);
if
(
!
phwnd
)
return
E_INVALIDARG
;
*
phwnd
=
This
->
hwnd
;
return
S_OK
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_ContextSensitiveHelp
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fEnterMode
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fEnterMode
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_TranslateAccelerator
(
IOleInPlaceActiveObject
*
iface
,
LPMSG
lpmsg
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
lpmsg
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_OnFrameWindowActivate
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fActivate
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fActivate
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_OnDocWindowActivate
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fActivate
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fActivate
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_ResizeBorder
(
IOleInPlaceActiveObject
*
iface
,
LPCRECT
prcBorder
,
IOleInPlaceUIWindow
*
pUIWindow
,
BOOL
fFrameWindow
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%p %p %x)
\n
"
,
This
,
prcBorder
,
pUIWindow
,
fFrameWindow
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceActiveObject_EnableModeless
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fEnable
)
{
ACTOBJ_THIS
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fEnable
);
return
E_NOTIMPL
;
}
static
const
IOleInPlaceActiveObjectVtbl
OleInPlaceActiveObjectVtbl
=
{
OleInPlaceActiveObject_QueryInterface
,
OleInPlaceActiveObject_AddRef
,
OleInPlaceActiveObject_Release
,
OleInPlaceActiveObject_GetWindow
,
OleInPlaceActiveObject_ContextSensitiveHelp
,
OleInPlaceActiveObject_TranslateAccelerator
,
OleInPlaceActiveObject_OnFrameWindowActivate
,
OleInPlaceActiveObject_OnDocWindowActivate
,
OleInPlaceActiveObject_ResizeBorder
,
OleInPlaceActiveObject_EnableModeless
};
#undef ACTOBJ_THIS
/**********************************************************
* IOleInPlaceObjectWindowless implementation
*/
#define OLEINPLACEWND_THIS DEFINE_THIS(HTMLDocument, OleInPlaceObjectWindowless)
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_QueryInterface
(
IOleInPlaceObjectWindowless
*
iface
,
REFIID
riid
,
void
**
ppvObject
)
{
OLEINPLACEWND_THIS
return
IHTMLDocument2_QueryInterface
(
HTMLDOC
(
This
),
riid
,
ppvObject
);
}
static
ULONG
WINAPI
OleInPlaceObjectWindowless_AddRef
(
IOleInPlaceObjectWindowless
*
iface
)
{
OLEINPLACEWND_THIS
return
IHTMLDocument2_AddRef
(
HTMLDOC
(
This
));
}
static
ULONG
WINAPI
OleInPlaceObjectWindowless_Release
(
IOleInPlaceObjectWindowless
*
iface
)
{
OLEINPLACEWND_THIS
return
IHTMLDocument2_Release
(
HTMLDOC
(
This
));
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_GetWindow
(
IOleInPlaceObjectWindowless
*
iface
,
HWND
*
phwnd
)
{
OLEINPLACEWND_THIS
return
IOleWindow_GetWindow
(
OLEWIN
(
This
),
phwnd
);
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_ContextSensitiveHelp
(
IOleInPlaceObjectWindowless
*
iface
,
BOOL
fEnterMode
)
{
OLEINPLACEWND_THIS
return
IOleWindow_ContextSensitiveHelp
(
OLEWIN
(
This
),
fEnterMode
);
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_InPlaceDeactivate
(
IOleInPlaceObjectWindowless
*
iface
)
{
OLEINPLACEWND_THIS
FIXME
(
"(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_UIDeactivate
(
IOleInPlaceObjectWindowless
*
iface
)
{
OLEINPLACEWND_THIS
FIXME
(
"(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_SetObjectRects
(
IOleInPlaceObjectWindowless
*
iface
,
LPCRECT
lprcPosRect
,
LPCRECT
lprcClipRect
)
{
OLEINPLACEWND_THIS
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
lprcPosRect
,
lprcClipRect
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_ReactivateAndUndo
(
IOleInPlaceObjectWindowless
*
iface
)
{
OLEINPLACEWND_THIS
FIXME
(
"(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_OnWindowMessage
(
IOleInPlaceObjectWindowless
*
iface
,
UINT
msg
,
WPARAM
wParam
,
LPARAM
lParam
,
LRESULT
*
lpResult
)
{
OLEINPLACEWND_THIS
FIXME
(
"(%p)->(%u %u %lu %p)
\n
"
,
This
,
msg
,
wParam
,
lParam
,
lpResult
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_GetDropTarget
(
IOleInPlaceObjectWindowless
*
iface
,
IDropTarget
**
ppDropTarget
)
{
OLEINPLACEWND_THIS
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
ppDropTarget
);
return
E_NOTIMPL
;
}
static
IOleInPlaceObjectWindowlessVtbl
OleInPlaceObjectWindowlessVtbl
=
{
OleInPlaceObjectWindowless_QueryInterface
,
OleInPlaceObjectWindowless_AddRef
,
OleInPlaceObjectWindowless_Release
,
OleInPlaceObjectWindowless_GetWindow
,
OleInPlaceObjectWindowless_ContextSensitiveHelp
,
OleInPlaceObjectWindowless_InPlaceDeactivate
,
OleInPlaceObjectWindowless_UIDeactivate
,
OleInPlaceObjectWindowless_SetObjectRects
,
OleInPlaceObjectWindowless_ReactivateAndUndo
,
OleInPlaceObjectWindowless_OnWindowMessage
,
OleInPlaceObjectWindowless_GetDropTarget
};
#undef INPLACEWIN_THIS
void
HTMLDocument_Window_Init
(
HTMLDocument
*
This
)
{
This
->
lpOleInPlaceActiveObjectVtbl
=
&
OleInPlaceActiveObjectVtbl
;
This
->
lpOleInPlaceObjectWindowlessVtbl
=
&
OleInPlaceObjectWindowlessVtbl
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment