From cf8b09d3d2b2926f3bd397a3a4fa77a760713b94 Mon Sep 17 00:00:00 2001 From: markgrebe Date: Wed, 29 Mar 2006 04:45:10 +0000 Subject: [PATCH] First attempt at menu enabling/disabling, still need to check that I have the settings correct. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1071 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- stella/src/macosx/Menus.h | 7 +- stella/src/macosx/Menus.m | 178 +++++++++++++++++++++++++++- stella/src/macosx/OSystemMACOSX.cxx | 17 ++- 3 files changed, 194 insertions(+), 8 deletions(-) diff --git a/stella/src/macosx/Menus.h b/stella/src/macosx/Menus.h index de1460228..0a460a871 100755 --- a/stella/src/macosx/Menus.h +++ b/stella/src/macosx/Menus.h @@ -4,7 +4,7 @@ Mark Grebe */ -/* $Id: Menus.h,v 1.8 2006-03-29 04:02:47 markgrebe Exp $ */ +/* $Id: Menus.h,v 1.9 2006-03-29 04:45:10 markgrebe Exp $ */ #import @@ -62,5 +62,10 @@ - (IBAction)volumeMinus:(id)sender; - (IBAction)saveProps:(id)sender; - (IBAction)mergeProps:(id)sender; +- (void)setEmulationMenus; +- (void)setLauncherMenus; +- (void)setOptionsMenus; +- (void)setCommandMenus; +- (void)setDebuggerMenus; @end diff --git a/stella/src/macosx/Menus.m b/stella/src/macosx/Menus.m index 7e3269b86..6905e6ca3 100755 --- a/stella/src/macosx/Menus.m +++ b/stella/src/macosx/Menus.m @@ -4,7 +4,7 @@ Mark Grebe */ -/* $Id: Menus.m,v 1.11 2006-01-29 23:06:10 markgrebe Exp $ */ +/* $Id: Menus.m,v 1.12 2006-03-29 04:45:10 markgrebe Exp $ */ #import #import "SDL.h" @@ -70,6 +70,32 @@ void handleMacOSXKeypress(int key) { } } +void setEmulationMenus(void) +{ + [[Menus sharedInstance] setEmulationMenus]; +} + +void setLauncherMenus(void) +{ + [[Menus sharedInstance] setLauncherMenus]; +} + +void setOptionsMenus(void) +{ + [[Menus sharedInstance] setOptionsMenus]; +} + +void setCommandMenus(void) +{ + [[Menus sharedInstance] setCommandMenus]; +} + +void setDebuggerMenus(void) +{ + [[Menus sharedInstance] setDebuggerMenus]; +} + + @implementation Menus static Menus *sharedInstance = nil; @@ -230,4 +256,154 @@ static Menus *sharedInstance = nil; [self pushKeyEvent:SDLK_s:YES:YES]; } +- (void)setEmulationMenus +{ + [preferencesMenuItem setTarget:self]; + [openMenuItem setTarget:self]; + [restartMenuItem setTarget:self]; + [savePropsMenuItem setTarget:self]; + [mergePropsMenuItem setTarget:self]; + [screenBiggerMenuItem setTarget:self]; + [screenSmallerMenuItem setTarget:self]; + [fullScreenMenuItem setTarget:self]; + [pauseMenuItem setTarget:self]; + [togglePalletteMenuItem setTarget:self]; + [ntscPalMenuItem setTarget:self]; + [increaseXStartMenuItem setTarget:self]; + [decreaseXStartMenuItem setTarget:self]; + [increaseYStartMenuItem setTarget:self]; + [decreaseYStartMenuItem setTarget:self]; + [increaseWidthMenuItem setTarget:self]; + [decreaseWidthMenuItem setTarget:self]; + [increaseHeightMenuItem setTarget:self]; + [decreaseHeightMenuItem setTarget:self]; + [mousePaddle0MenuItem setTarget:self]; + [mousePaddle1MenuItem setTarget:self]; + [mousePaddle2MenuItem setTarget:self]; + [mousePaddle3MenuItem setTarget:self]; + [grabMouseMenuItem setTarget:self]; + [increaseVolumeMenuItem setTarget:self]; + [decreaseVolumeMenuItem setTarget:self]; +} + +- (void)setLauncherMenus +{ + [preferencesMenuItem setTarget:nil]; + [openMenuItem setTarget:nil]; + [restartMenuItem setTarget:nil]; + [savePropsMenuItem setTarget:nil]; + [mergePropsMenuItem setTarget:nil]; + [screenBiggerMenuItem setTarget:self]; + [screenSmallerMenuItem setTarget:self]; + [fullScreenMenuItem setTarget:self]; + [pauseMenuItem setTarget:nil]; + [togglePalletteMenuItem setTarget:nil]; + [ntscPalMenuItem setTarget:nil]; + [increaseXStartMenuItem setTarget:nil]; + [decreaseXStartMenuItem setTarget:nil]; + [increaseYStartMenuItem setTarget:nil]; + [decreaseYStartMenuItem setTarget:nil]; + [increaseWidthMenuItem setTarget:nil]; + [decreaseWidthMenuItem setTarget:nil]; + [increaseHeightMenuItem setTarget:nil]; + [decreaseHeightMenuItem setTarget:nil]; + [mousePaddle0MenuItem setTarget:nil]; + [mousePaddle1MenuItem setTarget:nil]; + [mousePaddle2MenuItem setTarget:nil]; + [mousePaddle3MenuItem setTarget:nil]; + [grabMouseMenuItem setTarget:nil]; + [increaseVolumeMenuItem setTarget:nil]; + [decreaseVolumeMenuItem setTarget:nil]; +} + +- (void)setOptionsMenus +{ + [preferencesMenuItem setTarget:nil]; + [openMenuItem setTarget:nil]; + [restartMenuItem setTarget:nil]; + [savePropsMenuItem setTarget:nil]; + [mergePropsMenuItem setTarget:nil]; + [screenBiggerMenuItem setTarget:self]; + [screenSmallerMenuItem setTarget:self]; + [fullScreenMenuItem setTarget:self]; + [pauseMenuItem setTarget:nil]; + [togglePalletteMenuItem setTarget:nil]; + [ntscPalMenuItem setTarget:nil]; + [increaseXStartMenuItem setTarget:nil]; + [decreaseXStartMenuItem setTarget:nil]; + [increaseYStartMenuItem setTarget:nil]; + [decreaseYStartMenuItem setTarget:nil]; + [increaseWidthMenuItem setTarget:nil]; + [decreaseWidthMenuItem setTarget:nil]; + [increaseHeightMenuItem setTarget:nil]; + [decreaseHeightMenuItem setTarget:nil]; + [mousePaddle0MenuItem setTarget:nil]; + [mousePaddle1MenuItem setTarget:nil]; + [mousePaddle2MenuItem setTarget:nil]; + [mousePaddle3MenuItem setTarget:nil]; + [grabMouseMenuItem setTarget:nil]; + [increaseVolumeMenuItem setTarget:nil]; + [decreaseVolumeMenuItem setTarget:nil]; +} + +- (void)setCommandMenus +{ + [preferencesMenuItem setTarget:nil]; + [openMenuItem setTarget:nil]; + [restartMenuItem setTarget:nil]; + [savePropsMenuItem setTarget:nil]; + [mergePropsMenuItem setTarget:nil]; + [screenBiggerMenuItem setTarget:self]; + [screenSmallerMenuItem setTarget:self]; + [fullScreenMenuItem setTarget:self]; + [pauseMenuItem setTarget:nil]; + [togglePalletteMenuItem setTarget:nil]; + [ntscPalMenuItem setTarget:nil]; + [increaseXStartMenuItem setTarget:nil]; + [decreaseXStartMenuItem setTarget:nil]; + [increaseYStartMenuItem setTarget:nil]; + [decreaseYStartMenuItem setTarget:nil]; + [increaseWidthMenuItem setTarget:nil]; + [decreaseWidthMenuItem setTarget:nil]; + [increaseHeightMenuItem setTarget:nil]; + [decreaseHeightMenuItem setTarget:nil]; + [mousePaddle0MenuItem setTarget:nil]; + [mousePaddle1MenuItem setTarget:nil]; + [mousePaddle2MenuItem setTarget:nil]; + [mousePaddle3MenuItem setTarget:nil]; + [grabMouseMenuItem setTarget:nil]; + [increaseVolumeMenuItem setTarget:nil]; + [decreaseVolumeMenuItem setTarget:nil]; +} + +- (void)setDebuggerMenus +{ + [preferencesMenuItem setTarget:nil]; + [openMenuItem setTarget:nil]; + [restartMenuItem setTarget:nil]; + [savePropsMenuItem setTarget:nil]; + [mergePropsMenuItem setTarget:nil]; + [screenBiggerMenuItem setTarget:self]; + [screenSmallerMenuItem setTarget:self]; + [fullScreenMenuItem setTarget:self]; + [pauseMenuItem setTarget:nil]; + [togglePalletteMenuItem setTarget:nil]; + [ntscPalMenuItem setTarget:nil]; + [increaseXStartMenuItem setTarget:nil]; + [decreaseXStartMenuItem setTarget:nil]; + [increaseYStartMenuItem setTarget:nil]; + [decreaseYStartMenuItem setTarget:nil]; + [increaseWidthMenuItem setTarget:nil]; + [decreaseWidthMenuItem setTarget:nil]; + [increaseHeightMenuItem setTarget:nil]; + [decreaseHeightMenuItem setTarget:nil]; + [mousePaddle0MenuItem setTarget:nil]; + [mousePaddle1MenuItem setTarget:nil]; + [mousePaddle2MenuItem setTarget:nil]; + [mousePaddle3MenuItem setTarget:nil]; + [grabMouseMenuItem setTarget:nil]; + [increaseVolumeMenuItem setTarget:nil]; + [decreaseVolumeMenuItem setTarget:nil]; +} + @end diff --git a/stella/src/macosx/OSystemMACOSX.cxx b/stella/src/macosx/OSystemMACOSX.cxx index 093680a04..20228074a 100644 --- a/stella/src/macosx/OSystemMACOSX.cxx +++ b/stella/src/macosx/OSystemMACOSX.cxx @@ -13,7 +13,7 @@ // See the file "license" for information on usage and redistribution of // this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// $Id: OSystemMACOSX.cxx,v 1.9 2006-03-27 16:00:37 stephena Exp $ +// $Id: OSystemMACOSX.cxx,v 1.10 2006-03-29 04:45:10 markgrebe Exp $ //============================================================================ #include @@ -39,6 +39,11 @@ extern "C" { void macOpenConsole(char *romname); uInt16 macOSXDisplayWidth(void); uInt16 macOSXDisplayHeight(void); + void setEmulationMenus(void); + void setLauncherMenus(void); + void setOptionsMenus(void); + void setCommandMenus(void); + void setDebuggerMenus(void); } // Pointer to the main parent osystem object or the null pointer @@ -182,23 +187,23 @@ void OSystemMACOSX::stateChanged(EventHandler::State state) switch(state) { case EventHandler::S_EMULATE: - cerr << "emulation mode\n"; + setEmulationMenus(); break; case EventHandler::S_LAUNCHER: - cerr << "launcher mode\n"; + setLauncherMenus(); break; case EventHandler::S_MENU: - cerr << "options menu mode\n"; + setOptionsMenus(); break; case EventHandler::S_CMDMENU: - cerr << "command menu mode\n"; + setCommandMenus(); break; case EventHandler::S_DEBUGGER: - cerr << "debugger mode\n"; + setDebuggerMenus(); break; default: