xref: /haiku/src/apps/drivesetup/DiskView.h (revision ec103c3c389cb3f2827c816f7544eb2a51ea49c6)
1*ec103c3cSStephan Aßmus /*
2*ec103c3cSStephan Aßmus  * Copyright 2007-2008 Haiku Inc. All rights reserved.
3*ec103c3cSStephan Aßmus  * Distributed under the terms of the MIT license.
4*ec103c3cSStephan Aßmus  */
5*ec103c3cSStephan Aßmus #ifndef DISK_VIEW_H
6*ec103c3cSStephan Aßmus #define DISK_VIEW_H
7*ec103c3cSStephan Aßmus 
8*ec103c3cSStephan Aßmus 
9*ec103c3cSStephan Aßmus #include <DiskDevice.h>
10*ec103c3cSStephan Aßmus #include <View.h>
11*ec103c3cSStephan Aßmus 
12*ec103c3cSStephan Aßmus 
13*ec103c3cSStephan Aßmus class DiskView : public BView {
14*ec103c3cSStephan Aßmus 	typedef BView Inherited;
15*ec103c3cSStephan Aßmus public:
16*ec103c3cSStephan Aßmus 								DiskView(const BRect& frame,
17*ec103c3cSStephan Aßmus 									uint32 resizeMode);
18*ec103c3cSStephan Aßmus 	virtual						~DiskView();
19*ec103c3cSStephan Aßmus 
20*ec103c3cSStephan Aßmus 	// BView interface
21*ec103c3cSStephan Aßmus 	virtual	void				Draw(BRect updateRect);
22*ec103c3cSStephan Aßmus 	virtual	void				FrameResized(float width, float height);
23*ec103c3cSStephan Aßmus 
24*ec103c3cSStephan Aßmus 			void				SetDiskCount(int32 count);
25*ec103c3cSStephan Aßmus 			void				SetDisk(BDiskDevice* disk,
26*ec103c3cSStephan Aßmus 									partition_id selectedPartition);
27*ec103c3cSStephan Aßmus private:
28*ec103c3cSStephan Aßmus 			void				_UpdateLayout();
29*ec103c3cSStephan Aßmus 
30*ec103c3cSStephan Aßmus 			int32				fDiskCount;
31*ec103c3cSStephan Aßmus 			BDiskDevice*		fDisk;
32*ec103c3cSStephan Aßmus 
33*ec103c3cSStephan Aßmus 			class PartitionLayout;
34*ec103c3cSStephan Aßmus 			PartitionLayout*	fPartitionLayout;
35*ec103c3cSStephan Aßmus };
36*ec103c3cSStephan Aßmus 
37*ec103c3cSStephan Aßmus 
38*ec103c3cSStephan Aßmus #endif // DISK_VIEW_H
39