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