xref: /haiku/src/apps/diskusage/MainWindow.h (revision f75a7bf508f3156d63a14f8fd77c5e0ca4d08c42)
1*f75a7bf5SStephan Aßmus /*
2*f75a7bf5SStephan Aßmus  * Copyright (c) 2008 Stephan Aßmus <superstippi@gmx.de>. All rights reserved.
3*f75a7bf5SStephan Aßmus  * Distributed under the terms of the MIT/X11 license.
4*f75a7bf5SStephan Aßmus  *
5*f75a7bf5SStephan Aßmus  * Copyright (c) 1999 Mike Steed. You are free to use and distribute this software
6*f75a7bf5SStephan Aßmus  * as long as it is accompanied by it's documentation and this copyright notice.
7*f75a7bf5SStephan Aßmus  * The software comes with no warranty, etc.
8*f75a7bf5SStephan Aßmus  */
9*f75a7bf5SStephan Aßmus #ifndef MAIN_WINDOW_H
10*f75a7bf5SStephan Aßmus #define MAIN_WINDOW_H
11*f75a7bf5SStephan Aßmus 
12*f75a7bf5SStephan Aßmus #include <Window.h>
13*f75a7bf5SStephan Aßmus 
14*f75a7bf5SStephan Aßmus 
15*f75a7bf5SStephan Aßmus class BVolume;
16*f75a7bf5SStephan Aßmus class ControlsView;
17*f75a7bf5SStephan Aßmus struct FileInfo;
18*f75a7bf5SStephan Aßmus class PieView;
19*f75a7bf5SStephan Aßmus class StatusView;
20*f75a7bf5SStephan Aßmus 
21*f75a7bf5SStephan Aßmus class MainWindow: public BWindow {
22*f75a7bf5SStephan Aßmus public:
23*f75a7bf5SStephan Aßmus 								MainWindow(BRect pieRect);
24*f75a7bf5SStephan Aßmus 	virtual						~MainWindow();
25*f75a7bf5SStephan Aßmus 
26*f75a7bf5SStephan Aßmus 	virtual	void				MessageReceived(BMessage* message);
27*f75a7bf5SStephan Aßmus 	virtual	void				Zoom(BPoint origin, float width, float height);
28*f75a7bf5SStephan Aßmus 	virtual	void				FrameResized(float width, float height);
29*f75a7bf5SStephan Aßmus 	virtual	bool				QuitRequested();
30*f75a7bf5SStephan Aßmus 
31*f75a7bf5SStephan Aßmus 			void				ShowInfo(const FileInfo* info);
32*f75a7bf5SStephan Aßmus 			void				SetRescanEnabled(bool enabled);
33*f75a7bf5SStephan Aßmus 			BVolume*			FindDeviceFor(dev_t device,
34*f75a7bf5SStephan Aßmus 									bool invoke = false);
35*f75a7bf5SStephan Aßmus 
36*f75a7bf5SStephan Aßmus private:
37*f75a7bf5SStephan Aßmus 			bool				_FixAspectRatio(float* width, float* height);
38*f75a7bf5SStephan Aßmus 
39*f75a7bf5SStephan Aßmus 			ControlsView*		fControlsView;
40*f75a7bf5SStephan Aßmus 			PieView*			fPieView;
41*f75a7bf5SStephan Aßmus 			StatusView*			fStatusView;
42*f75a7bf5SStephan Aßmus };
43*f75a7bf5SStephan Aßmus 
44*f75a7bf5SStephan Aßmus #endif // MAIN_WINDOW_H
45