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> 71b7f76bcSStephan Aßmus * Fredrik Modéen <fredrik@modeen.se> 8415ef601SStephan Aßmus */ 91b7f76bcSStephan Aßmus 10415ef601SStephan Aßmus #ifndef PLAYLIST_WINDOW_H 11415ef601SStephan Aßmus #define PLAYLIST_WINDOW_H 12415ef601SStephan Aßmus 13415ef601SStephan Aßmus 14*d6aa728aSStephan Aßmus #include <Entry.h> 15415ef601SStephan Aßmus #include <Window.h> 16415ef601SStephan Aßmus 17415ef601SStephan Aßmus #include "ListenerAdapter.h" 18415ef601SStephan Aßmus 19415ef601SStephan Aßmus class BMenuBar; 20415ef601SStephan Aßmus class BMenuItem; 21415ef601SStephan Aßmus class CommandStack; 22415ef601SStephan Aßmus class Controller; 23415ef601SStephan Aßmus class Notifier; 24415ef601SStephan Aßmus class Playlist; 25415ef601SStephan Aßmus class PlaylistListView; 26415ef601SStephan Aßmus class RWLocker; 271b7f76bcSStephan Aßmus class BButton; 28b9044f36SFrançois Revol class BFilePanel; 29415ef601SStephan Aßmus 30415ef601SStephan Aßmus class PlaylistWindow : public BWindow { 31415ef601SStephan Aßmus public: 32415ef601SStephan Aßmus PlaylistWindow(BRect frame, 33415ef601SStephan Aßmus Playlist* playlist, 34415ef601SStephan Aßmus Controller* controller); 35415ef601SStephan Aßmus virtual ~PlaylistWindow(); 36415ef601SStephan Aßmus 37415ef601SStephan Aßmus virtual bool QuitRequested(); 38415ef601SStephan Aßmus virtual void MessageReceived(BMessage* message); 39415ef601SStephan Aßmus 40415ef601SStephan Aßmus private: 41415ef601SStephan Aßmus void _CreateMenu(BRect& frame); 42415ef601SStephan Aßmus void _ObjectChanged(const Notifier* object); 43*d6aa728aSStephan Aßmus 44*d6aa728aSStephan Aßmus void _SavePlaylist(const BMessage* filePanelMessage); 45*d6aa728aSStephan Aßmus void _SavePlaylist(const entry_ref& ref); 46*d6aa728aSStephan Aßmus void _SavePlaylist(BEntry& origEntry, 47*d6aa728aSStephan Aßmus BEntry& tempEntry, const char* finalName); 48415ef601SStephan Aßmus 49415ef601SStephan Aßmus Playlist* fPlaylist; 50415ef601SStephan Aßmus PlaylistListView* fListView; 51415ef601SStephan Aßmus 52415ef601SStephan Aßmus BView* fTopView; 53415ef601SStephan Aßmus BMenuItem* fUndoMI; 54415ef601SStephan Aßmus BMenuItem* fRedoMI; 55415ef601SStephan Aßmus 56415ef601SStephan Aßmus RWLocker* fLocker; 57415ef601SStephan Aßmus CommandStack* fCommandStack; 58415ef601SStephan Aßmus ListenerAdapter fCommandStackListener; 59*d6aa728aSStephan Aßmus 60*d6aa728aSStephan Aßmus entry_ref fSavedPlaylistRef; 61415ef601SStephan Aßmus }; 62415ef601SStephan Aßmus 63415ef601SStephan Aßmus #endif // PLAYLIST_WINDOW_H 64