xref: /haiku/src/apps/mediaplayer/InfoWin.h (revision 2caab6e574d52306baf93db9b830dadefbb08836)
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 
24 #include <Window.h>
25 
26 
27 class BStringView;
28 class BTextView;
29 class Controller;
30 class ControllerObserver;
31 class InfoView;
32 
33 
34 #define INFO_STATS		0x00000001
35 #define INFO_TRANSPORT	0x00000002
36 #define INFO_FILE		0x00000004
37 #define INFO_AUDIO		0x00000008
38 #define INFO_VIDEO		0x00000010
39 #define INFO_COPYRIGHT	0x00000020
40 
41 #define INFO_ALL		0xffffffff
42 
43 
44 class InfoWin : public BWindow {
45 public:
46 								InfoWin(BPoint leftTop,
47 									Controller* controller);
48 	virtual						~InfoWin();
49 
50 	virtual	void				FrameResized(float newWidth, float newHeight);
51 	virtual	void				MessageReceived(BMessage* message);
52 	virtual	bool				QuitRequested();
53 	virtual void				Pulse();
54 
55 			void				ResizeToPreferred();
56 			void				Update(uint32 which = INFO_ALL);
57 
58 private:
59 			Controller*			fController;
60 			ControllerObserver*	fControllerObserver;
61 
62 			InfoView*			fInfoView;
63 			BStringView*		fFilenameView;
64 			BTextView*			fLabelsView;
65 			BTextView*			fContentsView;
66 };
67 
68 #endif // __FILE_INFO_WIN_H
69