xref: /haiku/src/preferences/filetypes/ApplicationTypesWindow.h (revision 3be9edf8da228afd9fec0390f408c964766122aa)
1 /*
2  * Copyright 2006, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef APPLICATION_TYPES_WINDOW_H
6 #define APPLICATION_TYPES_WINDOW_H
7 
8 
9 #include <Alert.h>
10 #include <Mime.h>
11 #include <Window.h>
12 
13 class BButton;
14 class BListView;
15 class BMenuField;
16 class BMimeType;
17 class BOutlineListView;
18 class BStringView;
19 class BTextView;
20 
21 class MimeTypeListView;
22 class StringView;
23 
24 
25 class ApplicationTypesWindow : public BWindow {
26 	public:
27 		ApplicationTypesWindow(const BMessage& settings);
28 		virtual ~ApplicationTypesWindow();
29 
30 		virtual void FrameResized(float width, float height);
31 		virtual void MessageReceived(BMessage* message);
32 		virtual bool QuitRequested();
33 
34 	private:
35 		BRect _Frame(const BMessage& settings) const;
36 		void _SetType(BMimeType* type, int32 forceUpdate = 0);
37 		void _UpdateCounter();
38 		void _RemoveUninstalled();
39 
40 	private:
41 		BMimeType		fCurrentType;
42 
43 		MimeTypeListView* fTypeListView;
44 		BButton*		fRemoveTypeButton;
45 
46 		StringView*		fNameView;
47 		StringView*		fSignatureView;
48 		StringView*		fPathView;
49 
50 		StringView*		fVersionView;
51 		StringView*		fDescriptionLabel;
52 		BTextView*		fDescriptionView;
53 
54 		BButton*		fTrackerButton;
55 		BButton*		fLaunchButton;
56 		BButton*		fEditButton;
57 };
58 
59 #endif	// APPLICATION_TYPES_WINDOW_H
60