#include <llmultislider.h>


Public Member Functions | |
| LLMultiSlider (const LLString &name, const LLRect &rect, void(*on_commit_callback)(LLUICtrl *ctrl, void *userdata), void *callback_userdata, F32 initial_value, F32 min_value, F32 max_value, F32 increment, S32 max_sliders, BOOL allow_overlap, BOOL draw_track, BOOL use_triangle, const LLString &control_name=LLString::null) | |
| virtual LLXMLNodePtr | getXML (bool save_children=true) const |
| void | setSliderValue (const LLString &name, F32 value, BOOL from_event=FALSE) |
| F32 | getSliderValue (const LLString &name) const |
| const LLString & | getCurSlider () const |
| F32 | getCurSliderValue () const |
| void | setCurSlider (const LLString &name) |
| void | setCurSliderValue (F32 val, BOOL from_event=false) |
| virtual void | setValue (const LLSD &value) |
| virtual LLSD | getValue () const |
| virtual void | setMinValue (LLSD min_value) |
| virtual void | setMaxValue (LLSD max_value) |
| F32 | getInitialValue () const |
| F32 | getMinValue () const |
| F32 | getMaxValue () const |
| F32 | getIncrement () const |
| void | setMinValue (F32 min_value) |
| void | setMaxValue (F32 max_value) |
| void | setIncrement (F32 increment) |
| void | setMouseDownCallback (void(*cb)(LLUICtrl *ctrl, void *userdata)) |
| void | setMouseUpCallback (void(*cb)(LLUICtrl *ctrl, void *userdata)) |
| bool | findUnusedValue (F32 &initVal) |
| const LLString & | addSlider () |
| const LLString & | addSlider (F32 val) |
| void | deleteSlider (const LLString &name) |
| void | deleteCurSlider () |
| void | clear () |
| virtual BOOL | handleHover (S32 x, S32 y, MASK mask) |
| virtual BOOL | handleMouseUp (S32 x, S32 y, MASK mask) |
| virtual BOOL | handleMouseDown (S32 x, S32 y, MASK mask) |
| virtual BOOL | handleKeyHere (KEY key, MASK mask) |
| virtual void | draw () |
Static Public Member Functions | |
| static LLView * | fromXML (LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory) |
Protected Attributes | |
| LLSD | mValue |
| F32 | mInitialValue |
| F32 | mMinValue |
| F32 | mMaxValue |
| F32 | mIncrement |
| LLString | mCurSlider |
| S32 | mMaxNumSliders |
| BOOL | mAllowOverlap |
| BOOL | mDrawTrack |
| BOOL | mUseTriangle |
| S32 | mMouseOffset |
| hacked in toggle to use a triangle | |
| LLRect | mDragStartThumbRect |
| std::map< LLString, LLRect > | mThumbRects |
| LLColor4 | mTrackColor |
| LLColor4 | mThumbOutlineColor |
| LLColor4 | mThumbCenterColor |
| LLColor4 | mThumbCenterSelectedColor |
| LLColor4 | mDisabledThumbColor |
| LLColor4 | mTriangleColor |
| void(* | mMouseDownCallback )(LLUICtrl *ctrl, void *userdata) |
| void(* | mMouseUpCallback )(LLUICtrl *ctrl, void *userdata) |
Static Protected Attributes | |
| static S32 | mNameCounter = 0 |
Definition at line 40 of file llmultislider.h.
| LLMultiSlider::LLMultiSlider | ( | const LLString & | name, | |
| const LLRect & | rect, | |||
| void(*)(LLUICtrl *ctrl, void *userdata) | on_commit_callback, | |||
| void * | callback_userdata, | |||
| F32 | initial_value, | |||
| F32 | min_value, | |||
| F32 | max_value, | |||
| F32 | increment, | |||
| S32 | max_sliders, | |||
| BOOL | allow_overlap, | |||
| BOOL | draw_track, | |||
| BOOL | use_triangle, | |||
| const LLString & | control_name = LLString::null | |||
| ) |
Definition at line 56 of file llmultislider.cpp.
References LLSD::emptyMap(), getValue(), mCurSlider, mValue, NULL, LLStringBase< char >::null, LLView::setControlName(), and setValue().
Referenced by fromXML().


| LLXMLNodePtr LLMultiSlider::getXML | ( | bool | save_children = true |
) | const [virtual] |
Reimplemented from LLUICtrl.
Definition at line 569 of file llmultislider.cpp.
References getIncrement(), getInitialValue(), getMaxValue(), getMinValue(), LLUICtrl::getXML(), and TRUE.

