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