Added notes to the TODO. Matt, please check and modify TODO as required :)
[MenuTunes.git] / MenuController.h
1 //
2 //  MenuController.h
3 //  MenuTunes
4 //
5 //  Created by Joseph Spiros on Wed Apr 30 2003.
6 //  Copyright (c) 2003 iThink Software. All rights reserved.
7 //
8
9 #import <Cocoa/Cocoa.h>
10 #import "ITMTRemote.h"
11
12 // Internal: To be used with NSMenuItems as their tag, for use with the NSMenuValidation stuff.
13 // Also will be used in supplying the controller with the layout to use for the MenuItems, unless
14 // we have the controller read the prefs itself.
15 typedef enum {
16     MTMenuSeperator = -1,
17     MTMenuTrackInfoHeader,
18     MTMenuTrackInfoTitle,
19     MTMenuTrackInfoAlbum,
20     MTMenuTrackInfoArtist,
21     MTMenuTrackInfoTrackTime,
22     MTMenuTrackInfoTrackNumber,
23     MTMenuTrackInfoRating,
24     MTMenuRatingMenu,
25     MTMenuPlaylistMenu,
26     MTMenuEqualizerMenu,
27     MTMenuUpcomingSongsMenu,
28     // MTMenuBrowseMenu,
29     // MTMenuVolumeMenu,
30     // MTMenuSourceMenu,
31     MTMenuPlayPauseItem,
32     MTMenuFastForwardItem,
33     MTMenuRewindItem,
34     MTMenuPreviousTrackItem,
35     MTMenuNextTrackItem,
36     MTMenuShowPlayerItem,
37     MTMenuPreferencesItem,
38     MTMenuQuitItem
39 } MTMenuItemTag;
40
41 @interface MenuController : NSObject
42 {
43     NSMutableArray *_menuLayout;
44     NSMenu *_currentMenu;
45     NSMenu *_ratingMenu, *_upcomingSongsMenu, *_eqMenu, *_playlistsMenu; //Submenus
46     
47     ITMTRemote *currentRemote;
48     int _currentPlaylist, _currentTrack;
49     BOOL _playingRadio;
50 }
51
52 - (NSMenu *)menu;
53 - (NSMenu *)menuForNoPlayer;
54 - (void)rebuildSubmenus;
55
56 // - (NSArray *)menuLayout;
57 // - (void)setMenuLayout:(NSArray *)newLayoutArray;
58
59 @end