X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/6e879de483fcc0349bb3720d1eb8ae74dc6d3803..HEAD:/StatusWindowController.h diff --git a/StatusWindowController.h b/StatusWindowController.h index ba70600..a3d85d3 100755 --- a/StatusWindowController.h +++ b/StatusWindowController.h @@ -1,27 +1,76 @@ /* * MenuTunes - * StatusWindowController - * ... + * StatusWindowController.h * - * Original Author : Kent Sutherland - * Responsibility : Kent Sutherland + * Abstraction layer between MainController and StatusWindow. * - * Copyright (c) 2002 The iThink Group. - * All Rights Reserved + * Copyright (c) 2003 iThink Software * */ - #import +#import "ITMTRemote.h" +#import "StatusWindow.h" + + +typedef enum { + StatusWindowRepeatNone = -1, + StatusWindowRepeatGroup, + StatusWindowRepeatTrack +} StatusWindowRepeatMode; -@class StatusWindow; +typedef enum { + StatusWindowNoType = -1, + StatusWindowTrackInfoType, + StatusWindowAlbumArtType, + StatusWindowUpcomingSongsType, + StatusWindowVolumeType, + StatusWindowRatingType, + StatusWindowRepeatType, + StatusWindowShuffleType, + StatusWindowShufflabilityType, + StatusWindowSetupType, + StatusWindowNetworkType, + StatusWindowPreferencesType, + StatusWindowDebugType +} StatusWindowType; -@interface StatusWindowController : NSObject -{ - IBOutlet NSTextField *statusField; - IBOutlet StatusWindow *statusWindow; +@interface StatusWindowController : NSObject { + StatusWindow *_window; + NSUserDefaults *df; + NSRange _timeRange; + StatusWindowType _currentType; } -- (void)setUpcomingSongs:(NSString *)string numSongs:(int)songs; -- (void)setTrackInfo:(NSString *)string lines:(int)lines; -- (void)fadeWindowOut; + ++ (StatusWindowController *)sharedController; + +- (void)showUpcomingSongsWindowWithTitles:(NSArray *)titleStrings; + +- (void)showVolumeWindowWithLevel:(float)level; +- (void)showRatingWindowWithRating:(float)rating; +- (void)showShuffleWindow:(BOOL)shuffle; +- (void)showRepeatWindowWithMode:(StatusWindowRepeatMode)mode; +- (void)showSongShufflabilityWindow:(BOOL)shufflable; +- (void)showSetupQueryWindow; +- (void)showReconnectQueryWindow; +- (void)showNetworkErrorQueryWindow; +- (void)showPreferencesUpdateWindow; +- (void)showDebugModeEnabledWindow; + +- (void)showAlbumArtWindowWithImage:(NSImage *)image; +- (void)showAlbumArtWindowWithErrorText:(NSString *)string; +- (void)showSongInfoWindowWithSource:(ITMTRemotePlayerSource)source + title: (NSString *)title + album: (NSString *)album + artist: (NSString *)artist + composer: (NSString *)composer + time: (NSString *)time // FLOW: Should probably be NSDate or something. + track: (NSString *)track + rating: (int)rating + playCount: (int)playCount + image: (NSImage *)art; + +- (StatusWindowType)currentStatusWindowType; +- (void)updateTime:(NSString *)time; + @end