SL-92 WIP - ui floater tweaks for hover height control
parent
626ee6777e
commit
52ed6ac286
|
|
@ -58,7 +58,8 @@ LLSliderCtrl::LLSliderCtrl(const LLSliderCtrl::Params& p)
|
|||
mPrecision(p.decimal_digits),
|
||||
mTextEnabledColor(p.text_color()),
|
||||
mTextDisabledColor(p.text_disabled_color()),
|
||||
mLabelWidth(p.label_width)
|
||||
mLabelWidth(p.label_width),
|
||||
mEditorCommitSignal(NULL)
|
||||
{
|
||||
S32 top = getRect().getHeight();
|
||||
S32 bottom = 0;
|
||||
|
|
@ -196,6 +197,11 @@ LLSliderCtrl::LLSliderCtrl(const LLSliderCtrl::Params& p)
|
|||
updateText();
|
||||
}
|
||||
|
||||
LLSliderCtrl::~LLSliderCtrl()
|
||||
{
|
||||
delete mEditorCommitSignal;
|
||||
}
|
||||
|
||||
// static
|
||||
void LLSliderCtrl::onEditorGainFocus( LLFocusableElement* caller, void *userdata )
|
||||
{
|
||||
|
|
@ -308,6 +314,8 @@ void LLSliderCtrl::onEditorCommit( LLUICtrl* ctrl, const LLSD& userdata )
|
|||
if( success )
|
||||
{
|
||||
self->onCommit();
|
||||
if (self->mEditorCommitSignal)
|
||||
(*(self->mEditorCommitSignal))(self, self->getValueF32());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -421,6 +429,11 @@ boost::signals2::connection LLSliderCtrl::setSliderMouseUpCallback( const commit
|
|||
return mSlider->setMouseUpCallback( cb );
|
||||
}
|
||||
|
||||
boost::signals2::connection LLSliderCtrl::setSliderEditorCommitCallback( const commit_signal_t::slot_type& cb )
|
||||
{
|
||||
if (!mEditorCommitSignal) mEditorCommitSignal = new commit_signal_t();
|
||||
return mEditorCommitSignal->connect(cb);
|
||||
}
|
||||
void LLSliderCtrl::onTabInto()
|
||||
{
|
||||
if( mEditor )
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ protected:
|
|||
LLSliderCtrl(const Params&);
|
||||
friend class LLUICtrlFactory;
|
||||
public:
|
||||
virtual ~LLSliderCtrl() {} // Children all cleaned up by default view destructor.
|
||||
virtual ~LLSliderCtrl();
|
||||
|
||||
/*virtual*/ F32 getValueF32() const { return mSlider->getValueF32(); }
|
||||
void setValue(F32 v, BOOL from_event = FALSE);
|
||||
|
|
@ -112,6 +112,7 @@ public:
|
|||
|
||||
boost::signals2::connection setSliderMouseDownCallback( const commit_signal_t::slot_type& cb );
|
||||
boost::signals2::connection setSliderMouseUpCallback( const commit_signal_t::slot_type& cb );
|
||||
boost::signals2::connection setSliderEditorCommitCallback( const commit_signal_t::slot_type& cb );
|
||||
|
||||
/*virtual*/ void onTabInto();
|
||||
|
||||
|
|
@ -150,6 +151,8 @@ private:
|
|||
|
||||
LLUIColor mTextEnabledColor;
|
||||
LLUIColor mTextDisabledColor;
|
||||
|
||||
commit_signal_t* mEditorCommitSignal;
|
||||
};
|
||||
|
||||
#endif // LL_LLSLIDERCTRL_H
|
||||
|
|
|
|||
|
|
@ -37,11 +37,14 @@ LLFloaterHoverHeight::LLFloaterHoverHeight(const LLSD& key) : LLFloater(key)
|
|||
|
||||
BOOL LLFloaterHoverHeight::postBuild()
|
||||
{
|
||||
LLSliderCtrl* sldrCtrl = static_cast<LLSliderCtrl*>(ctrl);
|
||||
|
||||
LLVector3 offset = gSavedSettings.getVector3("AvatarPosFinalOffset");
|
||||
F32 value = offset[2];
|
||||
|
||||
LLSliderCtrl* sldrCtrl = getChild<LLSliderCtrl>("HoverHeightSlider");
|
||||
sldrCtrl->setValue(value,FALSE);
|
||||
sldrCtrl->setSliderMouseUpCallback(boost::bind(&LLFloaterHoverHeight::onFinalCommit,this));
|
||||
sldrCtrl->setSliderEditorCommitCallback(boost::bind(&LLFloaterHoverHeight::onFinalCommit,this));
|
||||
childSetCommitCallback("HoverHeightSlider", &LLFloaterHoverHeight::onSliderMoved, NULL);
|
||||
|
||||
return TRUE;
|
||||
|
|
@ -57,3 +60,10 @@ void LLFloaterHoverHeight::onSliderMoved(LLUICtrl* ctrl, void* userData)
|
|||
offset[2] = value;
|
||||
gSavedSettings.setVector3("AvatarPosFinalOffset",offset);
|
||||
}
|
||||
|
||||
// Do extra send-to-the-server work when slider drag completes, or new
|
||||
// value entered as text.
|
||||
void LLFloaterHoverHeight::onFinalCommit()
|
||||
{
|
||||
LL_INFOS() << "FINAL FINAL!!!" << LL_ENDL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@ public:
|
|||
BOOL postBuild();
|
||||
|
||||
static void onSliderMoved(LLUICtrl* ctrl, void* userData);
|
||||
|
||||
void onFinalCommit();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue