New debug scheme with explicit debug channels declaration.
[wine.git] / dlls / comctl32 / propsheet.c
blob2cf85053b3725fe267deebc160e3cc3232641e83
1 /*
2 * Property Sheets
4 * Copyright 1998 Francis Beaudet
6 * TODO:
7 * - All the functions are simply stubs
9 */
11 #include "winbase.h"
12 #include "commctrl.h"
13 #include "prsht.h"
14 #include "propsheet.h"
15 #include "debug.h"
17 DEFAULT_DEBUG_CHANNEL(propsheet)
20 LRESULT WINAPI
21 PROPSHEET_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
29 /*****************************************************************
30 * PropertySheet32A (COMCTL32.84)(COMCTL32.83)
32 INT WINAPI PropertySheetA(LPCPROPSHEETHEADERA lppsh)
34 HWND hwnd;
36 FIXME(propsheet, "(%p): stub\n", lppsh);
38 if (lppsh->dwFlags & PSH_MODELESS) {
39 hwnd = CreateDialogParamA ( lppsh->hInstance, WC_PROPSHEETA,
40 lppsh->hwndParent, (DLGPROC)PROPSHEET_WindowProc,
41 (LPARAM) lppsh );
42 ShowWindow (hwnd, TRUE);
43 } else {
44 hwnd = DialogBoxParamA ( lppsh->hInstance, WC_PROPSHEETA,
45 lppsh->hwndParent, (DLGPROC)PROPSHEET_WindowProc,
46 (LPARAM) lppsh );
48 return hwnd;
51 /*****************************************************************
52 * PropertySheet32W (COMCTL32.85)
54 INT WINAPI PropertySheetW(LPCPROPSHEETHEADERW propertySheetHeader)
56 FIXME(propsheet, "(%p): stub\n", propertySheetHeader);
58 return -1;
65 /*****************************************************************
66 * CreatePropertySheetPage32A (COMCTL32.19)(COMCTL32.18)
68 HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA lpPropSheetPage)
70 FIXME(propsheet, "(%p): stub\n", lpPropSheetPage);
72 return 0;
75 /*****************************************************************
76 * CreatePropertySheetPage32W (COMCTL32.20)
78 HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW lpPropSheetPage)
80 FIXME(propsheet, "(%p): stub\n", lpPropSheetPage);
82 return 0;
85 /*****************************************************************
86 * DestroyPropertySheetPage32 (COMCTL32.24)
88 BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE hPropPage)
90 FIXME(propsheet, "(0x%08lx): stub\n", (DWORD)hPropPage);
91 return FALSE;
96 LRESULT WINAPI
97 PROPSHEET_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
99 /* WND *wndPtr = WIN_FindWndPtr(hwnd); */
101 switch (uMsg) {
102 case PSM_SETCURSEL:
103 FIXME (propsheet, "Unimplemented msg PSM_SETCURSEL\n");
104 return 0;
105 case PSM_REMOVEPAGE:
106 FIXME (propsheet, "Unimplemented msg PSM_REMOVEPAGE\n");
107 return 0;
108 case PSM_ADDPAGE:
109 FIXME (propsheet, "Unimplemented msg PSM_ADDPAGE\n");
110 return 0;
111 case PSM_CHANGED:
112 FIXME (propsheet, "Unimplemented msg PSM_CHANGED\n");
113 return 0;
114 case PSM_RESTARTWINDOWS:
115 FIXME (propsheet, "Unimplemented msg PSM_RESTARTWINDOWS\n");
116 return 0;
117 case PSM_REBOOTSYSTEM:
118 FIXME (propsheet, "Unimplemented msg PSM_REBOOTSYSTEM\n");
119 return 0;
120 case PSM_CANCELTOCLOSE:
121 FIXME (propsheet, "Unimplemented msg PSM_CANCELTOCLOSE\n");
122 return 0;
123 case PSM_QUERYSIBLINGS:
124 FIXME (propsheet, "Unimplemented msg PSM_QUERYSIBLINGS\n");
125 return 0;
126 case PSM_UNCHANGED:
127 FIXME (propsheet, "Unimplemented msg PSM_UNCHANGED\n");
128 return 0;
129 case PSM_APPLY:
130 FIXME (propsheet, "Unimplemented msg PSM_APPLY\n");
131 return 0;
132 case PSM_SETTITLEA:
133 FIXME (propsheet, "Unimplemented msg PSM_SETTITLE32A\n");
134 return 0;
135 case PSM_SETTITLEW:
136 FIXME (propsheet, "Unimplemented msg PSM_SETTITLE32W\n");
137 return 0;
138 case PSM_SETWIZBUTTONS:
139 FIXME (propsheet, "Unimplemented msg PSM_SETWIZBUTTONS\n");
140 return 0;
141 case PSM_PRESSBUTTON:
142 FIXME (propsheet, "Unimplemented msg PSM_PRESSBUTTON\n");
143 return 0;
144 case PSM_SETCURSELID:
145 FIXME (propsheet, "Unimplemented msg PSM_SETCURSELID\n");
146 return 0;
147 case PSM_SETFINISHTEXTA:
148 FIXME (propsheet, "Unimplemented msg PSM_SETFINISHTEXT32A\n");
149 return 0;
150 case PSM_SETFINISHTEXTW:
151 FIXME (propsheet, "Unimplemented msg PSM_SETFINISHTEXT32W\n");
152 return 0;
153 case PSM_GETTABCONTROL:
154 FIXME (propsheet, "Unimplemented msg PSM_GETTABCONTROL\n");
155 return 0;
156 case PSM_ISDIALOGMESSAGE:
157 FIXME (propsheet, "Unimplemented msg PSM_ISDIALOGMESSAGE\n");
158 return 0;
159 case PSM_GETCURRENTPAGEHWND:
160 FIXME (propsheet, "Unimplemented msg PSM_GETCURRENTPAGEHWND\n");
161 return 0;
163 default:
164 if (uMsg >= WM_USER)
165 ERR (propsheet, "unknown msg %04x wp=%08x lp=%08lx\n",
166 uMsg, wParam, lParam);
167 return DefWindowProcA (hwnd, uMsg, wParam, lParam);
172 VOID
173 PROPSHEET_Register (VOID)
175 WNDCLASSA wndClass;
177 if (GlobalFindAtomA (WC_PROPSHEETA)) return;
179 ZeroMemory (&wndClass, sizeof(WNDCLASSA));
180 wndClass.style = CS_GLOBALCLASS | CS_DBLCLKS | CS_SAVEBITS;
181 wndClass.lpfnWndProc = (WNDPROC)PROPSHEET_WindowProc;
182 wndClass.cbClsExtra = 0;
183 wndClass.cbWndExtra = sizeof(PROPSHEET_INFO *);
184 wndClass.hCursor = LoadCursorA (0, IDC_ARROWA);
185 wndClass.hbrBackground = 0;
186 wndClass.lpszClassName = WC_PROPSHEETA;
188 RegisterClassA (&wndClass);
192 VOID
193 PROPSHEET_UnRegister (VOID)
195 if (GlobalFindAtomA (WC_PROPSHEETA))
196 UnregisterClassA (WC_PROPSHEETA, (HINSTANCE)NULL);