X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/93f1f93114865d18b5870f04763c921ff33b8e59..34a2a6ce5cce484c5b8dcd413efa1181130fbab0:/StatusWindowController.h diff --git a/StatusWindowController.h b/StatusWindowController.h index ccf3d8a..ea9faef 100755 --- a/StatusWindowController.h +++ b/StatusWindowController.h @@ -1,15 +1,82 @@ -/* StatusWindowController */ +/* + * MenuTunes + * StatusWindowController + * Abstraction layer between MainController and StatusWindow + * + * Original Author : Matthew Judy + * Responsibility : Matthew Judy + * + * Copyright (c) 2003 iThink Software. + * All Rights Reserved + * + */ + #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, + StatusWindowRegistrationType, + 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)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