X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/6e879de483fcc0349bb3720d1eb8ae74dc6d3803..84a701a4f9f2e6f49bd78ccd9f2ba0370e841da9:/StatusWindowController.h diff --git a/StatusWindowController.h b/StatusWindowController.h index ba70600..ea9faef 100755 --- a/StatusWindowController.h +++ b/StatusWindowController.h @@ -1,27 +1,82 @@ /* * MenuTunes * StatusWindowController - * ... + * Abstraction layer between MainController and StatusWindow * - * Original Author : Kent Sutherland - * Responsibility : Kent Sutherland + * Original Author : Matthew Judy + * Responsibility : Matthew Judy * - * Copyright (c) 2002 The iThink Group. + * Copyright (c) 2003 iThink Software. * All Rights Reserved * */ #import +#import "ITMTRemote.h" +#import "StatusWindow.h" -@class StatusWindow; -@interface StatusWindowController : NSObject -{ - IBOutlet NSTextField *statusField; - IBOutlet StatusWindow *statusWindow; +typedef enum { + StatusWindowRepeatNone = -1, + StatusWindowRepeatGroup, + StatusWindowRepeatTrack +} StatusWindowRepeatMode; + +typedef enum { + StatusWindowNoType = -1, + StatusWindowTrackInfoType, + StatusWindowAlbumArtType, + StatusWindowUpcomingSongsType, + StatusWindowVolumeType, + StatusWindowRatingType, + StatusWindowRepeatType, + StatusWindowShuffleType, + StatusWindowShufflabilityType, + StatusWindowSetupType, + StatusWindowRegistrationType, + StatusWindowNetworkType, + StatusWindowPreferencesType, + StatusWindowDebugType +} StatusWindowType; + +@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)showRegistrationQueryWindow; +- (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