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