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