196 lines
5.4 KiB
C
196 lines
5.4 KiB
C
/*
|
|
* Property Sheets
|
|
*
|
|
* Copyright 1998 Francis Beaudet
|
|
*
|
|
* TODO:
|
|
* - All the functions are simply stubs
|
|
*
|
|
*/
|
|
|
|
#include "commctrl.h"
|
|
#include "prsht.h"
|
|
#include "propsheet.h"
|
|
#include "win.h"
|
|
#include "debug.h"
|
|
|
|
|
|
LRESULT WINAPI
|
|
PROPSHEET_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************************************************
|
|
* PropertySheet32A (COMCTL32.84)(COMCTL32.83)
|
|
*/
|
|
INT WINAPI PropertySheetA(LPCPROPSHEETHEADERA lppsh)
|
|
{
|
|
HWND hwnd;
|
|
|
|
FIXME(propsheet, "(%p): stub\n", lppsh);
|
|
|
|
if (lppsh->dwFlags & PSH_MODELESS) {
|
|
hwnd = CreateDialogParamA ( lppsh->hInstance, WC_PROPSHEETA,
|
|
lppsh->hwndParent, (DLGPROC)PROPSHEET_WindowProc,
|
|
(LPARAM) lppsh );
|
|
ShowWindow (hwnd, TRUE);
|
|
} else {
|
|
hwnd = DialogBoxParamA ( lppsh->hInstance, WC_PROPSHEETA,
|
|
lppsh->hwndParent, (DLGPROC)PROPSHEET_WindowProc,
|
|
(LPARAM) lppsh );
|
|
}
|
|
return hwnd;
|
|
}
|
|
|
|
/*****************************************************************
|
|
* PropertySheet32W (COMCTL32.85)
|
|
*/
|
|
INT WINAPI PropertySheetW(LPCPROPSHEETHEADERW propertySheetHeader)
|
|
{
|
|
FIXME(propsheet, "(%p): stub\n", propertySheetHeader);
|
|
|
|
return -1;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************************************************
|
|
* CreatePropertySheetPage32A (COMCTL32.19)(COMCTL32.18)
|
|
*/
|
|
HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA lpPropSheetPage)
|
|
{
|
|
FIXME(propsheet, "(%p): stub\n", lpPropSheetPage);
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*****************************************************************
|
|
* CreatePropertySheetPage32W (COMCTL32.20)
|
|
*/
|
|
HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW lpPropSheetPage)
|
|
{
|
|
FIXME(propsheet, "(%p): stub\n", lpPropSheetPage);
|
|
|
|
return 0;
|
|
}
|
|
|
|
/*****************************************************************
|
|
* DestroyPropertySheetPage32 (COMCTL32.24)
|
|
*/
|
|
BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE hPropPage)
|
|
{
|
|
FIXME(propsheet, "(0x%08lx): stub\n", (DWORD)hPropPage);
|
|
return FALSE;
|
|
}
|
|
|
|
|
|
|
|
LRESULT WINAPI
|
|
PROPSHEET_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|
{
|
|
/* WND *wndPtr = WIN_FindWndPtr(hwnd); */
|
|
|
|
switch (uMsg) {
|
|
case PSM_SETCURSEL:
|
|
FIXME (propsheet, "Unimplemented msg PSM_SETCURSEL\n");
|
|
return 0;
|
|
case PSM_REMOVEPAGE:
|
|
FIXME (propsheet, "Unimplemented msg PSM_REMOVEPAGE\n");
|
|
return 0;
|
|
case PSM_ADDPAGE:
|
|
FIXME (propsheet, "Unimplemented msg PSM_ADDPAGE\n");
|
|
return 0;
|
|
case PSM_CHANGED:
|
|
FIXME (propsheet, "Unimplemented msg PSM_CHANGED\n");
|
|
return 0;
|
|
case PSM_RESTARTWINDOWS:
|
|
FIXME (propsheet, "Unimplemented msg PSM_RESTARTWINDOWS\n");
|
|
return 0;
|
|
case PSM_REBOOTSYSTEM:
|
|
FIXME (propsheet, "Unimplemented msg PSM_REBOOTSYSTEM\n");
|
|
return 0;
|
|
case PSM_CANCELTOCLOSE:
|
|
FIXME (propsheet, "Unimplemented msg PSM_CANCELTOCLOSE\n");
|
|
return 0;
|
|
case PSM_QUERYSIBLINGS:
|
|
FIXME (propsheet, "Unimplemented msg PSM_QUERYSIBLINGS\n");
|
|
return 0;
|
|
case PSM_UNCHANGED:
|
|
FIXME (propsheet, "Unimplemented msg PSM_UNCHANGED\n");
|
|
return 0;
|
|
case PSM_APPLY:
|
|
FIXME (propsheet, "Unimplemented msg PSM_APPLY\n");
|
|
return 0;
|
|
case PSM_SETTITLEA:
|
|
FIXME (propsheet, "Unimplemented msg PSM_SETTITLE32A\n");
|
|
return 0;
|
|
case PSM_SETTITLEW:
|
|
FIXME (propsheet, "Unimplemented msg PSM_SETTITLE32W\n");
|
|
return 0;
|
|
case PSM_SETWIZBUTTONS:
|
|
FIXME (propsheet, "Unimplemented msg PSM_SETWIZBUTTONS\n");
|
|
return 0;
|
|
case PSM_PRESSBUTTON:
|
|
FIXME (propsheet, "Unimplemented msg PSM_PRESSBUTTON\n");
|
|
return 0;
|
|
case PSM_SETCURSELID:
|
|
FIXME (propsheet, "Unimplemented msg PSM_SETCURSELID\n");
|
|
return 0;
|
|
case PSM_SETFINISHTEXTA:
|
|
FIXME (propsheet, "Unimplemented msg PSM_SETFINISHTEXT32A\n");
|
|
return 0;
|
|
case PSM_SETFINISHTEXTW:
|
|
FIXME (propsheet, "Unimplemented msg PSM_SETFINISHTEXT32W\n");
|
|
return 0;
|
|
case PSM_GETTABCONTROL:
|
|
FIXME (propsheet, "Unimplemented msg PSM_GETTABCONTROL\n");
|
|
return 0;
|
|
case PSM_ISDIALOGMESSAGE:
|
|
FIXME (propsheet, "Unimplemented msg PSM_ISDIALOGMESSAGE\n");
|
|
return 0;
|
|
case PSM_GETCURRENTPAGEHWND:
|
|
FIXME (propsheet, "Unimplemented msg PSM_GETCURRENTPAGEHWND\n");
|
|
return 0;
|
|
|
|
default:
|
|
if (uMsg >= WM_USER)
|
|
ERR (propsheet, "unknown msg %04x wp=%08x lp=%08lx\n",
|
|
uMsg, wParam, lParam);
|
|
return DefWindowProcA (hwnd, uMsg, wParam, lParam);
|
|
}
|
|
}
|
|
|
|
|
|
VOID
|
|
PROPSHEET_Register (VOID)
|
|
{
|
|
WNDCLASSA wndClass;
|
|
|
|
if (GlobalFindAtomA (WC_PROPSHEETA)) return;
|
|
|
|
ZeroMemory (&wndClass, sizeof(WNDCLASSA));
|
|
wndClass.style = CS_GLOBALCLASS | CS_DBLCLKS | CS_SAVEBITS;
|
|
wndClass.lpfnWndProc = (WNDPROC)PROPSHEET_WindowProc;
|
|
wndClass.cbClsExtra = 0;
|
|
wndClass.cbWndExtra = sizeof(PROPSHEET_INFO *);
|
|
wndClass.hCursor = LoadCursorA (0, IDC_ARROWA);
|
|
wndClass.hbrBackground = 0;
|
|
wndClass.lpszClassName = WC_PROPSHEETA;
|
|
|
|
RegisterClassA (&wndClass);
|
|
}
|
|
|
|
|
|
VOID
|
|
PROPSHEET_UnRegister (VOID)
|
|
{
|
|
if (GlobalFindAtomA (WC_PROPSHEETA))
|
|
UnregisterClassA (WC_PROPSHEETA, (HINSTANCE)NULL);
|
|
}
|