// 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::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(); } }
void LLFloaterDayCycle::onTimeRateChanged(LLUICtrl* ctrl, void* userData) { // get the time LLSpinCtrl* secSpin = sDayCycle->getChild<LLSpinCtrl>( "WLLengthOfDaySec"); LLSpinCtrl* minSpin = sDayCycle->getChild<LLSpinCtrl>( "WLLengthOfDayMin"); LLSpinCtrl* hourSpin = sDayCycle->getChild<LLSpinCtrl>( "WLLengthOfDayHour"); F32 hour; hour = (F32)hourSpin->getValue().asReal(); F32 min; min = (F32)minSpin->getValue().asReal(); F32 sec; sec = (F32)secSpin->getValue().asReal(); F32 time = 60.0f * 60.0f * hour + 60.0f * min + sec; if(time <= 0) { time = 1; } LLWLParamManager::getInstance()->mDay.mDayRate = time; syncTrack(); }
// 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::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(); } }
void LLFloaterAO::onCheckBoxCommit(LLUICtrl* ctrl, void* userdata) { LLSpinCtrl* checkbox = (LLSpinCtrl*) ctrl; if(checkbox) { gSavedPerAccountSettings.setBOOL(checkbox->getName(), checkbox->getValue().asBoolean()); } }