xref: /haiku/src/preferences/filetypes/ApplicationTypeWindow.h (revision d3d8b26997fac34a84981e6d2b649521de2cc45a)
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_TYPE_WINDOW_H
6 #define APPLICATION_TYPE_WINDOW_H
7 
8 
9 #include <Mime.h>
10 #include <String.h>
11 #include <Window.h>
12 
13 class BButton;
14 class BCheckBox;
15 class BListView;
16 class BPopUpMenu;
17 class BRadioButton;
18 class BTextControl;
19 class BTextView;
20 
21 class IconView;
22 class MimeTypeListView;
23 
24 
25 class ApplicationTypeWindow : public BWindow {
26 	public:
27 		ApplicationTypeWindow(BPoint position, const BEntry& entry);
28 		virtual ~ApplicationTypeWindow();
29 
30 		virtual void FrameResized(float width, float height);
31 		virtual void MessageReceived(BMessage* message);
32 		virtual bool QuitRequested();
33 
34 	private:
35 		BString _Title(const BEntry& entry);
36 		void _SetTo(const BEntry& entry);
37 		void _UpdateAppFlagsEnabled();
38 		void _MakeNumberTextControl(BTextControl* control);
39 		void _Save();
40 
41 	private:
42 		BEntry			fEntry;
43 
44 		BTextControl*	fSignatureControl;
45 		IconView*		fIconView;
46 
47 		BCheckBox*		fFlagsCheckBox;
48 		BRadioButton*	fSingleLaunchButton;
49 		BRadioButton*	fMultipleLaunchButton;
50 		BRadioButton*	fExclusiveLaunchButton;
51 		BCheckBox*		fArgsOnlyCheckBox;
52 		BCheckBox*		fBackgroundAppCheckBox;
53 
54 		BListView*		fTypeListView;
55 		BButton*		fAddTypeButton;
56 		BButton*		fRemoveTypeButton;
57 		IconView*		fTypeIconView;
58 
59 		BTextControl*	fMajorVersionControl;
60 		BTextControl*	fMiddleVersionControl;
61 		BTextControl*	fMinorVersionControl;
62 		BPopUpMenu*		fVarietyMenu;
63 		BTextControl*	fInternalVersionControl;
64 		BTextControl*	fShortDescriptionControl;
65 		BTextView*		fLongDescriptionView;
66 };
67 
68 #endif // APPLICATION_TYPE_WINDOW_H
69