xref: /haiku/src/apps/mediaplayer/playlist/PlaylistWindow.h (revision cfc3fa87da824bdf593eb8b817a83b6376e77935)
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  *		Fredrik Modéen 	<fredrik@modeen.se>
8  */
9 
10 #ifndef PLAYLIST_WINDOW_H
11 #define PLAYLIST_WINDOW_H
12 
13 
14 #include <Window.h>
15 
16 #include "ListenerAdapter.h"
17 
18 class BMenuBar;
19 class BMenuItem;
20 class CommandStack;
21 class Controller;
22 class Notifier;
23 class Playlist;
24 class PlaylistListView;
25 class RWLocker;
26 class BButton;
27 class BFilePanel;
28 
29 class PlaylistWindow : public BWindow {
30  public:
31 								PlaylistWindow(BRect frame,
32 									Playlist* playlist,
33 									Controller* controller);
34 	virtual						~PlaylistWindow();
35 
36 	virtual	bool				QuitRequested();
37 	virtual	void				MessageReceived(BMessage* message);
38 
39  private:
40 			void				_CreateMenu(BRect& frame);
41 			void				_ObjectChanged(const Notifier* object);
42 
43 			Playlist*			fPlaylist;
44 			PlaylistListView*	fListView;
45 
46 			BView*				fTopView;
47 			BMenuItem*			fUndoMI;
48 			BMenuItem*			fRedoMI;
49 
50 			BFilePanel*			fOpenPanel;
51 			BFilePanel*			fSavePanel;
52 
53 			RWLocker*			fLocker;
54 			CommandStack*		fCommandStack;
55 			ListenerAdapter		fCommandStackListener;
56 };
57 
58 #endif // PLAYLIST_WINDOW_H
59