3 * StatusWindowController
4 * Abstraction layer between MainController and StatusWindow
6 * Original Author : Matthew Judy <mjudy@ithinksw.com>
7 * Responsibility : Matthew Judy <mjudy@ithinksw.com>
9 * Copyright (c) 2003 iThink Software.
15 #import <Cocoa/Cocoa.h>
16 #import "ITMTRemote.h"
17 #import "StatusWindow.h"
21 StatusWindowRepeatNone = -1,
22 StatusWindowRepeatGroup,
23 StatusWindowRepeatTrack
24 } StatusWindowRepeatMode;
27 StatusWindowNoType = -1,
28 StatusWindowTrackInfoType,
29 StatusWindowAlbumArtType,
30 StatusWindowUpcomingSongsType,
31 StatusWindowVolumeType,
32 StatusWindowRatingType,
33 StatusWindowRepeatType,
34 StatusWindowShuffleType,
35 StatusWindowShufflabilityType,
36 StatusWindowSetupType,
37 StatusWindowNetworkType,
38 StatusWindowPreferencesType,
42 @interface StatusWindowController : NSObject {
43 StatusWindow *_window;
46 StatusWindowType _currentType;
49 + (StatusWindowController *)sharedController;
51 - (void)showUpcomingSongsWindowWithTitles:(NSArray *)titleStrings;
53 - (void)showVolumeWindowWithLevel:(float)level;
54 - (void)showRatingWindowWithRating:(float)rating;
55 - (void)showShuffleWindow:(BOOL)shuffle;
56 - (void)showRepeatWindowWithMode:(StatusWindowRepeatMode)mode;
57 - (void)showSongShufflabilityWindow:(BOOL)shufflable;
58 - (void)showSetupQueryWindow;
59 - (void)showReconnectQueryWindow;
60 - (void)showNetworkErrorQueryWindow;
61 - (void)showPreferencesUpdateWindow;
62 - (void)showDebugModeEnabledWindow;
64 - (void)showAlbumArtWindowWithImage:(NSImage *)image;
65 - (void)showAlbumArtWindowWithErrorText:(NSString *)string;
66 - (void)showSongInfoWindowWithSource:(ITMTRemotePlayerSource)source
67 title: (NSString *)title
68 album: (NSString *)album
69 artist: (NSString *)artist
70 composer: (NSString *)composer
71 time: (NSString *)time // FLOW: Should probably be NSDate or something.
72 track: (NSString *)track
74 playCount: (int)playCount
75 image: (NSImage *)art;
77 - (StatusWindowType)currentStatusWindowType;
78 - (void)updateTime:(NSString *)time;