Added an IDL file for Richedit's OLE interface.

This commit is contained in:
Mike McCormack 2004-10-18 22:28:21 +00:00 committed by Alexandre Julliard
parent 20952a5d23
commit 3be4f5d2f6
5 changed files with 114 additions and 64 deletions

View file

@ -19,6 +19,7 @@ ocidl.h
oleidl.h
propidl.h
pstore.h
richole.h
servprov.h
shldisp.h
shobjidl.h

View file

@ -24,6 +24,7 @@ IDL_SRCS = \
oleidl.idl \
propidl.idl \
pstore.idl \
richole.idl \
servprov.idl \
shldisp.idl \
shobjidl.idl \
@ -184,7 +185,6 @@ WINDOWS_INCLUDES = \
reason.h \
regstr.h \
richedit.h \
richole.h \
rpc.h \
rpcdce.h \
rpcdcep.h \

View file

@ -354,12 +354,17 @@ DECL_WINELIB_TYPE_AW(CHARFORMAT2)
#define ENM_IMECHANGE 0x00800000
#define ENM_LINK 0x04000000
#ifndef __RICHEDIT_CHARRANGE_DEFINED
#define __RICHEDIT_CHARRANGE_DEFINED
typedef struct _charrange
{
LONG cpMin;
LONG cpMax;
} CHARRANGE;
#endif /* __RICHEDIT_CHARRANGE_DEFINED */
typedef struct _textrange
{
CHARRANGE chrg;

View file

@ -1,63 +0,0 @@
/*
* Copyright (C) 2002 Andriy Palamarchuk
*
* 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
*/
#ifndef __WINE_RICHOLE_H
#define __WINE_RICHOLE_H
#ifdef __cplusplus
extern "C" {
#endif
/* REOBJECT structure flags */
#define REO_GETOBJ_NO_INTERFACES 0x00000000
#define REO_GETOBJ_POLEOBJ 0x00000001
#define REO_GETOBJ_PSTG 0x00000002
#define REO_GETOBJ_POLESITE 0x00000004
#define REO_GETOBJ_ALL_INTERFACES 0x00000007
#define REO_CP_SELECTION 0xFFFFFFFF
#define REO_IOB_SELECTION 0xFFFFFFFF
#define REO_IOB_USE_CP 0xFFFFFFFE
#define REO_NULL 0x00000000
#define REO_READWRITEMASK 0x0000003F
#define REO_DONTNEEDPALETTE 0x00000020
#define REO_BLANK 0x00000010
#define REO_DYNAMICSIZE 0x00000008
#define REO_INVERTEDSELECT 0x00000004
#define REO_BELOWBASELINE 0x00000002
#define REO_RESIZABLE 0x00000001
#define REO_LINK 0x80000000
#define REO_STATIC 0x40000000
#define REO_SELECTED 0x08000000
#define REO_OPEN 0x04000000
#define REO_INPLACEACTIVE 0x02000000
#define REO_HILITED 0x01000000
#define REO_LINKAVAILABLE 0x00800000
#define REO_GETMETAFILE 0x00400000
/* clipboard operation flags */
#define RECO_PASTE 0x00000000
#define RECO_DROP 0x00000001
#define RECO_COPY 0x00000002
#define RECO_CUT 0x00000003
#define RECO_DRAG 0x00000004
#ifdef __cplusplus
}
#endif
#endif /* __WINE_RICHOLE_H */

107
include/richole.idl Normal file
View file

@ -0,0 +1,107 @@
/*
* Copyright (C) 2002 Andriy Palamarchuk
* Copyright (C) 2004 Mike McCormack
*
* 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
*/
cpp_quote("#if 0"); /* not included on Windows */
import "oleidl.idl";
cpp_quote("#endif");
/* REOBJECT structure flags */
cpp_quote("#define REO_GETOBJ_NO_INTERFACES 0x00000000");
cpp_quote("#define REO_GETOBJ_POLEOBJ 0x00000001");
cpp_quote("#define REO_GETOBJ_PSTG 0x00000002");
cpp_quote("#define REO_GETOBJ_POLESITE 0x00000004");
cpp_quote("#define REO_GETOBJ_ALL_INTERFACES 0x00000007");
cpp_quote("#define REO_CP_SELECTION 0xFFFFFFFF");
cpp_quote("#define REO_IOB_SELECTION 0xFFFFFFFF");
cpp_quote("#define REO_IOB_USE_CP 0xFFFFFFFE");
cpp_quote("#define REO_NULL 0x00000000");
cpp_quote("#define REO_READWRITEMASK 0x0000003F");
cpp_quote("#define REO_DONTNEEDPALETTE 0x00000020");
cpp_quote("#define REO_BLANK 0x00000010");
cpp_quote("#define REO_DYNAMICSIZE 0x00000008");
cpp_quote("#define REO_INVERTEDSELECT 0x00000004");
cpp_quote("#define REO_BELOWBASELINE 0x00000002");
cpp_quote("#define REO_RESIZABLE 0x00000001");
cpp_quote("#define REO_LINK 0x80000000");
cpp_quote("#define REO_STATIC 0x40000000");
cpp_quote("#define REO_SELECTED 0x08000000");
cpp_quote("#define REO_OPEN 0x04000000");
cpp_quote("#define REO_INPLACEACTIVE 0x02000000");
cpp_quote("#define REO_HILITED 0x01000000");
cpp_quote("#define REO_LINKAVAILABLE 0x00800000");
cpp_quote("#define REO_GETMETAFILE 0x00400000");
/* clipboard operation flags */
cpp_quote("#define RECO_PASTE 0x00000000");
cpp_quote("#define RECO_DROP 0x00000001");
cpp_quote("#define RECO_COPY 0x00000002");
cpp_quote("#define RECO_CUT 0x00000003");
cpp_quote("#define RECO_DRAG 0x00000004");
typedef struct _reobject {
DWORD cbStruct;
LONG cp;
CLSID clsid;
LPOLEOBJECT poleobj;
LPSTORAGE pstg;
LPOLECLIENTSITE polesite;
SIZEL sizel;
DWORD dvaspect;
DWORD dwFlags;
DWORD dwUser;
} REOBJECT;
cpp_quote("#ifndef __RICHEDIT_CHARRANGE_DEFINED");
cpp_quote("#define __RICHEDIT_CHARRANGE_DEFINED");
typedef struct _charrange
{
LONG cpMin;
LONG cpMax;
} CHARRANGE;
cpp_quote("#endif /* __RICHEDIT_CHARRANGE_DEFINED */");
/*****************************************************************************
* IRichEditOle
*/
[
object,
uuid(00020d00-0000-0000-c000-000000000046),
pointer_default(unique)
]
interface IRichEditOle : IUnknown
{
HRESULT GetClientSite(LPOLECLIENTSITE *lplpolesite);
HRESULT GetObjectCount();
HRESULT GetLinkCount();
HRESULT GetObject(LONG iob, REOBJECT *lpreobject, DWORD dwFlags);
HRESULT InsertObject(REOBJECT *lpreobject);
HRESULT ConvertObject(LONG iob, REFCLSID rclsidNew, LPCSTR lpstrUserTypeNew);
HRESULT ActivateAs(REFCLSID rclsid, REFCLSID rclsidAs);
HRESULT SetHostNames(LPCSTR lpstrContainerApp, LPCSTR lpstrContainerObj);
HRESULT SetLinkAvailable(LONG iob, BOOL fAvailable);
HRESULT SetDvaspect(LONG iob, DWORD dvaspect);
HRESULT HandsOffStorage(LONG iob);
HRESULT SaveCompleted(LONG iob, LPSTORAGE lpstg);
HRESULT InPlaceDeactivate();
HRESULT ContextSensitiveHelp(BOOL fEnterMode);
HRESULT GetClipboardData(CHARRANGE* lpchrg, DWORD reco, LPDATAOBJECT *lplpdataobj);
HRESULT ImportDataObject(LPDATAOBJECT lpdataobj, CLIPFORMAT cf, HGLOBAL hMetaPict);
}