3 * StatusWindowController.h
5 * Abstraction layer between MainController and StatusWindow.
7 * Copyright (c) 2003 iThink Software
11 #import <Cocoa/Cocoa.h>
12 #import "ITMTRemote.h"
13 #import "StatusWindow.h"
17 StatusWindowRepeatNone = -1,
18 StatusWindowRepeatGroup,
19 StatusWindowRepeatTrack
20 } StatusWindowRepeatMode;
23 StatusWindowNoType = -1,
24 StatusWindowTrackInfoType,
25 StatusWindowAlbumArtType,
26 StatusWindowUpcomingSongsType,
27 StatusWindowVolumeType,
28 StatusWindowRatingType,
29 StatusWindowRepeatType,
30 StatusWindowShuffleType,
31 StatusWindowShufflabilityType,
32 StatusWindowSetupType,
33 StatusWindowNetworkType,
34 StatusWindowPreferencesType,
38 @interface StatusWindowController : NSObject {
39 StatusWindow *_window;
42 StatusWindowType _currentType;
45 + (StatusWindowController *)sharedController;
47 - (void)showUpcomingSongsWindowWithTitles:(NSArray *)titleStrings;
49 - (void)showVolumeWindowWithLevel:(float)level;
50 - (void)showRatingWindowWithRating:(float)rating;
51 - (void)showShuffleWindow:(BOOL)shuffle;
52 - (void)showRepeatWindowWithMode:(StatusWindowRepeatMode)mode;
53 - (void)showSongShufflabilityWindow:(BOOL)shufflable;
54 - (void)showSetupQueryWindow;
55 - (void)showReconnectQueryWindow;
56 - (void)showNetworkErrorQueryWindow;
57 - (void)showPreferencesUpdateWindow;
58 - (void)showDebugModeEnabledWindow;
60 - (void)showAlbumArtWindowWithImage:(NSImage *)image;
61 - (void)showAlbumArtWindowWithErrorText:(NSString *)string;
62 - (void)showSongInfoWindowWithSource:(ITMTRemotePlayerSource)source
63 title: (NSString *)title
64 album: (NSString *)album
65 artist: (NSString *)artist
66 composer: (NSString *)composer
67 time: (NSString *)time // FLOW: Should probably be NSDate or something.
68 track: (NSString *)track
70 playCount: (int)playCount
71 image: (NSImage *)art;
73 - (StatusWindowType)currentStatusWindowType;
74 - (void)updateTime:(NSString *)time;