Work around MinGW mangling of "host:/path"
[msysgit/historical-msysgit.git] / mingw / include / prsht.h
blob299834b68e0286bbe3e735d6ece50bfcdc621b3b
1 #ifndef _PRSHT_H
2 #define _PRSHT_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
11 #define MAXPROPPAGES 100
12 #define PSP_DEFAULT 0
13 #define PSP_DLGINDIRECT 1
14 #define PSP_USEHICON 2
15 #define PSP_USEICONID 4
16 #define PSP_USETITLE 8
17 #define PSP_RTLREADING 16
18 #define PSP_HASHELP 32
19 #define PSP_USEREFPARENT 64
20 #define PSP_USECALLBACK 128
21 #define PSP_PREMATURE 1024
22 #if (_WIN32_IE >= 0x0400)
23 #define PSP_HIDEHEADER 2048
24 #define PSP_USEHEADERTITLE 4096
25 #define PSP_USEHEADERSUBTITLE 8192
26 #endif
27 #define PSPCB_RELEASE 1
28 #define PSPCB_CREATE 2
29 #define PSH_DEFAULT 0
30 #define PSH_PROPTITLE 1
31 #define PSH_USEHICON 2
32 #define PSH_USEICONID 4
33 #define PSH_PROPSHEETPAGE 8
34 #define PSH_WIZARDHASFINISH 16
35 #define PSH_WIZARD 32
36 #define PSH_USEPSTARTPAGE 64
37 #define PSH_NOAPPLYNOW 128
38 #define PSH_USECALLBACK 256
39 #define PSH_HASHELP 512
40 #define PSH_MODELESS 1024
41 #define PSH_RTLREADING 2048
42 #define PSH_WIZARDCONTEXTHELP 4096
43 #if (_WIN32_IE >= 0x0400)
44 #define PSH_WATERMARK 32768
45 #define PSH_USEHBMWATERMARK 65536
46 #define PSH_USEHPLWATERMARK 131072
47 #define PSH_STRETCHWATERMARK 262144
48 #define PSH_HEADER 524288
49 #define PSH_USEHBMHEADER 1048576
50 #define PSH_USEPAGELANG 2097152
51 #if (_WIN32_IE < 0x0500)
52 #define PSH_WIZARD97 0x00002000
53 #else
54 #define PSH_WIZARD97 0x01000000
55 #endif
56 #endif /* _WIN32_IE >= 0x0400 */
57 #if (_WIN32_IE >= 0x0500)
58 #define PSH_WIZARD_LITE 0x400000
59 #define PSH_NOCONTEXTHELP 0x2000000
60 #endif
61 #define PSCB_INITIALIZED 1
62 #define PSCB_PRECREATE 2
63 #define PSM_GETTABCONTROL 1140
64 #define PSM_GETCURRENTPAGEHWND 1142
65 #define PSM_ISDIALOGMESSAGE 1141
66 #define PSM_PRESSBUTTON 1137
67 #define PSM_SETCURSELID 1138
68 #define PSM_SETFINISHTEXTW 1145
69 #define PSM_SETFINISHTEXTA 1139
70 #define PSN_FIRST (-200)
71 #define PSN_LAST (-299)
72 #define PSN_APPLY (-202)
73 #define PSN_HELP (-205)
74 #define PSN_KILLACTIVE (-201)
75 #define PSN_QUERYCANCEL (-209)
76 #define PSN_RESET (-203)
77 #define PSN_SETACTIVE (-200)
78 #define PSN_WIZBACK (-206)
79 #define PSN_WIZFINISH (-208)
80 #define PSN_WIZNEXT (-207)
81 #define PSNRET_NOERROR 0
82 #define PSNRET_INVALID 1
83 #define PSNRET_INVALID_NOCHANGEPAGE 2
84 #define ID_PSRESTARTWINDOWS 2
85 #define ID_PSREBOOTSYSTEM 3
86 #define WIZ_CXDLG 276
87 #define WIZ_CYDLG 140
88 #define WIZ_CXBMP 80
89 #define WIZ_BODYX 92
90 #define WIZ_BODYCX 184
91 #define PROP_SM_CXDLG 212
92 #define PROP_SM_CYDLG 188
93 #define PROP_MED_CXDLG 227
94 #define PROP_MED_CYDLG 215
95 #define PROP_LG_CXDLG 252
96 #define PROP_LG_CYDLG 218
97 #define PSBTN_MAX 6
98 #define PSBTN_BACK 0
99 #define PSBTN_NEXT 1
100 #define PSBTN_FINISH 2
101 #define PSBTN_OK 3
102 #define PSBTN_APPLYNOW 4
103 #define PSBTN_CANCEL 5
104 #define PSBTN_HELP 6
105 #define PSWIZB_BACK 1
106 #define PSWIZB_NEXT 2
107 #define PSWIZB_FINISH 4
108 #define PSWIZB_DISABLEDFINISH 8
109 #define PSM_SETWIZBUTTONS (WM_USER+112)
110 #define PSM_APPLY (WM_USER+110)
111 #define PSM_UNCHANGED (WM_USER+109)
112 #define PSM_QUERYSIBLINGS (WM_USER+108)
113 #define PSM_CANCELTOCLOSE (WM_USER+107)
114 #define PSM_REBOOTSYSTEM (WM_USER+106)
115 #define PSM_RESTARTWINDOWS (WM_USER+105)
116 #define PSM_CHANGED (WM_USER+104)
117 #define PSM_ADDPAGE (WM_USER+103)
118 #define PSM_REMOVEPAGE (WM_USER+102)
119 #define PSM_SETCURSEL (WM_USER+101)
120 #define PSM_SETTITLEA (WM_USER+111)
121 #define PSM_SETTITLEW (WM_USER+120)
123 #ifndef RC_INVOKED
125 #pragma pack(push,8)
126 typedef struct _PROPSHEETPAGEA {
127 DWORD dwSize;
128 DWORD dwFlags;
129 HINSTANCE hInstance;
130 _ANONYMOUS_UNION union {
131 LPCSTR pszTemplate;
132 LPCDLGTEMPLATE pResource;
133 } DUMMYUNIONNAME;
134 _ANONYMOUS_UNION union {
135 HICON hIcon;
136 LPCSTR pszIcon;
137 } DUMMYUNIONNAME2;
138 LPCSTR pszTitle;
139 DLGPROC pfnDlgProc;
140 LPARAM lParam;
141 UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEA*);
142 UINT *pcRefParent;
143 #if (_WIN32_IE >= 0x0400)
144 LPCSTR pszHeaderTitle;
145 LPCSTR pszHeaderSubTitle;
146 #endif
147 } PROPSHEETPAGEA,*LPPROPSHEETPAGEA;
148 typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA;
149 typedef struct _PROPSHEETPAGEW {
150 DWORD dwSize;
151 DWORD dwFlags;
152 HINSTANCE hInstance;
153 _ANONYMOUS_UNION union {
154 LPCWSTR pszTemplate;
155 LPCDLGTEMPLATE pResource;
156 } DUMMYUNIONNAME;
157 _ANONYMOUS_UNION union {
158 HICON hIcon;
159 LPCWSTR pszIcon;
160 } DUMMYUNIONNAME2;
161 LPCWSTR pszTitle;
162 DLGPROC pfnDlgProc;
163 LPARAM lParam;
164 UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEW*);
165 UINT *pcRefParent;
166 #if (_WIN32_IE >= 0x0400)
167 LPCWSTR pszHeaderTitle;
168 LPCWSTR pszHeaderSubTitle;
169 #endif
170 } PROPSHEETPAGEW,*LPPROPSHEETPAGEW;
171 typedef const PROPSHEETPAGEW *LPCPROPSHEETPAGEW;
172 typedef UINT(CALLBACK *LPFNPSPCALLBACKA)(HWND,UINT,LPPROPSHEETPAGEA);
173 typedef UINT(CALLBACK *LPFNPSPCALLBACKW)(HWND,UINT,LPPROPSHEETPAGEW);
174 typedef int(CALLBACK *PFNPROPSHEETCALLBACK)(HWND,UINT,LPARAM);
175 DECLARE_HANDLE(HPROPSHEETPAGE);
176 typedef struct _PROPSHEETHEADERA {
177 DWORD dwSize;
178 DWORD dwFlags;
179 HWND hwndParent;
180 HINSTANCE hInstance;
181 _ANONYMOUS_UNION union {
182 HICON hIcon;
183 LPCSTR pszIcon;
184 }DUMMYUNIONNAME;
185 LPCSTR pszCaption;
186 UINT nPages;
187 _ANONYMOUS_UNION union {
188 UINT nStartPage;
189 LPCSTR pStartPage;
190 }DUMMYUNIONNAME2;
191 _ANONYMOUS_UNION union {
192 LPCPROPSHEETPAGEA ppsp;
193 HPROPSHEETPAGE *phpage;
194 }DUMMYUNIONNAME3;
195 PFNPROPSHEETCALLBACK pfnCallback;
196 #if (_WIN32_IE >= 0x0400)
197 _ANONYMOUS_UNION union {
198 HBITMAP hbmWatermark;
199 LPCSTR pszbmWatermark;
200 } DUMMYUNIONNAME4;
201 HPALETTE hplWatermark;
202 _ANONYMOUS_UNION union {
203 HBITMAP hbmHeader;
204 LPCSTR pszbmHeader;
205 } DUMMYUNIONNAME5;
206 #endif
207 } PROPSHEETHEADERA,*LPPROPSHEETHEADERA;
208 typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
209 typedef struct _PROPSHEETHEADERW {
210 DWORD dwSize;
211 DWORD dwFlags;
212 HWND hwndParent;
213 HINSTANCE hInstance;
214 _ANONYMOUS_UNION union {
215 HICON hIcon;
216 LPCWSTR pszIcon;
217 }DUMMYUNIONNAME;
218 LPCWSTR pszCaption;
219 UINT nPages;
220 _ANONYMOUS_UNION union {
221 UINT nStartPage;
222 LPCWSTR pStartPage;
223 }DUMMYUNIONNAME2;
224 _ANONYMOUS_UNION union {
225 LPCPROPSHEETPAGEW ppsp;
226 HPROPSHEETPAGE *phpage;
227 }DUMMYUNIONNAME3;
228 PFNPROPSHEETCALLBACK pfnCallback;
229 #if (_WIN32_IE >= 0x0400)
230 _ANONYMOUS_UNION union {
231 HBITMAP hbmWatermark;
232 LPCWSTR pszbmWatermark;
233 } DUMMYUNIONNAME4;
234 HPALETTE hplWatermark;
235 _ANONYMOUS_UNION union {
236 HBITMAP hbmHeader;
237 LPCWSTR pszbmHeader;
238 } DUMMYUNIONNAME5;
239 #endif
240 } PROPSHEETHEADERW,*LPPROPSHEETHEADERW;
241 typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
242 typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE,LPARAM);
243 typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID,LPFNADDPROPSHEETPAGE,LPARAM);
244 typedef struct _PSHNOTIFY {
245 NMHDR hdr;
246 LPARAM lParam;
247 } PSHNOTIFY,*LPPSHNOTIFY;
249 #pragma pack(pop)
251 HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA);
252 HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW);
253 BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE);
254 int WINAPI PropertySheetA(LPCPROPSHEETHEADERA);
255 int WINAPI PropertySheetW(LPCPROPSHEETHEADERW);
256 #define PropSheet_AddPage(d,p) SendMessage(d,PSM_ADDPAGE,0,(LPARAM)p)
257 #define PropSheet_Apply(d) SendMessage(d,PSM_APPLY,0,0)
258 #define PropSheet_CancelToClose(d) SendMessage(d,PSM_CANCELTOCLOSE,0,0)
259 #define PropSheet_Changed(d,w) SendMessage(d,PSM_CHANGED,(WPARAM)w,0)
260 #define PropSheet_GetCurrentPageHwnd(d) (HWND)SendMessage(d,PSM_GETCURRENTPAGEHWND,0,0)
261 #define PropSheet_GetTabControl(d) (HWND)SendMessage(d,PSM_GETTABCONTROL,0,0)
262 #define PropSheet_IsDialogMessage(d,m) (BOOL)SendMessage(d,PSM_ISDIALOGMESSAGE,0,(LPARAM)m)
263 #define PropSheet_PressButton(d,i) SendMessage(d,PSM_PRESSBUTTON,i,0)
264 #define PropSheet_QuerySiblings(d,w,l) SendMessage(d,PSM_QUERYSIBLINGS,w,l)
265 #define PropSheet_RebootSystem(d) SendMessage(d,PSM_REBOOTSYSTEM,0,0)
266 #define PropSheet_RemovePage(d,i,p) SendMessage(d,PSM_REMOVEPAGE,i,(LPARAM)p)
267 #define PropSheet_RestartWindows(d) SendMessage(d,PSM_RESTARTWINDOWS,0,0)
268 #define PropSheet_SetCurSel(d,p,i) SendMessage(d,PSM_SETCURSEL,i,(LPARAM)p)
269 #define PropSheet_SetCurSelByID(d,i) SendMessage(d,PSM_SETCURSELID,0,i)
270 #define PropSheet_SetFinishText(d,s) SendMessage(d,PSM_SETFINISHTEXT,0,(LPARAM)s)
271 #define PropSheet_SetTitle(d,w,s) SendMessage(d,PSM_SETTITLE,w,(LPARAM)s)
272 #define PropSheet_SetWizButtons(d,f) PostMessage(d,PSM_SETWIZBUTTONS,0,(LPARAM)f)
273 #define PropSheet_UnChanged(d,w) SendMessage(d,PSM_UNCHANGED,(WPARAM)w,0)
274 #endif
276 #ifdef UNICODE
277 #define LPFNPSPCALLBACK LPFNPSPCALLBACKW
278 #define PROPSHEETPAGE PROPSHEETPAGEW
279 #define LPPROPSHEETPAGE LPPROPSHEETPAGEW
280 #define LPCPROPSHEETPAGE LPCPROPSHEETPAGEW
281 #define PROPSHEETHEADER PROPSHEETHEADERW
282 #define LPPROPSHEETHEADER LPPROPSHEETHEADERW
283 #define LPCPROPSHEETHEADER LPCPROPSHEETHEADERW
284 #define PSM_SETTITLE PSM_SETTITLEW
285 #define PSM_SETFINISHTEXT PSM_SETFINISHTEXTW
286 #define CreatePropertySheetPage CreatePropertySheetPageW
287 #define PropertySheet PropertySheetW
288 #else
289 #define LPFNPSPCALLBACK LPFNPSPCALLBACKA
290 #define PROPSHEETPAGE PROPSHEETPAGEA
291 #define LPPROPSHEETPAGE LPPROPSHEETPAGEA
292 #define LPCPROPSHEETPAGE LPCPROPSHEETPAGEA
293 #define PROPSHEETHEADER PROPSHEETHEADERA
294 #define LPPROPSHEETHEADER LPPROPSHEETHEADERA
295 #define LPCPROPSHEETHEADER LPCPROPSHEETHEADERA
296 #define PSM_SETTITLE PSM_SETTITLEA
297 #define PSM_SETFINISHTEXT PSM_SETFINISHTEXTA
298 #define CreatePropertySheetPage CreatePropertySheetPageA
299 #define PropertySheet PropertySheetA
300 #endif
301 #ifdef __cplusplus
303 #endif
304 #endif