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 StatusWindowUpcomingSongsType,
30 StatusWindowVolumeType,
31 StatusWindowRatingType,
32 StatusWindowRepeatType,
33 StatusWindowShuffleType,
34 StatusWindowShufflabilityType,
35 StatusWindowSetupType,
36 StatusWindowRegistrationType,
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)showRegistrationQueryWindow;
60 - (void)showReconnectQueryWindow;
61 - (void)showNetworkErrorQueryWindow;
62 - (void)showPreferencesUpdateWindow;
63 - (void)showDebugModeEnabledWindow;
65 - (void)showSongInfoWindowWithSource:(ITMTRemotePlayerSource)source
66 title: (NSString *)title
67 album: (NSString *)album
68 artist: (NSString *)artist
69 composer: (NSString *)composer
70 time: (NSString *)time // FLOW: Should probably be NSDate or something.
71 track: (NSString *)track
73 playCount: (int)playCount
74 image: (NSImage *)art;
76 - (StatusWindowType)currentStatusWindowType;
77 - (void)updateTime:(NSString *)time;