// static void LLSpinCtrl::onDownBtn( void *userdata ) { LLSpinCtrl* self = (LLSpinCtrl*) userdata; if( self->getEnabled() ) { F32 val = (F32)self->getValue().asReal() - self->mIncrement; val = clamp_precision(val, self->mPrecision); val = llmax( val, self->mMinValue ); if( self->mValidateCallback ) { F32 saved_val = (F32)self->getValue().asReal(); self->setValue(val); if( !self->mValidateCallback( self, self->mCallbackUserData ) ) { self->setValue( saved_val ); self->reportInvalidData(); self->updateEditor(); return; } } else { self->setValue(val); } self->updateEditor(); self->onCommit(); } }
// static void LLSpinCtrl::onDownBtn( void *userdata ) { LLSpinCtrl* self = (LLSpinCtrl*) userdata; if( self->getEnabled() ) { F32 val = (F32)self->getValue().asReal() - get_increment(self->mIncrement, self->mPrecision); val = clamp_precision(val, self->mPrecision); val = llmax( val, self->mMinValue ); if (val < self->mMinValue) val = self->mMinValue; if (val > self->mMaxValue) val = self->mMaxValue; F32 saved_val = (F32)self->getValue().asReal(); self->setValue(val); if( (self->mValidateCallback && !self->mValidateCallback( self, self->mCallbackUserData ) ) || (self->mValidateSignal && !(*(self->mValidateSignal))( self, val ) )) { self->setValue( saved_val ); self->reportInvalidData(); self->updateEditor(); return; } self->updateEditor(); self->onCommit(); } }
// static void LLSpinCtrl::onUpBtn( void *userdata ) { LLSpinCtrl* self = (LLSpinCtrl*) userdata; if( self->getEnabled() ) { // use getValue()/setValue() to force reload from/to control F32 val = (F32)self->getValue().asReal() + self->mIncrement; val = clamp_precision(val, self->mPrecision); val = llmin( val, self->mMaxValue ); if( self->mValidateCallback ) { F32 saved_val = (F32)self->getValue().asReal(); self->setValue(val); if( !self->mValidateCallback( self, self->mCallbackUserData ) ) { self->setValue( saved_val ); self->reportInvalidData(); self->updateEditor(); return; } } else { self->setValue(val); } self->updateEditor(); self->onCommit(); } }
// static void LLSpinCtrl::onDownBtn( void *userdata ) { LLSpinCtrl* self = (LLSpinCtrl*) userdata; if( self->getEnabled() ) { F32 inc = self->mIncrement; if(gKeyboard->getKeyDown(KEY_CONTROL))inc = inc * 0.10; else if(gKeyboard->getKeyDown(KEY_SHIFT))inc = inc * 0.01; F32 val = (F32)self->getValue().asReal() - inc; val = clamp_precision(val, self->mPrecision); val = llmax( val, self->mMinValue ); if( self->mValidateCallback ) { F32 saved_val = (F32)self->getValue().asReal(); self->setValue(val); if( !self->mValidateCallback( self, self->mCallbackUserData ) ) { self->setValue( saved_val ); self->reportInvalidData(); self->updateEditor(); return; } } else { self->setValue(val); } self->updateEditor(); self->onCommit(); } }