Do nothing in ShowWindow(SW_SHOW) if a window is already visible.
[wine] / dlls / oledlg / oledlg_main.c
1 /*
2  *      OLEDLG library
3  *
4  *      Copyright 1998  Patrik Stridvall
5  *
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.
10  *
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.
15  *
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #define COM_NO_WINDOWS_H
22 #include <stdarg.h>
23
24 #include "windef.h"
25 #include "winbase.h"
26 #include "winerror.h"
27 #include "wingdi.h"
28 #include "winuser.h"
29 #include "oledlg.h"
30 #include "wine/debug.h"
31 #include "ole2.h"
32
33 WINE_DEFAULT_DEBUG_CHANNEL(ole);
34
35 HINSTANCE OLEDLG_hInstance = 0;
36
37 /***********************************************************************
38  *              DllMain
39  */
40 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
41 {
42     TRACE("%p 0x%lx %p\n", hinstDLL, fdwReason, fImpLoad);
43
44     switch(fdwReason) {
45     case DLL_PROCESS_ATTACH:
46         DisableThreadLibraryCalls(hinstDLL);
47         OLEDLG_hInstance = hinstDLL;
48         break;
49
50     case DLL_PROCESS_DETACH:
51         OLEDLG_hInstance = 0;
52         break;
53     }
54     return TRUE;
55 }
56
57
58 /***********************************************************************
59  *           OleUIAddVerbMenuA (OLEDLG.1)
60  */
61 BOOL WINAPI OleUIAddVerbMenuA(
62   LPOLEOBJECT lpOleObj, LPCSTR lpszShortType,
63   HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
64   BOOL bAddConvert, UINT idConvert, HMENU *lphMenu)
65 {
66   FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
67     lpOleObj, debugstr_a(lpszShortType),
68     hMenu, uPos, uIDVerbMin, uIDVerbMax,
69     bAddConvert, idConvert, lphMenu
70   );
71   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
72   return FALSE;
73 }
74
75 /***********************************************************************
76  *           OleUIAddVerbMenuW (OLEDLG.14)
77  */
78 BOOL WINAPI OleUIAddVerbMenuW(
79   LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType,
80   HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
81   BOOL bAddConvert, UINT idConvert, HMENU *lphMenu)
82 {
83   FIXME("(%p, %s, %p, %d, %d, %d, %d, %d, %p): stub\n",
84     lpOleObj, debugstr_w(lpszShortType),
85     hMenu, uPos, uIDVerbMin, uIDVerbMax,
86     bAddConvert, idConvert, lphMenu
87   );
88   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
89   return FALSE;
90 }
91
92 /***********************************************************************
93  *           OleUICanConvertOrActivateAs (OLEDLG.2)
94  */
95 BOOL WINAPI OleUICanConvertOrActivateAs(
96     REFCLSID rClsid, BOOL fIsLinkedObject, WORD wFormat)
97 {
98   FIXME("(%p, %d, %hd): stub\n",
99     rClsid, fIsLinkedObject, wFormat
100   );
101   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
102   return FALSE;
103 }
104
105 /***********************************************************************
106  *           OleUIInsertObjectW (OLEDLG.20)
107  */
108 UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW lpOleUIInsertObject)
109 {
110   FIXME("(%p): stub\n", lpOleUIInsertObject);
111   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
112   return OLEUI_FALSE;
113 }
114
115 /***********************************************************************
116  *           OleUIPasteSpecialA (OLEDLG.4)
117  */
118 UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial)
119 {
120   FIXME("(%p): stub\n", lpOleUIPasteSpecial);
121   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
122   return OLEUI_FALSE;
123 }
124
125 /***********************************************************************
126  *           OleUIPasteSpecialW (OLEDLG.22)
127  */
128 UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial)
129 {
130   FIXME("(%p): stub\n", lpOleUIPasteSpecial);
131   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
132   return OLEUI_FALSE;
133 }
134
135 /***********************************************************************
136  *           OleUIEditLinksA (OLEDLG.5)
137  */
138 UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks)
139 {
140   FIXME("(%p): stub\n", lpOleUIEditLinks);
141   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
142   return OLEUI_FALSE;
143 }
144
145 /***********************************************************************
146  *           OleUIEditLinksW (OLEDLG.19)
147  */
148 UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks)
149 {
150   FIXME("(%p): stub\n", lpOleUIEditLinks);
151   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
152   return OLEUI_FALSE;
153 }
154
155 /***********************************************************************
156  *           OleUIChangeIconA (OLEDLG.6)
157  */
158 UINT WINAPI OleUIChangeIconA(
159   LPOLEUICHANGEICONA lpOleUIChangeIcon)
160 {
161   FIXME("(%p): stub\n", lpOleUIChangeIcon);
162   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
163   return OLEUI_FALSE;
164 }
165
166 /***********************************************************************
167  *           OleUIChangeIconW (OLEDLG.16)
168  */
169 UINT WINAPI OleUIChangeIconW(
170   LPOLEUICHANGEICONW lpOleUIChangeIcon)
171 {
172   FIXME("(%p): stub\n", lpOleUIChangeIcon);
173   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
174   return OLEUI_FALSE;
175 }
176
177 /***********************************************************************
178  *           OleUIConvertA (OLEDLG.7)
179  */
180 UINT WINAPI OleUIConvertA(LPOLEUICONVERTA lpOleUIConvert)
181 {
182   FIXME("(%p): stub\n", lpOleUIConvert);
183   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
184   return OLEUI_FALSE;
185 }
186
187 /***********************************************************************
188  *           OleUIConvertW (OLEDLG.18)
189  */
190 UINT WINAPI OleUIConvertW(LPOLEUICONVERTW lpOleUIConvert)
191 {
192   FIXME("(%p): stub\n", lpOleUIConvert);
193   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
194   return OLEUI_FALSE;
195 }
196
197 /***********************************************************************
198  *           OleUIBusyA (OLEDLG.8)
199  */
200 UINT WINAPI OleUIBusyA(LPOLEUIBUSYA lpOleUIBusy)
201 {
202   FIXME("(%p): stub\n", lpOleUIBusy);
203   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
204   return OLEUI_FALSE;
205 }
206
207 /***********************************************************************
208  *           OleUIBusyW (OLEDLG.15)
209  */
210 UINT WINAPI OleUIBusyW(LPOLEUIBUSYW lpOleUIBusy)
211 {
212   FIXME("(%p): stub\n", lpOleUIBusy);
213   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
214   return OLEUI_FALSE;
215 }
216
217 /***********************************************************************
218  *           OleUIUpdateLinksA (OLEDLG.9)
219  */
220 BOOL WINAPI OleUIUpdateLinksA(
221   LPOLEUILINKCONTAINERA lpOleUILinkCntr,
222   HWND hwndParent, LPSTR lpszTitle, INT cLinks)
223 {
224   FIXME("(%p, %p, %s, %d): stub\n",
225     lpOleUILinkCntr, hwndParent, debugstr_a(lpszTitle), cLinks
226   );
227   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
228   return FALSE;
229 }
230
231 /***********************************************************************
232  *           OleUIUpdateLinksW (OLEDLG.23)
233  */
234 BOOL WINAPI OleUIUpdateLinksW(
235   LPOLEUILINKCONTAINERW lpOleUILinkCntr,
236   HWND hwndParent, LPWSTR lpszTitle, INT cLinks)
237 {
238   FIXME("(%p, %p, %s, %d): stub\n",
239     lpOleUILinkCntr, hwndParent, debugstr_w(lpszTitle), cLinks
240   );
241   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
242   return FALSE;
243 }
244
245 /***********************************************************************
246  *           OleUIPromptUserA (OLEDLG.10)
247  */
248 INT __cdecl OleUIPromptUserA(
249   INT nTemplate, HWND hwndParent, ...)
250 {
251   FIXME("(%d, %p, ...): stub\n", nTemplate, hwndParent);
252   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
253   return OLEUI_FALSE;
254 }
255
256 /***********************************************************************
257  *           OleUIPromptUserW (OLEDLG.13)
258  */
259 INT __cdecl OleUIPromptUserW(
260   INT nTemplate, HWND hwndParent, ...)
261 {
262   FIXME("(%d, %p, ...): stub\n", nTemplate, hwndParent);
263   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
264   return OLEUI_FALSE;
265 }
266
267 /***********************************************************************
268  *           OleUIObjectPropertiesA (OLEDLG.11)
269  */
270 UINT WINAPI OleUIObjectPropertiesA(
271   LPOLEUIOBJECTPROPSA lpOleUIObjectProps)
272 {
273   FIXME("(%p): stub\n", lpOleUIObjectProps);
274   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
275   return OLEUI_FALSE;
276 }
277
278 /***********************************************************************
279  *           OleUIObjectPropertiesW (OLEDLG.21)
280  */
281 UINT WINAPI OleUIObjectPropertiesW(
282   LPOLEUIOBJECTPROPSW lpOleUIObjectProps)
283 {
284   FIXME("(%p): stub\n", lpOleUIObjectProps);
285   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
286   return OLEUI_FALSE;
287 }
288
289 /***********************************************************************
290  *           OleUIChangeSourceA (OLEDLG.12)
291  */
292 UINT WINAPI OleUIChangeSourceA(
293   LPOLEUICHANGESOURCEA lpOleUIChangeSource)
294 {
295   FIXME("(%p): stub\n", lpOleUIChangeSource);
296   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
297   return OLEUI_FALSE;
298 }
299
300 /***********************************************************************
301  *           OleUIChangeSourceW (OLEDLG.17)
302  */
303 UINT WINAPI OleUIChangeSourceW(
304   LPOLEUICHANGESOURCEW lpOleUIChangeSource)
305 {
306   FIXME("(%p): stub\n", lpOleUIChangeSource);
307   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
308   return OLEUI_FALSE;
309 }