xref: /haiku/src/apps/mediaplayer/playlist/PlaylistWindow.h (revision b9044f36d9f301457e87c0e4254e3285897bdcb7)
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 
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;
261b7f76bcSStephan Aßmus class BButton;
27*b9044f36SFrançois Revol class BFilePanel;
28415ef601SStephan Aßmus 
29415ef601SStephan Aßmus class PlaylistWindow : public BWindow {
30415ef601SStephan Aßmus  public:
31415ef601SStephan Aßmus 								PlaylistWindow(BRect frame,
32415ef601SStephan Aßmus 									Playlist* playlist,
33415ef601SStephan Aßmus 									Controller* controller);
34415ef601SStephan Aßmus 	virtual						~PlaylistWindow();
35415ef601SStephan Aßmus 
36415ef601SStephan Aßmus 	virtual	bool				QuitRequested();
37415ef601SStephan Aßmus 	virtual	void				MessageReceived(BMessage* message);
38415ef601SStephan Aßmus 
39415ef601SStephan Aßmus  private:
40415ef601SStephan Aßmus 			void				_CreateMenu(BRect& frame);
41415ef601SStephan Aßmus 			void				_ObjectChanged(const Notifier* object);
42415ef601SStephan Aßmus 
43415ef601SStephan Aßmus 			Playlist*			fPlaylist;
44415ef601SStephan Aßmus 			PlaylistListView*	fListView;
45415ef601SStephan Aßmus 
46415ef601SStephan Aßmus 			BView*				fTopView;
47415ef601SStephan Aßmus 			BMenuItem*			fUndoMI;
48415ef601SStephan Aßmus 			BMenuItem*			fRedoMI;
49415ef601SStephan Aßmus 
501b7f76bcSStephan Aßmus 			BFilePanel*			fOpenPanel;
511b7f76bcSStephan Aßmus 			BFilePanel*			fSavePanel;
521b7f76bcSStephan Aßmus 
53415ef601SStephan Aßmus 			RWLocker*			fLocker;
54415ef601SStephan Aßmus 			CommandStack*		fCommandStack;
55415ef601SStephan Aßmus 			ListenerAdapter		fCommandStackListener;
56415ef601SStephan Aßmus };
57415ef601SStephan Aßmus 
58415ef601SStephan Aßmus #endif // PLAYLIST_WINDOW_H
59