// static void LLMultiSliderCtrl::onEditorCommit( LLUICtrl* caller, void *userdata ) { LLMultiSliderCtrl* self = (LLMultiSliderCtrl*) userdata; llassert( caller == self->mEditor ); BOOL success = FALSE; F32 val = self->mCurValue; F32 saved_val = self->mCurValue; std::string text = self->mEditor->getText(); if( LLLineEditor::postvalidateFloat( text ) ) { LLLocale locale(LLLocale::USER_LOCALE); val = (F32) atof( text.c_str() ); if( self->mMultiSlider->getMinValue() <= val && val <= self->mMultiSlider->getMaxValue() ) { if( self->mValidateCallback ) { self->setCurSliderValue( val ); // set the value temporarily so that the callback can retrieve it. if( self->mValidateCallback( self, self->mCallbackUserData ) ) { success = TRUE; } } else { self->setCurSliderValue( val ); success = TRUE; } } } if( success ) { self->onCommit(); } else { if( self->getCurSliderValue() != saved_val ) { self->setCurSliderValue( saved_val ); } self->reportInvalidData(); } self->updateText(); }
// static void LLMultiSliderCtrl::onSliderCommit( LLUICtrl* caller, void *userdata ) { LLMultiSliderCtrl* self = (LLMultiSliderCtrl*) userdata; //llassert( caller == self->mSlider ); BOOL success = FALSE; F32 saved_val = self->mCurValue; F32 new_val = self->mMultiSlider->getCurSliderValue(); if( self->mValidateCallback ) { self->mCurValue = new_val; // set the value temporarily so that the callback can retrieve it. if( self->mValidateCallback( self, self->mCallbackUserData ) ) { success = TRUE; } } else { self->mCurValue = new_val; success = TRUE; } if( success ) { self->onCommit(); } else { if( self->mCurValue != saved_val ) { self->setCurSliderValue( saved_val ); } self->reportInvalidData(); } self->updateText(); }