xref: /haiku/src/apps/mediaplayer/InfoWin.h (revision 2a72b9fead28a8cb1cad04c7a8bb023adb41bea0)
1 /*
2  * MainWin.h - Media Player for the Haiku Operating System
3  *
4  * Copyright (C) 2006 Marcus Overhagen <marcus@overhagen.de>
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * version 2 as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18  *
19  */
20 #ifndef __FILE_INFO_WIN_H
21 #define __FILE_INFO_WIN_H
22 
23 #include <Window.h>
24 
25 
26 class Controller;
27 class ControllerObserver;
28 class InfoView;
29 
30 #define INFO_STATS		0x00000001
31 #define INFO_TRANSPORT	0x00000002
32 #define INFO_FILE		0x00000004
33 #define INFO_AUDIO		0x00000008
34 #define INFO_VIDEO		0x00000010
35 #define INFO_COPYRIGHT	0x00000020
36 
37 #define INFO_ALL		0xffffffff
38 
39 
40 class InfoWin : public BWindow {
41 public:
42 								InfoWin(BPoint leftTop,
43 									Controller* controller);
44 	virtual						~InfoWin();
45 
46 	virtual	void				FrameResized(float newWidth, float newHeight);
47 	virtual	void				MessageReceived(BMessage* message);
48 	virtual	bool				QuitRequested();
49 	virtual void				Pulse();
50 
51 			void				ResizeToPreferred();
52 			void				Update(uint32 which = INFO_ALL);
53 
54 private:
55 			Controller*			fController;
56 			ControllerObserver*	fControllerObserver;
57 
58 			InfoView*			fInfoView;
59 			BStringView*		fFilenameView;
60 			BTextView*			fLabelsView;
61 			BTextView*			fContentsView;
62 };
63 
64 #endif // __FILE_INFO_WIN_H
65