4 * Copyright 1998 Patrik Stridvall
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #define WIN32_NO_STATUS
23 #define COM_NO_WINDOWS_H
29 //#include "winerror.h"
34 //#include "oledlg_private.h"
36 #include <wine/debug.h>
38 WINE_DEFAULT_DEBUG_CHANNEL(ole
);
40 HINSTANCE OLEDLG_hInstance
= 0;
43 UINT cf_embedded_object
;
45 UINT cf_object_descriptor
;
46 UINT cf_link_src_descriptor
;
52 UINT oleui_msg_enddialog
;
54 static void register_clipboard_formats(void)
56 /* These used to be declared in olestd.h, but that seems to have been removed from the api */
57 static const WCHAR CF_EMBEDSOURCEW
[] = { 'E','m','b','e','d',' ','S','o','u','r','c','e',0 };
58 static const WCHAR CF_EMBEDDEDOBJECTW
[] = { 'E','m','b','e','d','d','e','d',' ','O','b','j','e','c','t',0 };
59 static const WCHAR CF_LINKSOURCEW
[] = { 'L','i','n','k',' ','S','o','u','r','c','e',0 };
60 static const WCHAR CF_OBJECTDESCRIPTORW
[] = { 'O','b','j','e','c','t',' ','D','e','s','c','r','i','p','t','o','r',0 };
61 static const WCHAR CF_LINKSRCDESCRIPTORW
[] = { 'L','i','n','k',' ','S','o','u','r','c','e',' ','D','e','s','c','r','i','p','t','o','r',0 };
62 static const WCHAR CF_OWNERLINKW
[] = { 'O','w','n','e','r','L','i','n','k',0 };
63 static const WCHAR CF_FILENAMEW
[] = { 'F','i','l','e','N','a','m','e',0 };
64 static const WCHAR CF_FILENAMEWW
[] = { 'F','i','l','e','N','a','m','e','W',0 };
66 /* Load in the same order as native to make debugging easier */
67 cf_object_descriptor
= RegisterClipboardFormatW(CF_OBJECTDESCRIPTORW
);
68 cf_link_src_descriptor
= RegisterClipboardFormatW(CF_LINKSRCDESCRIPTORW
);
69 cf_embed_source
= RegisterClipboardFormatW(CF_EMBEDSOURCEW
);
70 cf_embedded_object
= RegisterClipboardFormatW(CF_EMBEDDEDOBJECTW
);
71 cf_link_source
= RegisterClipboardFormatW(CF_LINKSOURCEW
);
72 cf_ownerlink
= RegisterClipboardFormatW(CF_OWNERLINKW
);
73 cf_filename
= RegisterClipboardFormatW(CF_FILENAMEW
);
74 cf_filenamew
= RegisterClipboardFormatW(CF_FILENAMEWW
);
77 static void register_messages(void)
79 oleui_msg_help
= RegisterWindowMessageW(SZOLEUI_MSG_HELPW
);
80 oleui_msg_enddialog
= RegisterWindowMessageW(SZOLEUI_MSG_ENDDIALOGW
);
83 /***********************************************************************
86 BOOL WINAPI
DllMain(HINSTANCE hinstDLL
, DWORD fdwReason
, LPVOID fImpLoad
)
88 TRACE("%p 0x%x %p\n", hinstDLL
, fdwReason
, fImpLoad
);
91 case DLL_PROCESS_ATTACH
:
92 DisableThreadLibraryCalls(hinstDLL
);
93 OLEDLG_hInstance
= hinstDLL
;
94 register_clipboard_formats();
98 case DLL_PROCESS_DETACH
:
106 /***********************************************************************
107 * OleUIAddVerbMenuA (OLEDLG.1)
109 BOOL WINAPI
OleUIAddVerbMenuA(
110 LPOLEOBJECT lpOleObj
, LPCSTR lpszShortType
,
111 HMENU hMenu
, UINT uPos
, UINT uIDVerbMin
, UINT uIDVerbMax
,
112 BOOL bAddConvert
, UINT idConvert
, HMENU
*lphMenu
)
114 FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
115 lpOleObj
, debugstr_a(lpszShortType
),
116 hMenu
, uPos
, uIDVerbMin
, uIDVerbMax
,
117 bAddConvert
, idConvert
, lphMenu
119 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
123 /***********************************************************************
124 * OleUIAddVerbMenuW (OLEDLG.14)
126 BOOL WINAPI
OleUIAddVerbMenuW(
127 LPOLEOBJECT lpOleObj
, LPCWSTR lpszShortType
,
128 HMENU hMenu
, UINT uPos
, UINT uIDVerbMin
, UINT uIDVerbMax
,
129 BOOL bAddConvert
, UINT idConvert
, HMENU
*lphMenu
)
131 FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
132 lpOleObj
, debugstr_w(lpszShortType
),
133 hMenu
, uPos
, uIDVerbMin
, uIDVerbMax
,
134 bAddConvert
, idConvert
, lphMenu
136 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
140 /***********************************************************************
141 * OleUICanConvertOrActivateAs (OLEDLG.2)
143 BOOL WINAPI
OleUICanConvertOrActivateAs(
144 REFCLSID rClsid
, BOOL fIsLinkedObject
, WORD wFormat
)
146 FIXME("(%p, %d, %hd): stub\n",
147 rClsid
, fIsLinkedObject
, wFormat
149 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
153 /***********************************************************************
154 * OleUIInsertObjectW (OLEDLG.20)
156 UINT WINAPI
OleUIInsertObjectW(LPOLEUIINSERTOBJECTW lpOleUIInsertObject
)
158 FIXME("(%p): stub\n", lpOleUIInsertObject
);
159 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
163 /***********************************************************************
164 * OleUIEditLinksA (OLEDLG.5)
166 UINT WINAPI
OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks
)
168 FIXME("(%p): stub\n", lpOleUIEditLinks
);
169 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
173 /***********************************************************************
174 * OleUIEditLinksW (OLEDLG.19)
176 UINT WINAPI
OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks
)
178 FIXME("(%p): stub\n", lpOleUIEditLinks
);
179 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
183 /***********************************************************************
184 * OleUIChangeIconA (OLEDLG.6)
186 UINT WINAPI
OleUIChangeIconA(
187 LPOLEUICHANGEICONA lpOleUIChangeIcon
)
189 FIXME("(%p): stub\n", lpOleUIChangeIcon
);
190 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
194 /***********************************************************************
195 * OleUIChangeIconW (OLEDLG.16)
197 UINT WINAPI
OleUIChangeIconW(
198 LPOLEUICHANGEICONW lpOleUIChangeIcon
)
200 FIXME("(%p): stub\n", lpOleUIChangeIcon
);
201 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
205 /***********************************************************************
206 * OleUIConvertA (OLEDLG.7)
208 UINT WINAPI
OleUIConvertA(LPOLEUICONVERTA lpOleUIConvert
)
210 FIXME("(%p): stub\n", lpOleUIConvert
);
211 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
215 /***********************************************************************
216 * OleUIConvertW (OLEDLG.18)
218 UINT WINAPI
OleUIConvertW(LPOLEUICONVERTW lpOleUIConvert
)
220 FIXME("(%p): stub\n", lpOleUIConvert
);
221 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
225 /***********************************************************************
226 * OleUIBusyA (OLEDLG.8)
228 UINT WINAPI
OleUIBusyA(LPOLEUIBUSYA lpOleUIBusy
)
230 FIXME("(%p): stub\n", lpOleUIBusy
);
231 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
235 /***********************************************************************
236 * OleUIBusyW (OLEDLG.15)
238 UINT WINAPI
OleUIBusyW(LPOLEUIBUSYW lpOleUIBusy
)
240 FIXME("(%p): stub\n", lpOleUIBusy
);
241 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
245 /***********************************************************************
246 * OleUIUpdateLinksA (OLEDLG.9)
248 BOOL WINAPI
OleUIUpdateLinksA(
249 LPOLEUILINKCONTAINERA lpOleUILinkCntr
,
250 HWND hwndParent
, LPSTR lpszTitle
, INT cLinks
)
252 FIXME("(%p, %p, %s, %d): stub\n",
253 lpOleUILinkCntr
, hwndParent
, debugstr_a(lpszTitle
), cLinks
255 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
259 /***********************************************************************
260 * OleUIUpdateLinksW (OLEDLG.23)
262 BOOL WINAPI
OleUIUpdateLinksW(
263 LPOLEUILINKCONTAINERW lpOleUILinkCntr
,
264 HWND hwndParent
, LPWSTR lpszTitle
, INT cLinks
)
266 FIXME("(%p, %p, %s, %d): stub\n",
267 lpOleUILinkCntr
, hwndParent
, debugstr_w(lpszTitle
), cLinks
269 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
273 /***********************************************************************
274 * OleUIPromptUserA (OLEDLG.10)
276 INT WINAPIV
OleUIPromptUserA(
277 INT nTemplate
, HWND hwndParent
, ...)
279 FIXME("(%d, %p, ...): stub\n", nTemplate
, hwndParent
);
280 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
284 /***********************************************************************
285 * OleUIPromptUserW (OLEDLG.13)
287 INT WINAPIV
OleUIPromptUserW(
288 INT nTemplate
, HWND hwndParent
, ...)
290 FIXME("(%d, %p, ...): stub\n", nTemplate
, hwndParent
);
291 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
295 /***********************************************************************
296 * OleUIObjectPropertiesA (OLEDLG.11)
298 UINT WINAPI
OleUIObjectPropertiesA(
299 LPOLEUIOBJECTPROPSA lpOleUIObjectProps
)
301 FIXME("(%p): stub\n", lpOleUIObjectProps
);
302 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
306 /***********************************************************************
307 * OleUIObjectPropertiesW (OLEDLG.21)
309 UINT WINAPI
OleUIObjectPropertiesW(
310 LPOLEUIOBJECTPROPSW lpOleUIObjectProps
)
312 FIXME("(%p): stub\n", lpOleUIObjectProps
);
313 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
317 /***********************************************************************
318 * OleUIChangeSourceA (OLEDLG.12)
320 UINT WINAPI
OleUIChangeSourceA(
321 LPOLEUICHANGESOURCEA lpOleUIChangeSource
)
323 FIXME("(%p): stub\n", lpOleUIChangeSource
);
324 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
328 /***********************************************************************
329 * OleUIChangeSourceW (OLEDLG.17)
331 UINT WINAPI
OleUIChangeSourceW(
332 LPOLEUICHANGESOURCEW lpOleUIChangeSource
)
334 FIXME("(%p): stub\n", lpOleUIChangeSource
);
335 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);