xref: /haiku/src/apps/mediaplayer/playlist/PlaylistWindow.h (revision 1b7f76bcfc37774f88e57a363f2f51263593f091)
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>
7*1b7f76bcSStephan Aßmus  *		Fredrik Modéen 	<fredrik@modeen.se>
8415ef601SStephan Aßmus  */
9*1b7f76bcSStephan 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;
26*1b7f76bcSStephan Aßmus class BButton;
27415ef601SStephan Aßmus 
28415ef601SStephan Aßmus class PlaylistWindow : public BWindow {
29415ef601SStephan Aßmus  public:
30415ef601SStephan Aßmus 								PlaylistWindow(BRect frame,
31415ef601SStephan Aßmus 									Playlist* playlist,
32415ef601SStephan Aßmus 									Controller* controller);
33415ef601SStephan Aßmus 	virtual						~PlaylistWindow();
34415ef601SStephan Aßmus 
35415ef601SStephan Aßmus 	virtual	bool				QuitRequested();
36415ef601SStephan Aßmus 	virtual	void				MessageReceived(BMessage* message);
37415ef601SStephan Aßmus 
38415ef601SStephan Aßmus  private:
39415ef601SStephan Aßmus 			void				_CreateMenu(BRect& frame);
40415ef601SStephan Aßmus 			void				_ObjectChanged(const Notifier* object);
41415ef601SStephan Aßmus 
42415ef601SStephan Aßmus 			Playlist*			fPlaylist;
43415ef601SStephan Aßmus 			PlaylistListView*	fListView;
44415ef601SStephan Aßmus 
45415ef601SStephan Aßmus 			BView*				fTopView;
46415ef601SStephan Aßmus 			BMenuItem*			fUndoMI;
47415ef601SStephan Aßmus 			BMenuItem*			fRedoMI;
48415ef601SStephan Aßmus 
49*1b7f76bcSStephan Aßmus 			BFilePanel*			fOpenPanel;
50*1b7f76bcSStephan Aßmus 			BFilePanel*			fSavePanel;
51*1b7f76bcSStephan Aßmus 
52415ef601SStephan Aßmus 			RWLocker*			fLocker;
53415ef601SStephan Aßmus 			CommandStack*		fCommandStack;
54415ef601SStephan Aßmus 			ListenerAdapter		fCommandStackListener;
55415ef601SStephan Aßmus };
56415ef601SStephan Aßmus 
57415ef601SStephan Aßmus #endif // PLAYLIST_WINDOW_H
58