| LLView * LLMultiSlider::fromXML | ( | LLXMLNodePtr | node, | |
| LLView * | parent, | |||
| LLUICtrlFactory * | factory | |||
| ) | [static] |
Reimplemented from LLUICtrl.
Definition at line 583 of file llmultislider.cpp.
References LLView::createRect(), FALSE, LLUICtrl::initFromXML(), LLMultiSlider(), NULL, S32, and TRUE.

Definition at line 103 of file llmultislider.cpp.
References LLSD::beginMap(), LLSD::endMap(), FLOAT_THRESHOLD, LLView::getRect(), LLRectBase< Type >::getWidth(), LLSD::has(), llclamp(), mAllowOverlap, mCurSlider, mIncrement, mMaxValue, mMinValue, mThumbRects, MULTI_THUMB_WIDTH, mValue, S32, and LLView::setControlValue().
Referenced by addSlider(), setCurSliderValue(), LLMultiSliderCtrl::setSliderValue(), and setValue().


Definition at line 177 of file llmultislider.cpp.
References LLSD::asReal(), and mValue.
Referenced by getCurSliderValue().


| const LLString& LLMultiSlider::getCurSlider | ( | ) | const [inline] |
Definition at line 64 of file llmultislider.h.
References mCurSlider.
Referenced by LLMultiSliderCtrl::deleteCurSlider(), LLMultiSliderCtrl::getCurSlider(), and LLMultiSliderCtrl::setCurSliderValue().

| F32 LLMultiSlider::getCurSliderValue | ( | ) | const [inline] |
Definition at line 65 of file llmultislider.h.
References getSliderValue(), and mCurSlider.
Referenced by LLMultiSliderCtrl::addSlider(), LLMultiSliderCtrl::deleteSlider(), handleKeyHere(), LLMultiSliderCtrl::LLMultiSliderCtrl(), LLMultiSliderCtrl::setCurSlider(), LLMultiSliderCtrl::setSliderValue(), and LLMultiSliderCtrl::setValue().


| void LLMultiSlider::setCurSlider | ( | const LLString & | name | ) |
Definition at line 182 of file llmultislider.cpp.
References LLSD::has(), mCurSlider, and mValue.
Referenced by LLMultiSliderCtrl::setCurSlider().


Definition at line 67 of file llmultislider.h.
References mCurSlider, and setSliderValue().
Referenced by handleHover(), handleKeyHere(), and handleMouseDown().


| void LLMultiSlider::setValue | ( | const LLSD & | value | ) | [virtual] |
Reimplemented from LLView.
Definition at line 162 of file llmultislider.cpp.
References LLSD::beginMap(), LLSD::endMap(), LLSD::isMap(), mCurSlider, setSliderValue(), and TRUE.
Referenced by LLMultiSlider(), and LLMultiSliderCtrl::setValue().


| virtual LLSD LLMultiSlider::getValue | ( | ) | const [inline, virtual] |
Reimplemented from LLUICtrl.
Definition at line 70 of file llmultislider.h.
References mValue.
Referenced by LLMultiSliderCtrl::getValue(), and LLMultiSlider().

| virtual void LLMultiSlider::setMinValue | ( | LLSD | min_value | ) | [inline, virtual] |
Reimplemented from LLUICtrl.
Definition at line 72 of file llmultislider.h.
References LLSD::asReal().
Referenced by LLMultiSliderCtrl::setMinValue().


| virtual void LLMultiSlider::setMaxValue | ( | LLSD | max_value | ) | [inline, virtual] |
Reimplemented from LLUICtrl.
Definition at line 73 of file llmultislider.h.
References LLSD::asReal().
Referenced by LLMultiSliderCtrl::setMaxValue().


| F32 LLMultiSlider::getInitialValue | ( | ) | const [inline] |
Definition at line 75 of file llmultislider.h.
References mInitialValue.
Referenced by LLMultiSliderCtrl::getXML(), and getXML().

| F32 LLMultiSlider::getMinValue | ( | ) | const [inline] |
Definition at line 76 of file llmultislider.h.
References mMinValue.
Referenced by LLMultiSliderCtrl::getMinValue(), LLMultiSliderCtrl::getXML(), and getXML().

| F32 LLMultiSlider::getMaxValue | ( | ) | const [inline] |
Definition at line 77 of file llmultislider.h.
References mMaxValue.
Referenced by LLMultiSliderCtrl::getMaxValue(), LLMultiSliderCtrl::getXML(), and getXML().

