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
30 #include "oledlg_private.h"
32 #include "wine/debug.h"
34 WINE_DEFAULT_DEBUG_CHANNEL(ole
);
36 HINSTANCE OLEDLG_hInstance
= 0;
39 UINT cf_embedded_object
;
41 UINT cf_object_descriptor
;
42 UINT cf_link_src_descriptor
;
48 UINT oleui_msg_enddialog
;
50 static void register_clipboard_formats(void)
52 /* These used to be declared in olestd.h, but that seems to have been removed from the api */
53 static const WCHAR CF_EMBEDSOURCEW
[] = { 'E','m','b','e','d',' ','S','o','u','r','c','e',0 };
54 static const WCHAR CF_EMBEDDEDOBJECTW
[] = { 'E','m','b','e','d','d','e','d',' ','O','b','j','e','c','t',0 };
55 static const WCHAR CF_LINKSOURCEW
[] = { 'L','i','n','k',' ','S','o','u','r','c','e',0 };
56 static const WCHAR CF_OBJECTDESCRIPTORW
[] = { 'O','b','j','e','c','t',' ','D','e','s','c','r','i','p','t','o','r',0 };
57 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 };
58 static const WCHAR CF_OWNERLINKW
[] = { 'O','w','n','e','r','L','i','n','k',0 };
59 static const WCHAR CF_FILENAMEW
[] = { 'F','i','l','e','N','a','m','e',0 };
60 static const WCHAR CF_FILENAMEWW
[] = { 'F','i','l','e','N','a','m','e','W',0 };
62 /* Load in the same order as native to make debugging easier */
63 cf_object_descriptor
= RegisterClipboardFormatW(CF_OBJECTDESCRIPTORW
);
64 cf_link_src_descriptor
= RegisterClipboardFormatW(CF_LINKSRCDESCRIPTORW
);
65 cf_embed_source
= RegisterClipboardFormatW(CF_EMBEDSOURCEW
);
66 cf_embedded_object
= RegisterClipboardFormatW(CF_EMBEDDEDOBJECTW
);
67 cf_link_source
= RegisterClipboardFormatW(CF_LINKSOURCEW
);
68 cf_ownerlink
= RegisterClipboardFormatW(CF_OWNERLINKW
);
69 cf_filename
= RegisterClipboardFormatW(CF_FILENAMEW
);
70 cf_filenamew
= RegisterClipboardFormatW(CF_FILENAMEWW
);
73 static void register_messages(void)
75 oleui_msg_help
= RegisterWindowMessageW(SZOLEUI_MSG_HELPW
);
76 oleui_msg_enddialog
= RegisterWindowMessageW(SZOLEUI_MSG_ENDDIALOGW
);
79 /***********************************************************************
82 BOOL WINAPI
DllMain(HINSTANCE hinstDLL
, DWORD fdwReason
, LPVOID fImpLoad
)
84 TRACE("%p 0x%x %p\n", hinstDLL
, fdwReason
, fImpLoad
);
87 case DLL_PROCESS_ATTACH
:
88 DisableThreadLibraryCalls(hinstDLL
);
89 OLEDLG_hInstance
= hinstDLL
;
90 register_clipboard_formats();
94 case DLL_PROCESS_DETACH
:
102 /***********************************************************************
103 * OleUIAddVerbMenuA (OLEDLG.1)
105 BOOL WINAPI
OleUIAddVerbMenuA(
106 LPOLEOBJECT lpOleObj
, LPCSTR lpszShortType
,
107 HMENU hMenu
, UINT uPos
, UINT uIDVerbMin
, UINT uIDVerbMax
,
108 BOOL bAddConvert
, UINT idConvert
, HMENU
*lphMenu
)
110 FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
111 lpOleObj
, debugstr_a(lpszShortType
),
112 hMenu
, uPos
, uIDVerbMin
, uIDVerbMax
,
113 bAddConvert
, idConvert
, lphMenu
115 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
119 /***********************************************************************
120 * OleUIAddVerbMenuW (OLEDLG.14)
122 BOOL WINAPI
OleUIAddVerbMenuW(
123 LPOLEOBJECT lpOleObj
, LPCWSTR lpszShortType
,
124 HMENU hMenu
, UINT uPos
, UINT uIDVerbMin
, UINT uIDVerbMax
,
125 BOOL bAddConvert
, UINT idConvert
, HMENU
*lphMenu
)
127 FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
128 lpOleObj
, debugstr_w(lpszShortType
),
129 hMenu
, uPos
, uIDVerbMin
, uIDVerbMax
,
130 bAddConvert
, idConvert
, lphMenu
132 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
136 /***********************************************************************
137 * OleUICanConvertOrActivateAs (OLEDLG.2)
139 BOOL WINAPI
OleUICanConvertOrActivateAs(
140 REFCLSID rClsid
, BOOL fIsLinkedObject
, WORD wFormat
)
142 FIXME("(%p, %d, %hd): stub\n",
143 rClsid
, fIsLinkedObject
, wFormat
145 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
149 /***********************************************************************
150 * OleUIInsertObjectW (OLEDLG.20)
152 UINT WINAPI
OleUIInsertObjectW(LPOLEUIINSERTOBJECTW lpOleUIInsertObject
)
154 FIXME("(%p): stub\n", lpOleUIInsertObject
);
155 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
159 /***********************************************************************
160 * OleUIEditLinksA (OLEDLG.5)
162 UINT WINAPI
OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks
)
164 FIXME("(%p): stub\n", lpOleUIEditLinks
);
165 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
169 /***********************************************************************
170 * OleUIEditLinksW (OLEDLG.19)
172 UINT WINAPI
OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks
)
174 FIXME("(%p): stub\n", lpOleUIEditLinks
);
175 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
179 /***********************************************************************
180 * OleUIChangeIconA (OLEDLG.6)
182 UINT WINAPI
OleUIChangeIconA(
183 LPOLEUICHANGEICONA lpOleUIChangeIcon
)
185 FIXME("(%p): stub\n", lpOleUIChangeIcon
);
186 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
190 /***********************************************************************
191 * OleUIChangeIconW (OLEDLG.16)
193 UINT WINAPI
OleUIChangeIconW(
194 LPOLEUICHANGEICONW lpOleUIChangeIcon
)
196 FIXME("(%p): stub\n", lpOleUIChangeIcon
);
197 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
201 /***********************************************************************
202 * OleUIConvertA (OLEDLG.7)
204 UINT WINAPI
OleUIConvertA(LPOLEUICONVERTA lpOleUIConvert
)
206 FIXME("(%p): stub\n", lpOleUIConvert
);
207 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
211 /***********************************************************************
212 * OleUIConvertW (OLEDLG.18)
214 UINT WINAPI
OleUIConvertW(LPOLEUICONVERTW lpOleUIConvert
)
216 FIXME("(%p): stub\n", lpOleUIConvert
);
217 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
221 /***********************************************************************
222 * OleUIBusyA (OLEDLG.8)
224 UINT WINAPI
OleUIBusyA(LPOLEUIBUSYA lpOleUIBusy
)
226 FIXME("(%p): stub\n", lpOleUIBusy
);
227 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
231 /***********************************************************************
232 * OleUIBusyW (OLEDLG.15)
234 UINT WINAPI
OleUIBusyW(LPOLEUIBUSYW lpOleUIBusy
)
236 FIXME("(%p): stub\n", lpOleUIBusy
);
237 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
241 /***********************************************************************
242 * OleUIUpdateLinksA (OLEDLG.9)
244 BOOL WINAPI
OleUIUpdateLinksA(
245 LPOLEUILINKCONTAINERA lpOleUILinkCntr
,
246 HWND hwndParent
, LPSTR lpszTitle
, INT cLinks
)
248 FIXME("(%p, %p, %s, %d): stub\n",
249 lpOleUILinkCntr
, hwndParent
, debugstr_a(lpszTitle
), cLinks
251 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
255 /***********************************************************************
256 * OleUIUpdateLinksW (OLEDLG.23)
258 BOOL WINAPI
OleUIUpdateLinksW(
259 LPOLEUILINKCONTAINERW lpOleUILinkCntr
,
260 HWND hwndParent
, LPWSTR lpszTitle
, INT cLinks
)
262 FIXME("(%p, %p, %s, %d): stub\n",
263 lpOleUILinkCntr
, hwndParent
, debugstr_w(lpszTitle
), cLinks
265 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
269 /***********************************************************************
270 * OleUIPromptUserA (OLEDLG.10)
272 INT WINAPIV
OleUIPromptUserA(
273 INT nTemplate
, HWND hwndParent
, ...)
275 FIXME("(%d, %p, ...): stub\n", nTemplate
, hwndParent
);
276 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
280 /***********************************************************************
281 * OleUIPromptUserW (OLEDLG.13)
283 INT WINAPIV
OleUIPromptUserW(
284 INT nTemplate
, HWND hwndParent
, ...)
286 FIXME("(%d, %p, ...): stub\n", nTemplate
, hwndParent
);
287 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
291 /***********************************************************************
292 * OleUIObjectPropertiesA (OLEDLG.11)
294 UINT WINAPI
OleUIObjectPropertiesA(
295 LPOLEUIOBJECTPROPSA lpOleUIObjectProps
)
297 FIXME("(%p): stub\n", lpOleUIObjectProps
);
298 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
302 /***********************************************************************
303 * OleUIObjectPropertiesW (OLEDLG.21)
305 UINT WINAPI
OleUIObjectPropertiesW(
306 LPOLEUIOBJECTPROPSW lpOleUIObjectProps
)
308 FIXME("(%p): stub\n", lpOleUIObjectProps
);
309 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
313 /***********************************************************************
314 * OleUIChangeSourceA (OLEDLG.12)
316 UINT WINAPI
OleUIChangeSourceA(
317 LPOLEUICHANGESOURCEA lpOleUIChangeSource
)
319 FIXME("(%p): stub\n", lpOleUIChangeSource
);
320 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
324 /***********************************************************************
325 * OleUIChangeSourceW (OLEDLG.17)
327 UINT WINAPI
OleUIChangeSourceW(
328 LPOLEUICHANGESOURCEW lpOleUIChangeSource
)
330 FIXME("(%p): stub\n", lpOleUIChangeSource
);
331 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);