1 /* 2 * Copyright 2007, Haiku. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Stephan Aßmus <superstippi@gmx.de> 7 * Fredrik Modéen <fredrik@modeen.se> 8 */ 9 10 #ifndef PLAYLIST_WINDOW_H 11 #define PLAYLIST_WINDOW_H 12 13 14 #include <Window.h> 15 16 #include "ListenerAdapter.h" 17 18 class BMenuBar; 19 class BMenuItem; 20 class CommandStack; 21 class Controller; 22 class Notifier; 23 class Playlist; 24 class PlaylistListView; 25 class RWLocker; 26 class BButton; 27 class BFilePanel; 28 29 class PlaylistWindow : public BWindow { 30 public: 31 PlaylistWindow(BRect frame, 32 Playlist* playlist, 33 Controller* controller); 34 virtual ~PlaylistWindow(); 35 36 virtual bool QuitRequested(); 37 virtual void MessageReceived(BMessage* message); 38 39 private: 40 void _CreateMenu(BRect& frame); 41 void _ObjectChanged(const Notifier* object); 42 43 Playlist* fPlaylist; 44 PlaylistListView* fListView; 45 46 BView* fTopView; 47 BMenuItem* fUndoMI; 48 BMenuItem* fRedoMI; 49 50 BFilePanel* fOpenPanel; 51 BFilePanel* fSavePanel; 52 53 RWLocker* fLocker; 54 CommandStack* fCommandStack; 55 ListenerAdapter fCommandStackListener; 56 }; 57 58 #endif // PLAYLIST_WINDOW_H 59