| F32 LLMultiSlider::getIncrement | ( | ) | const [inline] |
Definition at line 78 of file llmultislider.h.
References mIncrement.
Referenced by LLMultiSliderCtrl::getXML(), getXML(), and handleKeyHere().

| void LLMultiSlider::setMinValue | ( | F32 | min_value | ) | [inline] |
| void LLMultiSlider::setMaxValue | ( | F32 | max_value | ) | [inline] |
| void LLMultiSlider::setIncrement | ( | F32 | increment | ) | [inline] |
Definition at line 81 of file llmultislider.h.
References mIncrement.
Referenced by LLMultiSliderCtrl::setIncrement().

| void LLMultiSlider::setMouseDownCallback | ( | void(*)(LLUICtrl *ctrl, void *userdata) | cb | ) | [inline] |
Definition at line 82 of file llmultislider.h.
References mMouseDownCallback.
Referenced by LLMultiSliderCtrl::setSliderMouseDownCallback().

| void LLMultiSlider::setMouseUpCallback | ( | void(*)(LLUICtrl *ctrl, void *userdata) | cb | ) | [inline] |
Definition at line 83 of file llmultislider.h.
References mMouseUpCallback.
Referenced by LLMultiSliderCtrl::setSliderMouseUpCallback().

| bool LLMultiSlider::findUnusedValue | ( | F32 & | initVal | ) |
Definition at line 225 of file llmultislider.cpp.
References LLSD::beginMap(), LLSD::endMap(), FLOAT_THRESHOLD, llendl, llwarns, mIncrement, mInitialValue, mMaxValue, mMinValue, and mValue.
Referenced by addSlider().


| const LLString & LLMultiSlider::addSlider | ( | ) |
Definition at line 189 of file llmultislider.cpp.
References mInitialValue.
Referenced by LLMultiSliderCtrl::addSlider().

Definition at line 194 of file llmultislider.cpp.
References findUnusedValue(), LLView::getRect(), LLSD::insert(), mCurSlider, mMaxNumSliders, mNameCounter, mThumbRects, MULTI_THUMB_WIDTH, mValue, LLStringBase< char >::null, setSliderValue(), LLSD::size(), and TRUE.

| void LLMultiSlider::deleteSlider | ( | const LLString & | name | ) |
Definition at line 272 of file llmultislider.cpp.
References LLSD::erase(), mCurSlider, mThumbRects, mValue, and LLSD::size().
Referenced by deleteCurSlider(), and LLMultiSliderCtrl::deleteSlider().


| void LLMultiSlider::deleteCurSlider | ( | ) | [inline] |
Definition at line 89 of file llmultislider.h.
References deleteSlider(), and mCurSlider.
Referenced by clear().


| void LLMultiSlider::clear | ( | void | ) | [virtual] |
Reimplemented from LLUICtrl.
Definition at line 291 of file llmultislider.cpp.
References LLUICtrl::clear(), deleteCurSlider(), and mThumbRects.
Referenced by LLMultiSliderCtrl::clear().


Reimplemented from LLView.
Definition at line 300 of file llmultislider.cpp.
References LLFocusMgr::getMouseCapture(), LLView::getName(), LLView::getRect(), LLRectBase< Type >::getWidth(), LLView::getWindow(), gFocusMgr, llclamp(), lldebugst, llendl, mMaxValue, mMinValue, mMouseOffset, MULTI_THUMB_WIDTH, LLUICtrl::onCommit(), S32, setCurSliderValue(), LLWindow::setCursor(), TRUE, and UI_CURSOR_ARROW.

Reimplemented from LLView.
Definition at line 325 of file llmultislider.cpp.
References FALSE, LLFocusMgr::getMouseCapture(), gFocusMgr, make_ui_sound(), LLUICtrl::mCallbackUserData, mMouseUpCallback, NULL, LLFocusMgr::setMouseCapture(), and TRUE.

Reimplemented from LLView.
Definition at line 348 of file llmultislider.cpp.
References LLUICtrl::getIsChrome(), gFocusMgr, make_ui_sound(), MASK_CONTROL, LLUICtrl::mCallbackUserData, mCurSlider, mDragStartThumbRect, mInitialValue, mMouseDownCallback, mMouseOffset, mThumbRects, MULTI_THUMB_WIDTH, LLUICtrl::onCommit(), setCurSliderValue(), LLUICtrl::setFocus(), LLFocusMgr::setMouseCapture(), and TRUE.

