xref: /haiku/src/apps/drivesetup/DiskView.h (revision 441ad0b87ec9d4bbf62f769ab6abf7bd6d902605)
1ec103c3cSStephan Aßmus /*
2ec103c3cSStephan Aßmus  * Copyright 2007-2008 Haiku Inc. All rights reserved.
3ec103c3cSStephan Aßmus  * Distributed under the terms of the MIT license.
4ec103c3cSStephan Aßmus  */
5ec103c3cSStephan Aßmus #ifndef DISK_VIEW_H
6ec103c3cSStephan Aßmus #define DISK_VIEW_H
7ec103c3cSStephan Aßmus 
8ec103c3cSStephan Aßmus 
9ec103c3cSStephan Aßmus #include <DiskDevice.h>
10ec103c3cSStephan Aßmus #include <View.h>
11ec103c3cSStephan Aßmus 
12967d7204SStephan Aßmus #include "Support.h"
13967d7204SStephan Aßmus 
14ec103c3cSStephan Aßmus 
15ec103c3cSStephan Aßmus class DiskView : public BView {
16ec103c3cSStephan Aßmus 	typedef BView Inherited;
17ec103c3cSStephan Aßmus public:
18ec103c3cSStephan Aßmus 								DiskView(const BRect& frame,
19967d7204SStephan Aßmus 									uint32 resizeMode,
20967d7204SStephan Aßmus 									SpaceIDMap& spaceIDMap);
21ec103c3cSStephan Aßmus 	virtual						~DiskView();
22ec103c3cSStephan Aßmus 
23ec103c3cSStephan Aßmus 	// BView interface
24ec103c3cSStephan Aßmus 	virtual	void				Draw(BRect updateRect);
25ec103c3cSStephan Aßmus 
26ec103c3cSStephan Aßmus 			void				SetDiskCount(int32 count);
27ec103c3cSStephan Aßmus 			void				SetDisk(BDiskDevice* disk,
28ec103c3cSStephan Aßmus 									partition_id selectedPartition);
29ec103c3cSStephan Aßmus 
30*441ad0b8SStephan Aßmus 			void				ForceUpdate();
31*441ad0b8SStephan Aßmus private:
32ec103c3cSStephan Aßmus 			int32				fDiskCount;
33ec103c3cSStephan Aßmus 			BDiskDevice*		fDisk;
34967d7204SStephan Aßmus 			SpaceIDMap&			fSpaceIDMap;
35ec103c3cSStephan Aßmus 
36ec103c3cSStephan Aßmus 			class PartitionLayout;
37ec103c3cSStephan Aßmus 			PartitionLayout*	fPartitionLayout;
38ec103c3cSStephan Aßmus };
39ec103c3cSStephan Aßmus 
40ec103c3cSStephan Aßmus 
41ec103c3cSStephan Aßmus #endif // DISK_VIEW_H
42