xref: /haiku/headers/private/interface/Spinner.h (revision 4bd0c1066b227cec4b79883bdef697c7a27f2e90)
1 /*
2  * Copyright 2015 Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT license.
4  *
5  * Authors:
6  *		John Scipione, jscipione@gmail.com
7  */
8 #ifndef _SPINNER_H
9 #define _SPINNER_H
10 
11 
12 #include <AbstractSpinner.h>
13 
14 
15 class BSpinner : public BAbstractSpinner {
16 public:
17 								BSpinner(BRect frame, const char* name,
18 									const char* label, BMessage* message,
19 									uint32 resizingMode = B_FOLLOW_LEFT | B_FOLLOW_TOP,
20 									uint32 flags = B_WILL_DRAW | B_NAVIGABLE);
21 								BSpinner(const char* name, const char* label,
22 									BMessage* message,
23 									uint32 flags = B_WILL_DRAW | B_NAVIGABLE);
24 								BSpinner(BMessage* data);
25 	virtual						~BSpinner();
26 
27 	static	BArchivable*		Instantiate(BMessage* data);
28 	virtual	status_t			Archive(BMessage* data, bool deep = true) const;
29 
30 	virtual	void				Increment();
31 	virtual	void				Decrement();
32 
33 	virtual	status_t			GetSupportedSuites(BMessage* message);
34 
35 	virtual	void				AttachedToWindow();
36 
37 	virtual	void				SetEnabled(bool enable);
38 
39 			int32				MinValue() const { return fMinValue; }
40 	virtual	void				SetMinValue(int32 min);
41 
42 			int32				MaxValue() const { return fMaxValue; }
43 	virtual	void				SetMaxValue(int32 max);
44 
45 			void				Range(int32* min, int32* max);
46 	virtual	void				SetRange(int32 min, int32 max);
47 
48 			int32				Value() const { return fValue; };
49 	virtual	void				SetValue(int32 value);
50 	virtual	void				SetValueFromText();
51 
52 private:
53 	// FBC padding
54 	virtual	void				_ReservedSpinner20();
55 	virtual	void				_ReservedSpinner19();
56 	virtual	void				_ReservedSpinner18();
57 	virtual	void				_ReservedSpinner17();
58 	virtual	void				_ReservedSpinner16();
59 	virtual	void				_ReservedSpinner15();
60 	virtual	void				_ReservedSpinner14();
61 	virtual	void				_ReservedSpinner13();
62 	virtual	void				_ReservedSpinner12();
63 	virtual	void				_ReservedSpinner11();
64 	virtual	void				_ReservedSpinner10();
65 	virtual	void				_ReservedSpinner9();
66 	virtual	void				_ReservedSpinner8();
67 	virtual	void				_ReservedSpinner7();
68 	virtual	void				_ReservedSpinner6();
69 	virtual	void				_ReservedSpinner5();
70 	virtual	void				_ReservedSpinner4();
71 	virtual	void				_ReservedSpinner3();
72 	virtual	void				_ReservedSpinner2();
73 	virtual	void				_ReservedSpinner1();
74 
75 private:
76 			void				_InitObject();
77 
78 			int32				fMinValue;
79 			int32				fMaxValue;
80 			int32				fValue;
81 
82 	// FBC padding
83 			uint32				_reserved[20];
84 };
85 
86 
87 #endif	// _SPINNER_H
88