From 7cd79252cc4ede9035cf21ce21dd3044fd5ec8a1 Mon Sep 17 00:00:00 2001 From: Joseph Spiros Date: Wed, 30 Apr 2003 11:22:27 +0000 Subject: [PATCH] Adding new MenuController class. Nowhere near being finished... It's not even integrated into the main controller yet. Just committing it into CVS so that everyone else can see what I'm up to :) --- MenuController.h | 49 ++++++++++++++++++++++++++++++ MenuController.m | 77 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100755 MenuController.h create mode 100755 MenuController.m diff --git a/MenuController.h b/MenuController.h new file mode 100755 index 0000000..8a5091f --- /dev/null +++ b/MenuController.h @@ -0,0 +1,49 @@ +// +// MenuController.h +// MenuTunes +// +// Created by Joseph Spiros on Wed Apr 30 2003. +// Copyright (c) 2003 iThink Software. All rights reserved. +// + +#import + +// Internal: To be used with NSMenuItems as their tag, for use with the NSMenuValidation stuff. +// Also will be used in supplying the controller with the layout to use for the MenuItems, unless +// we have the controller read the prefs itself. +typedef enum { + MTMenuSeperator = -1, + MTMenuTrackInfoHeader, + MTMenuTrackInfoTitle, + MTMenuTrackInfoAlbum, + MTMenuTrackInfoArtist, + MTMenuTrackInfoTrackTime, + MTMenuTrackInfoTrackNumber, + MTMenuTrackInfoRating, + MTMenuRatingMenu, + MTMenuPlaylistMenu, + MTMenuEqualizerMenu, + MTMenuUpcomingSongsMenu, + // MTMenuBrowseMenu, + // MTMenuVolumeMenu, + // MTMenuSourceMenu, + MTMenuPlayPauseItem, + MTMenuFastForwardItem, + MTMenuRewindItem, + MTMenuPreviousTrackItem, + MTMenuNextTrackItem, + MTMenuPreferencesItem, + MTMenuQuitItem +} MTMenuItemTag; + +@interface MenuController : NSObject +{ + NSMutableArray *_menuLayout; +} + +- (NSMenu *)menu; + +// - (NSArray *)menuLayout; +// - (void)setMenuLayout:(NSArray *)newLayoutArray; + +@end diff --git a/MenuController.m b/MenuController.m new file mode 100755 index 0000000..86d74c9 --- /dev/null +++ b/MenuController.m @@ -0,0 +1,77 @@ +// +// MenuController.m +// MenuTunes +// +// Created by Joseph Spiros on Wed Apr 30 2003. +// Copyright (c) 2003 iThink Software. All rights reserved. +// + +#import "MenuController.h" + + +@implementation MenuController + +- (NSMenu *)menu +{ + // dynamically create menu from supplied data and layout information. + // ... + // right before returning the menu, set the created menu to instance variable _currentMenu. +} + +- (void)performMainMenuAction:(id)sender +{ + switch ( [sender tag] ) + { + case MTMenuPlayPauseItem: + NSLog(@"MenuController: Play/Pause"); + break; + case MTMenuFastForwardItem: + NSLog(@"MenuController: Fast Forward"); + break; + case MTMenuRewindItem: + NSLog(@"MenuController: Rewind"); + break; + case MTMenuPreviousTrackItem: + NSLog(@"MenuController: Previous Track"); + break; + case MTMenuNextTrackItem: + NSLog(@"MenuController: Next Track"); + break; + case MTMenuPreferencesItem: + NSLog(@"MenuController: Preferences..."); + break; + case MTMenuQuitItem: + NSLog(@"MenuController: Quit"); + break; + default: + NSLog(@"MenuController: Unimplemented Menu Item OR Child-bearing Menu Item"); + break; + } +} + +- (void)performRatingMenuAction +{ +} + +- (void)performPlaylistMenuAction +{ +} + +- (void)performEqualizerMenuAction +{ +} + +- (void)performUpcomingSongsMenuAction +{ +} + +- (void)updateMenu +{ + [_currentMenu update]; +} + +- (BOOL)validateMenuItem:(id )menuItem +{ +} + +@end -- 2.20.1