1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
/**
* @file llf32uictrl.h
* @author Nat Goodspeed
* @date 2008-09-08
* @brief Base class for float-valued LLUICtrl widgets
*
* $LicenseInfo:firstyear=2008&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#if ! defined(LL_LLF32UICTRL_H)
#define LL_LLF32UICTRL_H
#include "lluictrl.h"
class LLF32UICtrl: public LLUICtrl
{
public:
struct Params: public LLInitParam::Block<Params, LLUICtrl::Params>
{
Optional<F32> min_value,
max_value,
increment;
Params()
: min_value("min_val", 0.f),
max_value("max_val", 1.f),
increment("increment", 0.1f)
{}
};
protected:
LLF32UICtrl(const Params& p);
public:
virtual F32 getValueF32() const;
virtual void setValue(const LLSD& value ) { mViewModel->setValue(value); }
virtual LLSD getValue() const { return LLSD(getValueF32()); }
virtual void setMinValue(const LLSD& min_value) { setMinValue((F32)min_value.asReal()); }
virtual void setMaxValue(const LLSD& max_value) { setMaxValue((F32)max_value.asReal()); }
virtual F32 getInitialValue() const { return mInitialValue; }
virtual F32 getMinValue() const { return mMinValue; }
virtual F32 getMaxValue() const { return mMaxValue; }
virtual F32 getIncrement() const { return mIncrement; }
virtual void setMinValue(F32 min_value) { mMinValue = min_value; }
virtual void setMaxValue(F32 max_value) { mMaxValue = max_value; }
virtual void setIncrement(F32 increment) { mIncrement = increment;}
protected:
F32 mInitialValue;
F32 mMinValue;
F32 mMaxValue;
F32 mIncrement;
};
#endif /* ! defined(LL_LLF32UICTRL_H) */
|