本文整理汇总了C++中LLCtrlListInterface::getFirstSelectedIndex方法的典型用法代码示例。如果您正苦于以下问题:C++ LLCtrlListInterface::getFirstSelectedIndex方法的具体用法?C++ LLCtrlListInterface::getFirstSelectedIndex怎么用?C++ LLCtrlListInterface::getFirstSelectedIndex使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LLCtrlListInterface
的用法示例。
在下文中一共展示了LLCtrlListInterface::getFirstSelectedIndex方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onCommitGesture
void LLChatBar::onCommitGesture(LLUICtrl* ctrl)
{
LLCtrlListInterface* gestures = mGestureCombo ? mGestureCombo->getListInterface() : NULL;
if (gestures)
{
S32 index = gestures->getFirstSelectedIndex();
if (index == 0)
{
return;
}
const std::string& trigger = gestures->getSelectedValue().asString();
// pretend the user chatted the trigger string, to invoke
// substitution and logging.
std::string text(trigger);
std::string revised_text;
LLGestureMgr::instance().triggerAndReviseString(text, &revised_text);
revised_text = utf8str_trim(revised_text);
if (!revised_text.empty())
{
// Don't play nodding animation
sendChatFromViewer(revised_text, CHAT_TYPE_NORMAL, FALSE);
}
}
mGestureLabelTimer.start();
if (mGestureCombo != NULL)
{
// free focus back to chat bar
mGestureCombo->setFocus(FALSE);
}
}
示例2: onCommitGesture
void LLGestureComboList::onCommitGesture()
{
LLCtrlListInterface* gestures = getListInterface();
if (gestures)
{
S32 sel_index = gestures->getFirstSelectedIndex();
if (sel_index == 0)
{
return;
}
S32 index = gestures->getSelectedValue().asInteger();
if (mViewAllItemIndex == index)
{
// The same behavior as Ctrl+G. EXT-823
LLFloaterReg::toggleInstance("gestures");
gestures->selectFirstItem();
return;
}
if (mGetMoreItemIndex == index)
{
LLWeb::loadURLExternal(gSavedSettings.getString("GesturesMarketplaceURL"));
return;
}
if (index<0 || index >= (S32)mGestures.size())
{
llwarns << "out of range gesture index" << llendl;
}
else
{
LLMultiGesture* gesture = mGestures.at(index);
if(gesture)
{
LLGestureMgr::instance().playGesture(gesture);
if(!gesture->mReplaceText.empty())
{
LLNearbyChatBar::sendChatFromViewer(gesture->mReplaceText, CHAT_TYPE_NORMAL, FALSE);
}
}
}
}
}
示例3: refreshGestures
void LLGestureComboList::refreshGestures()
{
//store current selection so we can maintain it
LLSD cur_gesture = getValue();
mList->selectFirstItem();
mList->clearRows();
mGestures.clear();
LLGestureMgr::item_map_t::const_iterator it;
const LLGestureMgr::item_map_t& active_gestures = LLGestureMgr::instance().getActiveGestures();
LLSD::Integer idx(0);
for (it = active_gestures.begin(); it != active_gestures.end(); ++it)
{
LLMultiGesture* gesture = (*it).second;
if (gesture)
{
mList->addSimpleElement(gesture->mName, ADD_BOTTOM, LLSD(idx));
mGestures.push_back(gesture);
idx++;
}
}
sortByName();
// store indices for Get More and View All items (idx is the index followed by the last added Gesture)
if (mShowGetMore)
{
mGetMoreItemIndex = idx;
mList->addSimpleElement(LLTrans::getString("GetMoreGestures"), ADD_BOTTOM, LLSD(mGetMoreItemIndex));
}
if (mShowViewAll)
{
mViewAllItemIndex = idx + 1;
mList->addSimpleElement(LLTrans::getString("ViewAllGestures"), ADD_BOTTOM, LLSD(mViewAllItemIndex));
}
// Insert label after sorting, at top, with separator below it
mList->addSeparator(ADD_TOP);
mList->addSimpleElement(mLabel, ADD_TOP);
if (cur_gesture.isDefined())
{
mList->selectByValue(cur_gesture);
}
else
{
mList->selectFirstItem();
}
LLCtrlListInterface* gestures = getListInterface();
LLMultiGesture* gesture = NULL;
if (gestures)
{
S32 sel_index = gestures->getFirstSelectedIndex();
if (sel_index != 0)
{
S32 index = gestures->getSelectedValue().asInteger();
if (index<0 || index >= (S32)mGestures.size())
{
llwarns << "out of range gesture access" << llendl;
}
else
{
gesture = mGestures.at(index);
}
}
}
if(gesture && LLGestureMgr::instance().isGesturePlaying(gesture))
{
return;
}
mButton->setLabel(mLabel);
}
示例4: onCommitPreset
// static
void LLWindlightRemoteCtrl::onCommitPreset(LLUICtrl* ctrl, void* data)
{
LLWindlightRemoteCtrl* self = (LLWindlightRemoteCtrl*)data;
LLComboBox* presetsCombo = self->getChild<LLComboBox>("Presets");
LLCtrlListInterface* presets = presetsCombo ? presetsCombo->getListInterface() : NULL;
if (presets)
{
S32 index = presets->getFirstSelectedIndex();
if (index < 0)
{
// Open Advanced Sky
LLFloaterWindLight::show();
return;
}
// check for World menu options; if none, apply preset
std::string selected = presetsCombo->getSelectedValue().asString();
/*if (selected == self->getString("atmosphere"))
{
if (!LLFloaterWindLight::instance()->getVisible())
{
LLFloaterWindLight::show();
}
LLFloaterWindLight::instance()->selectTab("Atmosphere");
}
else if (selected == self->getString("lighting"))
{
if (!LLFloaterWindLight::instance()->getVisible())
{
LLFloaterWindLight::show();
}
LLFloaterWindLight::instance()->selectTab("Lighting");
}
else if (selected == self->getString("clouds"))
{
if (!LLFloaterWindLight::instance()->getVisible())
{
LLFloaterWindLight::show();
}
LLFloaterWindLight::instance()->selectTab("Clouds");
}
else if (selected == self->getString("advanced_water"))
{
LLFloaterWater::show();
}
else*/ if (selected == self->getString("sunrise"))
{
// set the value, turn off animation
LLWLParamManager::instance()->mAnimator.setDayTime(0.25);
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
// then call update once
LLWLParamManager::instance()->mAnimator.update(
LLWLParamManager::instance()->mCurParams);
}
else if (selected == self->getString("noon"))
{
// set the value, turn off animation
LLWLParamManager::instance()->mAnimator.setDayTime(0.567);
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
// then call update once
LLWLParamManager::instance()->mAnimator.update(
LLWLParamManager::instance()->mCurParams);
}
else if (selected == self->getString("sunset"))
{
// set the value, turn off animation
LLWLParamManager::instance()->mAnimator.setDayTime(0.75);
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
// then call update once
LLWLParamManager::instance()->mAnimator.update(
LLWLParamManager::instance()->mCurParams);
}
else if (selected == self->getString("midnight"))
{
// set the value, turn off animation
LLWLParamManager::instance()->mAnimator.setDayTime(0.0);
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
// then call update once
LLWLParamManager::instance()->mAnimator.update(
LLWLParamManager::instance()->mCurParams);
}
else if (selected == self->getString("revert_region"))
{
LLWLParamManager::instance()->mAnimator.mIsRunning = true;
LLWLParamManager::instance()->mAnimator.mUseLindenTime = true;
}
else
{
//.........这里部分代码省略.........