Reimplemented from LLView.
Definition at line 398 of file llmultislider.cpp.
References FALSE, getCurSliderValue(), getIncrement(), KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_UP, LLUICtrl::onCommit(), setCurSliderValue(), and TRUE.

| void LLMultiSlider::draw | ( | void | ) | [virtual] |
Reimplemented from LLView.
Definition at line 424 of file llmultislider.cpp.
References LLView::draw(), EXTRA_TRIANGLE_HEIGHT, EXTRA_TRIANGLE_WIDTH, FALSE, LLView::getEnabled(), LLFocusMgr::getFocusColor(), LLFocusMgr::getFocusFlashWidth(), LLRectBase< Type >::getHeight(), LLFocusMgr::getMouseCapture(), LLView::getRect(), LLImageProviderInterface::getUIImage(), gFocusMgr, gl_rect_2d(), gl_triangle_2d(), LLUICtrl::hasFocus(), mCurSlider, mDragStartThumbRect, mDrawTrack, mThumbCenterColor, mThumbCenterSelectedColor, mThumbRects, mTrackColor, mTriangleColor, MULTI_TRACK_HEIGHT, mUseTriangle, S32, LLUI::sImageProvider, LLRectBase< Type >::stretch(), and TRUE.

LLSD LLMultiSlider::mValue [protected] |
Definition at line 99 of file llmultislider.h.
Referenced by addSlider(), deleteSlider(), findUnusedValue(), getSliderValue(), getValue(), LLMultiSlider(), setCurSlider(), and setSliderValue().
F32 LLMultiSlider::mInitialValue [protected] |
Definition at line 100 of file llmultislider.h.
Referenced by addSlider(), findUnusedValue(), getInitialValue(), and handleMouseDown().
F32 LLMultiSlider::mMinValue [protected] |
Definition at line 101 of file llmultislider.h.
Referenced by findUnusedValue(), getMinValue(), handleHover(), setMinValue(), and setSliderValue().
F32 LLMultiSlider::mMaxValue [protected] |
Definition at line 102 of file llmultislider.h.
Referenced by findUnusedValue(), getMaxValue(), handleHover(), setMaxValue(), and setSliderValue().
F32 LLMultiSlider::mIncrement [protected] |
Definition at line 103 of file llmultislider.h.
Referenced by findUnusedValue(), getIncrement(), setIncrement(), and setSliderValue().
LLString LLMultiSlider::mCurSlider [protected] |
Definition at line 104 of file llmultislider.h.
Referenced by addSlider(), deleteCurSlider(), deleteSlider(), draw(), getCurSlider(), getCurSliderValue(), handleMouseDown(), LLMultiSlider(), setCurSlider(), setCurSliderValue(), setSliderValue(), and setValue().
S32 LLMultiSlider::mNameCounter = 0 [static, protected] |
S32 LLMultiSlider::mMaxNumSliders [protected] |
BOOL LLMultiSlider::mAllowOverlap [protected] |
BOOL LLMultiSlider::mDrawTrack [protected] |
BOOL LLMultiSlider::mUseTriangle [protected] |
S32 LLMultiSlider::mMouseOffset [protected] |
hacked in toggle to use a triangle
Definition at line 112 of file llmultislider.h.
Referenced by handleHover(), and handleMouseDown().
LLRect LLMultiSlider::mDragStartThumbRect [protected] |
std::map<LLString, LLRect> LLMultiSlider::mThumbRects [protected] |
Definition at line 115 of file llmultislider.h.
Referenced by addSlider(), clear(), deleteSlider(), draw(), handleMouseDown(), and setSliderValue().
LLColor4 LLMultiSlider::mTrackColor [protected] |
LLColor4 LLMultiSlider::mThumbOutlineColor [protected] |
Definition at line 117 of file llmultislider.h.
LLColor4 LLMultiSlider::mThumbCenterColor [protected] |
LLColor4 LLMultiSlider::mThumbCenterSelectedColor [protected] |
LLColor4 LLMultiSlider::mDisabledThumbColor [protected] |
Definition at line 120 of file llmultislider.h.
LLColor4 LLMultiSlider::mTriangleColor [protected] |
void(* LLMultiSlider::mMouseDownCallback)(LLUICtrl *ctrl, void *userdata) [protected] |
Referenced by handleMouseDown(), and setMouseDownCallback().
void(* LLMultiSlider::mMouseUpCallback)(LLUICtrl *ctrl, void *userdata) [protected] |
Referenced by handleMouseUp(), and setMouseUpCallback().
1.5.5