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
ff28e420
Commit
ff28e420
authored
Dec 01, 2005
by
Jacek Caban
Committed by
Alexandre Julliard
Dec 01, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added IOleInPlaceActiveObject stub implementation.
parent
bdfa506e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
100 additions
and
5 deletions
+100
-5
oleobject.c
dlls/shdocvw/oleobject.c
+95
-5
shdocvw.h
dlls/shdocvw/shdocvw.h
+2
-0
webbrowser.c
dlls/shdocvw/webbrowser.c
+3
-0
No files found.
dlls/shdocvw/oleobject.c
View file @
ff28e420
...
...
@@ -116,7 +116,7 @@ static HRESULT WINAPI OleObject_SetClientSite(IOleObject *iface, LPOLECLIENTSITE
This
->
client
=
pClientSite
;
if
(
!
pClientSite
)
return
S_OK
;
IOleClientSite_AddRef
(
pClientSite
);
create_shell_embedding_hwnd
(
This
);
...
...
@@ -237,7 +237,6 @@ static HRESULT WINAPI OleObject_DoVerb(IOleObject *iface, LONG iVerb, struct tag
This
->
pos_rect
.
bottom
-
This
->
pos_rect
.
top
,
SWP_NOZORDER
|
SWP_SHOWWINDOW
);
if
(
This
->
client
)
{
IOleClientSite_ShowObject
(
This
->
client
);
IOleClientSite_GetContainer
(
This
->
client
,
&
This
->
container
);
...
...
@@ -556,11 +555,102 @@ static const IOleControlVtbl OleControlVtbl =
OleControl_FreezeEvents
};
#define ACTIVEOBJ_THIS(iface) DEFINE_THIS(WebBrowser, OleInPlaceActiveObject, iface)
static
HRESULT
WINAPI
InPlaceActiveObject_QueryInterface
(
IOleInPlaceActiveObject
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
WebBrowser
*
This
=
ACTIVEOBJ_THIS
(
iface
);
return
IWebBrowser2_QueryInterface
(
WEBBROWSER2
(
This
),
riid
,
ppv
);
}
static
ULONG
WINAPI
InPlaceActiveObject_AddRef
(
IOleInPlaceActiveObject
*
iface
)
{
WebBrowser
*
This
=
ACTIVEOBJ_THIS
(
iface
);
return
IWebBrowser2_AddRef
(
WEBBROWSER2
(
This
));
}
static
ULONG
WINAPI
InPlaceActiveObject_Release
(
IOleInPlaceActiveObject
*
iface
)
{
WebBrowser
*
This
=
ACTIVEOBJ_THIS
(
iface
);
return
IWebBrowser2_Release
(
WEBBROWSER2
(
This
));
}
static
HRESULT
WINAPI
InPlaceActiveObject_GetWindow
(
IOleInPlaceActiveObject
*
iface
,
HWND
*
phwnd
)
{
WebBrowser
*
This
=
ACTIVEOBJ_THIS
(
iface
);
return
IOleInPlaceObject_GetWindow
(
INPLACEOBJ
(
This
),
phwnd
);
}
static
HRESULT
WINAPI
InPlaceActiveObject_ContextSensitiveHelp
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fEnterMode
)
{
WebBrowser
*
This
=
ACTIVEOBJ_THIS
(
iface
);
return
IOleInPlaceObject_ContextSensitiveHelp
(
INPLACEOBJ
(
This
),
fEnterMode
);
}
static
HRESULT
WINAPI
InPlaceActiveObject_TranslateAccelerator
(
IOleInPlaceActiveObject
*
iface
,
LPMSG
lpmsg
)
{
WebBrowser
*
This
=
ACTIVEOBJ_THIS
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
lpmsg
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
InPlaceActiveObject_OnFrameWindowActivate
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fActivate
)
{
WebBrowser
*
This
=
ACTIVEOBJ_THIS
(
iface
);
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fActivate
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
InPlaceActiveObject_OnDocWindowActivate
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fActivate
)
{
WebBrowser
*
This
=
ACTIVEOBJ_THIS
(
iface
);
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fActivate
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
InPlaceActiveObject_ResizeBorder
(
IOleInPlaceActiveObject
*
iface
,
LPCRECT
lprcBorder
,
IOleInPlaceUIWindow
*
pUIWindow
,
BOOL
fFrameWindow
)
{
WebBrowser
*
This
=
ACTIVEOBJ_THIS
(
iface
);
FIXME
(
"(%p)->(%p %p %x)
\n
"
,
This
,
lprcBorder
,
pUIWindow
,
fFrameWindow
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
InPlaceActiveObject_EnableModeless
(
IOleInPlaceActiveObject
*
iface
,
BOOL
fEnable
)
{
WebBrowser
*
This
=
ACTIVEOBJ_THIS
(
iface
);
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fEnable
);
return
E_NOTIMPL
;
}
#undef ACTIVEOBJ_THIS
static
const
IOleInPlaceActiveObjectVtbl
OleInPlaceActiveObjectVtbl
=
{
InPlaceActiveObject_QueryInterface
,
InPlaceActiveObject_AddRef
,
InPlaceActiveObject_Release
,
InPlaceActiveObject_GetWindow
,
InPlaceActiveObject_ContextSensitiveHelp
,
InPlaceActiveObject_TranslateAccelerator
,
InPlaceActiveObject_OnFrameWindowActivate
,
InPlaceActiveObject_OnDocWindowActivate
,
InPlaceActiveObject_ResizeBorder
,
InPlaceActiveObject_EnableModeless
};
void
WebBrowser_OleObject_Init
(
WebBrowser
*
This
)
{
This
->
lpOleObjectVtbl
=
&
OleObjectVtbl
;
This
->
lpOleInPlaceObjectVtbl
=
&
OleInPlaceObjectVtbl
;
This
->
lpOleControlVtbl
=
&
OleControlVtbl
;
This
->
lpOleObjectVtbl
=
&
OleObjectVtbl
;
This
->
lpOleInPlaceObjectVtbl
=
&
OleInPlaceObjectVtbl
;
This
->
lpOleControlVtbl
=
&
OleControlVtbl
;
This
->
lpOleInPlaceActiveObjectVtbl
=
&
OleInPlaceActiveObjectVtbl
;
This
->
client
=
NULL
;
This
->
container
=
NULL
;
...
...
dlls/shdocvw/shdocvw.h
View file @
ff28e420
...
...
@@ -71,6 +71,7 @@ typedef struct {
const
IQuickActivateVtbl
*
lpQuickActivateVtbl
;
const
IConnectionPointContainerVtbl
*
lpConnectionPointContainerVtbl
;
const
IViewObject2Vtbl
*
lpViewObjectVtbl
;
const
IOleInPlaceActiveObjectVtbl
*
lpOleInPlaceActiveObjectVtbl
;
/* Interfaces available for embeded document */
...
...
@@ -125,6 +126,7 @@ typedef struct {
#define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl)
#define VIEWOBJ(x) ((IViewObject*) &(x)->lpViewObjectVtbl);
#define VIEWOBJ2(x) ((IViewObject2*) &(x)->lpViewObjectVtbl);
#define ACTIVEOBJ(x) ((IOleInPlaceActiveObject*) &(x)->lpOleInPlaceActiveObjectVtbl)
#define CLIENTSITE(x) ((IOleClientSite*) &(x)->lpOleClientSiteVtbl)
#define INPLACESITE(x) ((IOleInPlaceSite*) &(x)->lpOleInPlaceSiteVtbl)
...
...
dlls/shdocvw/webbrowser.c
View file @
ff28e420
...
...
@@ -94,6 +94,9 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
}
else
if
(
IsEqualGUID
(
&
IID_IViewObject2
,
riid
))
{
TRACE
(
"(%p)->(IID_IViewObject2 %p)
\n
"
,
This
,
ppv
);
*
ppv
=
VIEWOBJ2
(
This
);
}
else
if
(
IsEqualGUID
(
&
IID_IOleInPlaceActiveObject
,
riid
))
{
TRACE
(
"(%p)->(IID_IOleInPlaceActiveObject %p)
\n
"
,
This
,
ppv
);
*
ppv
=
ACTIVEOBJ
(
This
);
}
if
(
*
ppv
)
{
...
...
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