コード例 #1
0
void LLWindlightRemoteCtrl::refreshPresets()
{
	// If we're teleporting or just logging in, no UI to refresh
	if (gViewerWindow->getShowProgress())
	{
		return;
	}

	LLComboBox*	presetsCombo = getChild<LLComboBox>("Presets", TRUE, TRUE);
	if (presetsCombo)
	{
		// snag current preset
		LLWLParamManager * param_mgr = LLWLParamManager::instance();
		LLWLParamSet& currentParams = param_mgr->mCurParams;
		
		// clear in case presets names have changed
		presetsCombo->clearRows();

		std::map<std::string, LLWLParamSet>::iterator mIt = 
			param_mgr->mParamList.begin();
		for(; mIt != param_mgr->mParamList.end(); mIt++) 
		{
			presetsCombo->add(mIt->first);
		}
		
		// insert separator and add World menu options
		// presetsCombo->addSeparator(ADD_BOTTOM);
		// presetsCombo->addSimpleElement(getString("atmosphere"), ADD_BOTTOM);
		// presetsCombo->addSimpleElement(getString("lighting"), ADD_BOTTOM);
		// presetsCombo->addSimpleElement(getString("clouds"), ADD_BOTTOM);
		// presetsCombo->addSimpleElement(getString("advanced_water"), ADD_BOTTOM);
		presetsCombo->addSeparator(ADD_BOTTOM);
		presetsCombo->addSimpleElement(getString("sunrise"), ADD_BOTTOM);
		presetsCombo->addSimpleElement(getString("noon"), ADD_BOTTOM);
		presetsCombo->addSimpleElement(getString("sunset"), ADD_BOTTOM);
		presetsCombo->addSimpleElement(getString("midnight"), ADD_BOTTOM);
		presetsCombo->addSimpleElement(getString("revert_region"), ADD_BOTTOM);

		if (!currentParams.mName.empty())
		{
			presetsCombo->selectByValue(LLSD(currentParams.mName));
		}
		else
		{
			presetsCombo->selectByValue(LLSD("Default"));
		}
	}
}