diff options
| author | Chris Apers | 2004-05-25 13:56:53 +0000 | 
|---|---|---|
| committer | Chris Apers | 2004-05-25 13:56:53 +0000 | 
| commit | d066a075980c4d9ee0b5544487f4b8e3f7a5ef14 (patch) | |
| tree | d688fe7bfcf58331495d7381deb443d1bbf5683d /backends | |
| parent | c6b29924652d261ac3fb1c8c7200c576ec219d3c (diff) | |
| download | scummvm-rg350-d066a075980c4d9ee0b5544487f4b8e3f7a5ef14.tar.gz scummvm-rg350-d066a075980c4d9ee0b5544487f4b8e3f7a5ef14.tar.bz2 scummvm-rg350-d066a075980c4d9ee0b5544487f4b8e3f7a5ef14.zip  | |
Use the new tabs manager
svn-id: r13875
Diffstat (limited to 'backends')
| -rw-r--r-- | backends/PalmOS/Src/forms/formMisc.cpp | 231 | 
1 files changed, 88 insertions, 143 deletions
diff --git a/backends/PalmOS/Src/forms/formMisc.cpp b/backends/PalmOS/Src/forms/formMisc.cpp index 1d684e53ee..0e0c9721e6 100644 --- a/backends/PalmOS/Src/forms/formMisc.cpp +++ b/backends/PalmOS/Src/forms/formMisc.cpp @@ -1,6 +1,7 @@  #include <PalmOS.h>  #include "start.h" +#include "formTabs.h"  #include "forms.h"  /*********************************************************************** @@ -16,11 +17,8 @@   *   ***********************************************************************/  static Boolean stackChanged = false; -static UInt8 tabNum; - -#define TAB_START	MiscOptionsTabPalmPushButton -#define TAB_COUNT	2 - +static TabType *myTabP; +static UInt16 lastTab = 0;  static UInt32 StackSize(UInt32 newSize) {  	MemHandle pref = DmGetResource('pref',0); @@ -44,139 +42,73 @@ static UInt32 StackSize(UInt32 newSize) {  	return size;  } -static void MiscOptionsFormSave() { - +static Boolean ScummVMTabSave() {  	FieldType *fld1P; -	ControlType *cck1P, *cck2P, *cck3P, *cck4P, *cck5P, *cck6P, *cck7P, *cck8P, *cck9P, *cck10P;	 +	ControlType *cckP[11];  	FormPtr frmP; -	fld1P = (FieldType *)GetObjectPtr(MiscOptionsDebugLevelField); +	fld1P = (FieldType *)GetObjectPtr(TabScummVMDebugLevelField); -	cck1P = (ControlType *)GetObjectPtr(MiscOptionsVibratorCheckbox); -	cck2P = (ControlType *)GetObjectPtr(MiscOptionsNoAutoOffCheckbox); -	cck3P = (ControlType *)GetObjectPtr(MiscOptionsStdPaletteCheckbox); -	cck4P = (ControlType *)GetObjectPtr(MiscOptionsDebugCheckbox); -	cck5P = (ControlType *)GetObjectPtr(MiscOptionsLargerStackCheckbox); -	cck6P = (ControlType *)GetObjectPtr(MiscOptionsAutoResetCheckbox); -	cck7P = (ControlType *)GetObjectPtr(MiscOptionsDemoCheckbox); -	cck8P = (ControlType *)GetObjectPtr(MiscOptionsFullscreenCheckbox); -	cck9P = (ControlType *)GetObjectPtr(MiscOptionsAspectRatioCheckbox); -	cck10P= (ControlType *)GetObjectPtr(MiscOptionsCopyProtectionCheckbox); +	cckP[3] = (ControlType *)GetObjectPtr(TabScummVMDebugCheckbox); +	cckP[6] = (ControlType *)GetObjectPtr(TabScummVMDemoCheckbox); +	cckP[7] = (ControlType *)GetObjectPtr(TabScummVMFullscreenCheckbox); +	cckP[8] = (ControlType *)GetObjectPtr(TabScummVMAspectRatioCheckbox); +	cckP[9] = (ControlType *)GetObjectPtr(TabScummVMCopyProtectionCheckbox);  	frmP = FrmGetActiveForm(); - -	if (FldGetTextLength(fld1P) == 0 && CtlGetValue(cck4P) == 1) { +	if (FldGetTextLength(fld1P) == 0 && CtlGetValue(cckP[3]) == 1) { +		TabSetActive(frmP, myTabP, 1); +		FrmSetFocus(frmP, FrmGetObjectIndex(frmP, TabScummVMDebugLevelField));  		FrmCustomAlert(FrmWarnAlert,"You must specified a debug level.",0,0); -		FrmSetFocus(frmP, FrmGetObjectIndex(frmP, MiscOptionsDebugLevelField)); -		return; +		return false;  	} -	gPrefs->vibrator = CtlGetValue(cck1P); -	gPrefs->autoOff = !CtlGetValue(cck2P); -	gPrefs->stdPalette = CtlGetValue(cck3P); -	gPrefs->debug = CtlGetValue(cck4P); -	gPrefs->autoReset = CtlGetValue(cck6P); -	gPrefs->demoMode = CtlGetValue(cck7P); -	gPrefs->fullscreen = CtlGetValue(cck8P); -	gPrefs->aspectRatio = CtlGetValue(cck9P); -	gPrefs->copyProtection = CtlGetValue(cck10P); +	gPrefs->debug = CtlGetValue(cckP[3]); +	gPrefs->demoMode = CtlGetValue(cckP[6]); +	gPrefs->fullscreen = CtlGetValue(cckP[7]); +	gPrefs->aspectRatio = CtlGetValue(cckP[8]); +	gPrefs->copyProtection = CtlGetValue(cckP[9]);  	gPrefs->debugLevel = StrAToI(FldGetTextPtr(fld1P)); - -	// Larger stack is a global data init at start up -	StackSize(CtlGetValue(cck5P) ? STACK_LARGER : STACK_DEFAULT); -	if (stackChanged) -		FrmCustomAlert(FrmInfoAlert,"You need to restart ScummVM in order for changes to take effect.",0,0); -	FrmReturnToMain(); +	return true;  } -static void FrmSetTabSize(const FormPtr frmP, UInt16 objID, Coord newY, Coord newH) { -	RectangleType r; -	UInt16 index; -	 -	index = FrmGetObjectIndex (frmP, objID); -	FrmGetObjectBounds(frmP, index, &r); -	r.topLeft.y	= newY; -	r.extent.y	= newH; -	FrmSetObjectBounds(frmP, index, &r); -} - -static Boolean FrmSelectTab(const FormPtr frmP, UInt16 objID) { -	FrmSetControlValue(frmP, FrmGetObjectIndex(frmP, objID), 0); - -	if (tabNum != (objID - TAB_START)) { -		UInt8 color; -		 -		FrmSetTabSize(frmP, (TAB_START + tabNum), 18, 10); -		FrmSetTabSize(frmP, objID, 16, 12); - -		tabNum = objID - TAB_START; -		WinScreenLock(winLockDontCare); -		FrmDrawForm(frmP); -		color = UIColorGetTableEntryIndex(UIObjectFrame); -		WinSetForeColor(color); -		WinDrawLine(1, 28, 154,28); -		WinScreenUnlock(); - -		return true; -	} -		 -	return false; -} - -static void FrmShowHide(const FormPtr frmP, UInt16 idStart, UInt16 idEnd, Boolean show) { -	UInt16 item, index; -	Coord y = 35; -	 -	for (item = idStart; item <= idEnd;	item++) { -		index = FrmGetObjectIndex (frmP, item); -		FrmSetObjectPosition(frmP, index, 4, y); -		y += 12; - -		if (show) -			FrmShowObject(frmP, index); -		else -			FrmHideObject(frmP, index); -	} -} +static void PalmOSTabSave() { +	ControlType *cckP[11]; -static void MiscOptionsShowPalmOS(const FormPtr frmP, Boolean show) { -	FrmShowHide(frmP, MiscOptionsTabTitlePalmLabel, MiscOptionsLargerStackCheckbox, show); -} +	cckP[0] = (ControlType *)GetObjectPtr(TabPalmOSVibratorCheckbox); +	cckP[1] = (ControlType *)GetObjectPtr(TabPalmOSNoAutoOffCheckbox); +	cckP[2] = (ControlType *)GetObjectPtr(TabPalmOSStdPaletteCheckbox); +	cckP[4] = (ControlType *)GetObjectPtr(TabPalmOSLargerStackCheckbox); +	cckP[5] = (ControlType *)GetObjectPtr(TabPalmOSAutoResetCheckbox); +	cckP[10]= (ControlType *)GetObjectPtr(TabPalmOSARMCheckbox); -static void MiscOptionsShowScummVM(const FormPtr frmP, Boolean show) { -	FrmShowHide(frmP, MiscOptionsTabTitleScummLabel, MiscOptionsCopyProtectionCheckbox, show); +	gPrefs->vibrator = CtlGetValue(cckP[0]); +	gPrefs->autoOff = !CtlGetValue(cckP[1]); +	gPrefs->stdPalette = CtlGetValue(cckP[2]); +	gPrefs->autoReset = CtlGetValue(cckP[5]); +	gPrefs->arm = CtlGetValue(cckP[10]); -	if (show) -		FrmShowObject(frmP, FrmGetObjectIndex (frmP, MiscOptionsDebugLevelField)); -	else -		FrmHideObject(frmP, FrmGetObjectIndex (frmP, MiscOptionsDebugLevelField)); +	// Larger stack is a global data init at start up +	StackSize(CtlGetValue(cckP[4]) ? STACK_LARGER : STACK_DEFAULT); +	if (stackChanged) +		FrmCustomAlert(FrmInfoAlert,"You need to restart ScummVM in order for changes to take effect.",0,0);  } -static void MiscOptionsFormInit() { - +static void ScummVMTabInit() {  	FieldType *fld1P; -	FormPtr frmP; -	UInt16 item; -	UInt8 color; -  	Char *levelP;  	MemHandle levelH; -	CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsLargerStackCheckbox), (StackSize(STACK_GET) == STACK_LARGER)); - -	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(MiscOptionsDemoCheckbox), gPrefs->demoMode); -	CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsFullscreenCheckbox), gPrefs->fullscreen); -	CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsAspectRatioCheckbox), gPrefs->aspectRatio); -	CtlSetValue((ControlType *)GetObjectPtr(MiscOptionsCopyProtectionCheckbox), gPrefs->copyProtection); -	 -	fld1P = (FieldType *)GetObjectPtr(MiscOptionsDebugLevelField); + +	CtlSetValue((ControlType *)GetObjectPtr(TabScummVMDebugCheckbox), gPrefs->debug); +	CtlSetValue((ControlType *)GetObjectPtr(TabScummVMDemoCheckbox), gPrefs->demoMode); +	CtlSetValue((ControlType *)GetObjectPtr(TabScummVMFullscreenCheckbox), gPrefs->fullscreen); +	CtlSetValue((ControlType *)GetObjectPtr(TabScummVMAspectRatioCheckbox), gPrefs->aspectRatio); +	CtlSetValue((ControlType *)GetObjectPtr(TabScummVMCopyProtectionCheckbox), gPrefs->copyProtection); + +	fld1P = (FieldType *)GetObjectPtr(TabScummVMDebugLevelField);  	levelH = MemHandleNew(FldGetMaxChars(fld1P)+1);  	levelP = (Char *)MemHandleLock(levelH); @@ -184,59 +116,72 @@ static void MiscOptionsFormInit() {  	MemHandleUnlock(levelH);  	FldSetTextHandle(fld1P, levelH); +} -	frmP = FrmGetActiveForm(); -	// set tab size -	for (item = TAB_START; item < (TAB_START + TAB_COUNT); item++) -		FrmSetTabSize(frmP, item, 18, 10); +static void PalmOSTabInit() { +	CtlSetValue((ControlType *)GetObjectPtr(TabPalmOSLargerStackCheckbox), (StackSize(STACK_GET) == STACK_LARGER)); + +	CtlSetValue((ControlType *)GetObjectPtr(TabPalmOSVibratorCheckbox), gPrefs->vibrator); +	CtlSetValue((ControlType *)GetObjectPtr(TabPalmOSNoAutoOffCheckbox), !gPrefs->autoOff); +	CtlSetValue((ControlType *)GetObjectPtr(TabPalmOSStdPaletteCheckbox), gPrefs->stdPalette); +	CtlSetValue((ControlType *)GetObjectPtr(TabPalmOSAutoResetCheckbox), gPrefs->autoReset); +	CtlSetValue((ControlType *)GetObjectPtr(TabPalmOSARMCheckbox), gPrefs->arm); +} + +static void MiscFormSave() { +	PalmOSTabSave(); +	if (!ScummVMTabSave()) return; +	 +	TabDeleteTabs(myTabP); +	FrmReturnToMain(); +} + +static void MiscFormInit() { +	TabType *tabP; +	FormType *frmP = FrmGetActiveForm(); -	tabNum = 0; -	FrmSetTabSize(frmP, (TAB_START + tabNum), 16, 12); -	MiscOptionsShowScummVM(frmP, false); -	MiscOptionsShowPalmOS(frmP, true); -	FrmSetObjectPosition(frmP, FrmGetObjectIndex (frmP, MiscOptionsDebugLevelField), 103, 35 + 12 * 3); +	tabP = TabNewTabs(2); +	TabAddContent(&frmP, tabP, "PalmOS", TabPalmOSForm); +	TabAddContent(&frmP, tabP, "ScummVM", TabScummVMForm); + +	PalmOSTabInit(); +	ScummVMTabInit();  	FrmDrawForm(frmP); +	TabSetActive(frmP, tabP, lastTab); -	color = UIColorGetTableEntryIndex(UIObjectFrame); -	WinSetForeColor(color); -	WinDrawLine(1, 28, 154,28); +	myTabP = tabP;  } -Boolean MiscOptionsFormHandleEvent(EventPtr eventP) { +Boolean MiscFormHandleEvent(EventPtr eventP) {  	FormPtr frmP = FrmGetActiveForm();  	Boolean handled = false;  	switch (eventP->eType) {  		case frmOpenEvent: -			MiscOptionsFormInit(); +			MiscFormInit();  			handled = true;  			break;  		case ctlSelectEvent:  			switch (eventP->data.ctlSelect.controlID)  			{ -				case MiscOptionsTabPalmPushButton: -					if (FrmSelectTab(frmP, MiscOptionsTabPalmPushButton)) -						MiscOptionsShowScummVM(frmP, false); -						MiscOptionsShowPalmOS(frmP, true); +				case (MiscForm + 1) : +				case (MiscForm + 2) : +					lastTab = (eventP->data.ctlSelect.controlID - MiscForm - 1); +					TabSetActive(frmP, myTabP, lastTab);  					break; -				case MiscOptionsTabScummPushButton: -					if (FrmSelectTab(frmP, MiscOptionsTabScummPushButton)) -						MiscOptionsShowPalmOS(frmP, false); -						MiscOptionsShowScummVM(frmP, true); -					break; -				 -				case MiscOptionsLargerStackCheckbox: +				case TabPalmOSLargerStackCheckbox:  					stackChanged = !stackChanged;  					break; -				case MiscOptionsOKButton: -					MiscOptionsFormSave(); +				case MiscOKButton: +					MiscFormSave();  					break; -				case MiscOptionsCancelButton: +				case MiscCancelButton: +					TabDeleteTabs(myTabP);  					FrmReturnToMain();  					break;  			}  | 
