xref: /haiku/src/apps/mediaplayer/playlist/PlaylistWindow.h (revision b9a5b9a6ee494261f2882bfc0ee9fde92282bef6)
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