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 */ 8 #ifndef PLAYLIST_WINDOW_H 9 #define PLAYLIST_WINDOW_H 10 11 12 #include <Window.h> 13 14 #include "ListenerAdapter.h" 15 16 class BMenuBar; 17 class BMenuItem; 18 class CommandStack; 19 class Controller; 20 class Notifier; 21 class Playlist; 22 class PlaylistListView; 23 class RWLocker; 24 25 class PlaylistWindow : public BWindow { 26 public: 27 PlaylistWindow(BRect frame, 28 Playlist* playlist, 29 Controller* controller); 30 virtual ~PlaylistWindow(); 31 32 virtual bool QuitRequested(); 33 virtual void MessageReceived(BMessage* message); 34 35 private: 36 void _CreateMenu(BRect& frame); 37 void _ObjectChanged(const Notifier* object); 38 39 Playlist* fPlaylist; 40 PlaylistListView* fListView; 41 42 BView* fTopView; 43 BMenuItem* fUndoMI; 44 BMenuItem* fRedoMI; 45 46 RWLocker* fLocker; 47 CommandStack* fCommandStack; 48 ListenerAdapter fCommandStackListener; 49 }; 50 51 #endif // PLAYLIST_WINDOW_H 52