#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().