// static, reacts to user clicking a valid field in the local scroll list. void LLFloaterTexturePicker::onLocalScrollCommit(LLUICtrl *ctrl, void *userdata) { LLFloaterTexturePicker* self = (LLFloaterTexturePicker*) userdata; LLUUID id = (LLUUID)self->mLocalScrollCtrl->getSelectedItemLabel( LOCALLIST_COL_ID ); self->mOwner->setImageAssetID( id ); if ( self->childGetValue("apply_immediate_check").asBoolean() ) { self->mOwner->onFloaterCommit(LLTextureCtrl::TEXTURE_CHANGE, id); } // calls an overridden function. }
// static void LLFloaterTexturePicker::onBtnUUID( void* userdata ) { LLFloaterTexturePicker* self = (LLFloaterTexturePicker*) userdata; if ( self) { std::string texture_uuid = self->childGetValue("texture_uuid").asString(); if (texture_uuid.length() == 36) { self->setImageID( LLUUID(texture_uuid) ); self->mIsDirty = TRUE; self->commitIfImmediateSet(); } } }
// static void LLFloaterTexturePicker::onBtnPipette( void* userdata ) { LLFloaterTexturePicker* self = (LLFloaterTexturePicker*) userdata; if ( self) { BOOL pipette_active = self->childGetValue("Pipette").asBoolean(); pipette_active = !pipette_active; if (pipette_active) { LLToolPipette::getInstance()->setSelectCallback(onTextureSelect, self); LLToolMgr::getInstance()->setTransientTool(LLToolPipette::getInstance()); } else { LLToolMgr::getInstance()->clearTransientTool(); } } }