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();
98 /***********************************************************************
99 * OleUIAddVerbMenuA (OLEDLG.1)
101 BOOL WINAPI
OleUIAddVerbMenuA(
102 LPOLEOBJECT lpOleObj
, LPCSTR lpszShortType
,
103 HMENU hMenu
, UINT uPos
, UINT uIDVerbMin
, UINT uIDVerbMax
,
104 BOOL bAddConvert
, UINT idConvert
, HMENU
*lphMenu
)
106 FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
107 lpOleObj
, debugstr_a(lpszShortType
),
108 hMenu
, uPos
, uIDVerbMin
, uIDVerbMax
,
109 bAddConvert
, idConvert
, lphMenu
111 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
115 /***********************************************************************
116 * OleUIAddVerbMenuW (OLEDLG.14)
118 BOOL WINAPI
OleUIAddVerbMenuW(
119 LPOLEOBJECT lpOleObj
, LPCWSTR lpszShortType
,
120 HMENU hMenu
, UINT uPos
, UINT uIDVerbMin
, UINT uIDVerbMax
,
121 BOOL bAddConvert
, UINT idConvert
, HMENU
*lphMenu
)
123 FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
124 lpOleObj
, debugstr_w(lpszShortType
),
125 hMenu
, uPos
, uIDVerbMin
, uIDVerbMax
,
126 bAddConvert
, idConvert
, lphMenu
128 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
132 /***********************************************************************
133 * OleUICanConvertOrActivateAs (OLEDLG.2)
135 BOOL WINAPI
OleUICanConvertOrActivateAs(
136 REFCLSID rClsid
, BOOL fIsLinkedObject
, WORD wFormat
)
138 FIXME("(%p, %d, %hd): stub\n",
139 rClsid
, fIsLinkedObject
, wFormat
141 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
145 /***********************************************************************
146 * OleUIInsertObjectW (OLEDLG.20)
148 UINT WINAPI
OleUIInsertObjectW(LPOLEUIINSERTOBJECTW lpOleUIInsertObject
)
150 FIXME("(%p): stub\n", lpOleUIInsertObject
);
151 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
155 /***********************************************************************
156 * OleUIEditLinksA (OLEDLG.5)
158 UINT WINAPI
OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks
)
160 FIXME("(%p): stub\n", lpOleUIEditLinks
);
161 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
165 /***********************************************************************
166 * OleUIEditLinksW (OLEDLG.19)
168 UINT WINAPI
OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks
)
170 FIXME("(%p): stub\n", lpOleUIEditLinks
);
171 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
175 /***********************************************************************
176 * OleUIChangeIconA (OLEDLG.6)
178 UINT WINAPI
OleUIChangeIconA(
179 LPOLEUICHANGEICONA lpOleUIChangeIcon
)
181 FIXME("(%p): stub\n", lpOleUIChangeIcon
);
182 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
186 /***********************************************************************
187 * OleUIChangeIconW (OLEDLG.16)
189 UINT WINAPI
OleUIChangeIconW(
190 LPOLEUICHANGEICONW lpOleUIChangeIcon
)
192 FIXME("(%p): stub\n", lpOleUIChangeIcon
);
193 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
197 /***********************************************************************
198 * OleUIConvertA (OLEDLG.7)
200 UINT WINAPI
OleUIConvertA(LPOLEUICONVERTA lpOleUIConvert
)
202 FIXME("(%p): stub\n", lpOleUIConvert
);
203 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
207 /***********************************************************************
208 * OleUIConvertW (OLEDLG.18)
210 UINT WINAPI
OleUIConvertW(LPOLEUICONVERTW lpOleUIConvert
)
212 FIXME("(%p): stub\n", lpOleUIConvert
);
213 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
217 /***********************************************************************
218 * OleUIBusyA (OLEDLG.8)
220 UINT WINAPI
OleUIBusyA(LPOLEUIBUSYA lpOleUIBusy
)
222 FIXME("(%p): stub\n", lpOleUIBusy
);
223 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
227 /***********************************************************************
228 * OleUIBusyW (OLEDLG.15)
230 UINT WINAPI
OleUIBusyW(LPOLEUIBUSYW lpOleUIBusy
)
232 FIXME("(%p): stub\n", lpOleUIBusy
);
233 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
237 /***********************************************************************
238 * OleUIUpdateLinksA (OLEDLG.9)
240 BOOL WINAPI
OleUIUpdateLinksA(
241 LPOLEUILINKCONTAINERA lpOleUILinkCntr
,
242 HWND hwndParent
, LPSTR lpszTitle
, INT cLinks
)
244 FIXME("(%p, %p, %s, %d): stub\n",
245 lpOleUILinkCntr
, hwndParent
, debugstr_a(lpszTitle
), cLinks
247 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
251 /***********************************************************************
252 * OleUIUpdateLinksW (OLEDLG.23)
254 BOOL WINAPI
OleUIUpdateLinksW(
255 LPOLEUILINKCONTAINERW lpOleUILinkCntr
,
256 HWND hwndParent
, LPWSTR lpszTitle
, INT cLinks
)
258 FIXME("(%p, %p, %s, %d): stub\n",
259 lpOleUILinkCntr
, hwndParent
, debugstr_w(lpszTitle
), cLinks
261 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
265 /***********************************************************************
266 * OleUIPromptUserA (OLEDLG.10)
268 INT WINAPIV
OleUIPromptUserA(
269 INT nTemplate
, HWND hwndParent
, ...)
271 FIXME("(%d, %p, ...): stub\n", nTemplate
, hwndParent
);
272 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
276 /***********************************************************************
277 * OleUIPromptUserW (OLEDLG.13)
279 INT WINAPIV
OleUIPromptUserW(
280 INT nTemplate
, HWND hwndParent
, ...)
282 FIXME("(%d, %p, ...): stub\n", nTemplate
, hwndParent
);
283 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
287 /***********************************************************************
288 * OleUIObjectPropertiesA (OLEDLG.11)
290 UINT WINAPI
OleUIObjectPropertiesA(
291 LPOLEUIOBJECTPROPSA lpOleUIObjectProps
)
293 FIXME("(%p): stub\n", lpOleUIObjectProps
);
294 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
298 /***********************************************************************
299 * OleUIObjectPropertiesW (OLEDLG.21)
301 UINT WINAPI
OleUIObjectPropertiesW(
302 LPOLEUIOBJECTPROPSW lpOleUIObjectProps
)
304 FIXME("(%p): stub\n", lpOleUIObjectProps
);
305 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
309 /***********************************************************************
310 * OleUIChangeSourceA (OLEDLG.12)
312 UINT WINAPI
OleUIChangeSourceA(
313 LPOLEUICHANGESOURCEA lpOleUIChangeSource
)
315 FIXME("(%p): stub\n", lpOleUIChangeSource
);
316 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
320 /***********************************************************************
321 * OleUIChangeSourceW (OLEDLG.17)
323 UINT WINAPI
OleUIChangeSourceW(
324 LPOLEUICHANGESOURCEW lpOleUIChangeSource
)
326 FIXME("(%p): stub\n", lpOleUIChangeSource
);
327 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);