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