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