Merge branch 'master' of git://github.com/ksuther/MenuTunes
[MenuTunes.git] / StatusWindowController.h
index 11d7fe8..a3d85d3 100755 (executable)
@@ -1,22 +1,16 @@
 /*
  *     MenuTunes
 /*
  *     MenuTunes
- *  StatusWindowController
- *    Abstraction layer between MainController and StatusWindow
+ *     StatusWindowController.h
  *
  *
- *  Original Author : Matthew Judy <mjudy@ithinksw.com>
- *   Responsibility : Matthew Judy <mjudy@ithinksw.com>
+ *     Abstraction layer between MainController and StatusWindow.
  *
  *
- *  Copyright (c) 2003 iThink Software.
- *  All Rights Reserved
+ *     Copyright (c) 2003 iThink Software
  *
  */
 
  *
  */
 
-
 #import <Cocoa/Cocoa.h>
 #import "ITMTRemote.h"
 #import <Cocoa/Cocoa.h>
 #import "ITMTRemote.h"
-
-
-@class StatusWindow;
+#import "StatusWindow.h"
 
 
 typedef enum {
 
 
 typedef enum {
@@ -25,10 +19,27 @@ typedef enum {
     StatusWindowRepeatTrack
 } StatusWindowRepeatMode;
 
     StatusWindowRepeatTrack
 } StatusWindowRepeatMode;
 
+typedef enum {
+       StatusWindowNoType = -1,
+       StatusWindowTrackInfoType,
+       StatusWindowAlbumArtType,
+       StatusWindowUpcomingSongsType,
+       StatusWindowVolumeType,
+       StatusWindowRatingType,
+       StatusWindowRepeatType,
+       StatusWindowShuffleType,
+       StatusWindowShufflabilityType,
+       StatusWindowSetupType,
+       StatusWindowNetworkType,
+       StatusWindowPreferencesType,
+       StatusWindowDebugType
+} StatusWindowType;
 
 @interface StatusWindowController : NSObject {
     StatusWindow   *_window;
     NSUserDefaults *df;
 
 @interface StatusWindowController : NSObject {
     StatusWindow   *_window;
     NSUserDefaults *df;
+       NSRange _timeRange;
+       StatusWindowType _currentType;
 }
 
 + (StatusWindowController *)sharedController;
 }
 
 + (StatusWindowController *)sharedController;
@@ -39,17 +50,27 @@ typedef enum {
 - (void)showRatingWindowWithRating:(float)rating;
 - (void)showShuffleWindow:(BOOL)shuffle;
 - (void)showRepeatWindowWithMode:(StatusWindowRepeatMode)mode;
 - (void)showRatingWindowWithRating:(float)rating;
 - (void)showShuffleWindow:(BOOL)shuffle;
 - (void)showRepeatWindowWithMode:(StatusWindowRepeatMode)mode;
+- (void)showSongShufflabilityWindow:(BOOL)shufflable;
 - (void)showSetupQueryWindow;
 - (void)showSetupQueryWindow;
-- (void)showRegistrationQueryWindow;
 - (void)showReconnectQueryWindow;
 - (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
 - (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
                                 time:            (NSString *)time  // FLOW: Should probably be NSDate or something.
                                track:            (NSString *)track
-                              rating:                   (int)rating;
+                              rating:                   (int)rating
+                           playCount:                   (int)playCount
+                               image:             (NSImage *)art;
 
 
+- (StatusWindowType)currentStatusWindowType;
+- (void)updateTime:(NSString *)time;
 
 @end
 
 @end