xref: /haiku/src/apps/pulse/ConfigView.h (revision 8195a5a835117ab2da405e0d477153570b75d921)
1 /*
2  * Copyright 2002-2006 Haiku, Inc. All Rights Reserved.
3  * Distributed under the terms of the MIT license.
4  *
5  * Copyright 1999, Be Incorporated. All Rights Reserved.
6  * This file may be used under the terms of the Be Sample Code License.
7  *
8  * Written by:	Daniel Switkin
9  */
10 #ifndef CONFIG_VIEW_H
11 #define CONFIG_VIEW_H
12 
13 
14 #include "Prefs.h"
15 
16 #include <Box.h>
17 #include <ColorControl.h>
18 
19 class BCheckBox;
20 class BRadioButton;
21 class BTextControl;
22 
23 
24 class RTColorControl : public BColorControl {
25 	public:
26 		RTColorControl(BPoint point, BMessage *message);
27 		void SetValue(int32 color);
28 };
29 
30 class ConfigView : public BBox {
31 	public:
32 		ConfigView(BRect rect, const char *name, uint32 mode,
33 			BMessenger& target, Prefs *prefs);
34 
35 		virtual void AttachedToWindow();
36 		virtual void MessageReceived(BMessage *message);
37 		virtual void GetPreferredSize(float* _width, float* _height);
38 
39 		void UpdateDeskbarIconWidth();
40 
41 	private:
42 		void _ResetDefaults();
43 
44 		int32			fMode;
45 		BMessenger		fTarget;
46 		Prefs*			fPrefs;
47 		RTColorControl* fColorControl;
48 
49 		bool			fFirstTimeAttached;
50 
51 		// For Normal
52 		BCheckBox*		fFadeCheckBox;
53 		// For Mini and Deskbar
54 		BRadioButton*	fActiveButton;
55 		BRadioButton*	fIdleButton;
56 		BRadioButton*	fFrameButton;
57 		// For Deskbar
58 		BTextControl*	fIconWidthControl;
59 };
60 
61 #endif	// CONFIG_VIEW_H
62