scummvm/backends/PalmOS/Src/forms/formMisc.cpp
Chris Apers 14c2ae7e36 One form in one source file
svn-id: r11095
2003-11-03 16:01:14 +00:00

115 lines
No EOL
3.3 KiB
C++

#include <PalmOS.h>
#include "start.h"
#include "forms.h"
/***********************************************************************
*
* FUNCTION: MiscOptionsFormSave
* FUNCTION: MiscOptionsFormInit
* FUNCTION: MiscOptionsFormHandleEvent
*
* DESCRIPTION: Misc. Options form functions
*
* REVISION HISTORY:
*
*
***********************************************************************/
static void MiscOptionsFormSave() {
FieldType *fld1P;
ControlType *cck1P, *cck2P, *cck3P, *cck4P, *cck5P, *cck6P, *cck7P, *cck8P;
FormPtr frmP;
fld1P = (FieldType *)GetObjectPtr(MiscOptionsDebugLevelField);
cck1P = (ControlType *)GetObjectPtr(MiscOptionsVibratorCheckbox);
cck2P = (ControlType *)GetObjectPtr(MiscOptionsNoAutoOffCheckbox);
cck3P = (ControlType *)GetObjectPtr(MiscOptionsStdPaletteCheckbox);
cck4P = (ControlType *)GetObjectPtr(MiscOptionsDebugCheckbox);
cck5P = (ControlType *)GetObjectPtr(MiscOptionsWriteIniCheckbox);
cck6P = (ControlType *)GetObjectPtr(MiscOptionsAutoResetCheckbox);
cck7P = (ControlType *)GetObjectPtr(MiscOptionsDemoCheckbox);
cck8P = (ControlType *)GetObjectPtr(MiscOptionsFullscreenCheckbox);
frmP = FrmGetActiveForm();
if (FldGetTextLength(fld1P) == 0 && CtlGetValue(cck4P) == 1) {
FrmCustomAlert(FrmWarnAlert,"You must specified a debug level.",0,0);
FrmSetFocus(frmP, FrmGetObjectIndex(frmP, MiscOptionsDebugLevelField));
return;
}
gPrefs->vibrator = CtlGetValue(cck1P);
gPrefs->autoOff = !CtlGetValue(cck2P);
gPrefs->stdPalette = CtlGetValue(cck3P);
gPrefs->debug = CtlGetValue(cck4P);
gPrefs->saveConfig = CtlGetValue(cck5P);
gPrefs->autoReset = CtlGetValue(cck6P);
gPrefs->demoMode = CtlGetValue(cck7P);
gPrefs->fullscreen = CtlGetValue(cck8P);
gPrefs->debugLevel = StrAToI(FldGetTextPtr(fld1P));
FrmReturnToMain();
}
static void MiscOptionsFormInit() {
FieldType *fld1P;
FormPtr frmP;
Char *levelP;
MemHandle levelH;
CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsVibratorCheckbox), gPrefs->vibrator);
CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsNoAutoOffCheckbox), !gPrefs->autoOff);
CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsStdPaletteCheckbox), gPrefs->stdPalette);
CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsAutoResetCheckbox), gPrefs->autoReset);
CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsDebugCheckbox), gPrefs->debug);
CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsWriteIniCheckbox), gPrefs->saveConfig);
CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsDemoCheckbox), gPrefs->demoMode);
CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsFullscreenCheckbox), gPrefs->fullscreen);
fld1P = (FieldType *)GetObjectPtr(MiscOptionsDebugLevelField);
levelH = MemHandleNew(FldGetMaxChars(fld1P)+1);
levelP = (Char *)MemHandleLock(levelH);
StrIToA(levelP, gPrefs->debugLevel);
MemHandleUnlock(levelH);
FldSetTextHandle(fld1P, levelH);
frmP = FrmGetActiveForm();
FrmDrawForm(frmP);
}
Boolean MiscOptionsFormHandleEvent(EventPtr eventP) {
Boolean handled = false;
switch (eventP->eType) {
case frmOpenEvent:
MiscOptionsFormInit();
handled = true;
break;
case ctlSelectEvent:
switch (eventP->data.ctlSelect.controlID)
{
case MiscOptionsOKButton:
MiscOptionsFormSave();
break;
case MiscOptionsCancelButton:
FrmReturnToMain();
break;
}
handled = true;
break;
default:
break;
}
return handled;
}