1415ef601SStephan Aßmus /* 2415ef601SStephan Aßmus * Copyright 2007, Haiku. All rights reserved. 3415ef601SStephan Aßmus * Distributed under the terms of the MIT License. 4415ef601SStephan Aßmus * 5415ef601SStephan Aßmus * Authors: 6415ef601SStephan Aßmus * Stephan Aßmus <superstippi@gmx.de> 7*1b7f76bcSStephan Aßmus * Fredrik Modéen <fredrik@modeen.se> 8415ef601SStephan Aßmus */ 9*1b7f76bcSStephan Aßmus 10415ef601SStephan Aßmus #ifndef PLAYLIST_WINDOW_H 11415ef601SStephan Aßmus #define PLAYLIST_WINDOW_H 12415ef601SStephan Aßmus 13415ef601SStephan Aßmus 14415ef601SStephan Aßmus #include <Window.h> 15415ef601SStephan Aßmus 16415ef601SStephan Aßmus #include "ListenerAdapter.h" 17415ef601SStephan Aßmus 18415ef601SStephan Aßmus class BMenuBar; 19415ef601SStephan Aßmus class BMenuItem; 20415ef601SStephan Aßmus class CommandStack; 21415ef601SStephan Aßmus class Controller; 22415ef601SStephan Aßmus class Notifier; 23415ef601SStephan Aßmus class Playlist; 24415ef601SStephan Aßmus class PlaylistListView; 25415ef601SStephan Aßmus class RWLocker; 26*1b7f76bcSStephan Aßmus class BButton; 27415ef601SStephan Aßmus 28415ef601SStephan Aßmus class PlaylistWindow : public BWindow { 29415ef601SStephan Aßmus public: 30415ef601SStephan Aßmus PlaylistWindow(BRect frame, 31415ef601SStephan Aßmus Playlist* playlist, 32415ef601SStephan Aßmus Controller* controller); 33415ef601SStephan Aßmus virtual ~PlaylistWindow(); 34415ef601SStephan Aßmus 35415ef601SStephan Aßmus virtual bool QuitRequested(); 36415ef601SStephan Aßmus virtual void MessageReceived(BMessage* message); 37415ef601SStephan Aßmus 38415ef601SStephan Aßmus private: 39415ef601SStephan Aßmus void _CreateMenu(BRect& frame); 40415ef601SStephan Aßmus void _ObjectChanged(const Notifier* object); 41415ef601SStephan Aßmus 42415ef601SStephan Aßmus Playlist* fPlaylist; 43415ef601SStephan Aßmus PlaylistListView* fListView; 44415ef601SStephan Aßmus 45415ef601SStephan Aßmus BView* fTopView; 46415ef601SStephan Aßmus BMenuItem* fUndoMI; 47415ef601SStephan Aßmus BMenuItem* fRedoMI; 48415ef601SStephan Aßmus 49*1b7f76bcSStephan Aßmus BFilePanel* fOpenPanel; 50*1b7f76bcSStephan Aßmus BFilePanel* fSavePanel; 51*1b7f76bcSStephan Aßmus 52415ef601SStephan Aßmus RWLocker* fLocker; 53415ef601SStephan Aßmus CommandStack* fCommandStack; 54415ef601SStephan Aßmus ListenerAdapter fCommandStackListener; 55415ef601SStephan Aßmus }; 56415ef601SStephan Aßmus 57415ef601SStephan Aßmus #endif // PLAYLIST_WINDOW_H 58