diff --git a/include/.cvsignore b/include/.cvsignore index cf258c71ed7..886929fa72d 100644 --- a/include/.cvsignore +++ b/include/.cvsignore @@ -19,6 +19,7 @@ ocidl.h oleidl.h propidl.h pstore.h +richole.h servprov.h shldisp.h shobjidl.h diff --git a/include/Makefile.in b/include/Makefile.in index 83a3e732a2e..8fd4227d809 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -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 \ diff --git a/include/richedit.h b/include/richedit.h index 9cab33e315c..185027b5058 100644 --- a/include/richedit.h +++ b/include/richedit.h @@ -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; diff --git a/include/richole.h b/include/richole.h deleted file mode 100644 index a213ea04bb7..00000000000 --- a/include/richole.h +++ /dev/null @@ -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 */ diff --git a/include/richole.idl b/include/richole.idl new file mode 100644 index 00000000000..4d8d1a197df --- /dev/null +++ b/include/richole.idl @@ -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); +}