From 51120aae8e4a810cc18a016328c0522b93f8534c Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Wed, 10 Jun 2009 12:00:18 -0700 Subject: Added pulldown label and fixed combobox not hiding --- linden/indra/newview/llfloatertools.cpp | 81 ++++++++++++---------- .../skins/default/xui/en-us/floater_tools.xml | 4 ++ 2 files changed, 50 insertions(+), 35 deletions(-) (limited to 'linden') diff --git a/linden/indra/newview/llfloatertools.cpp b/linden/indra/newview/llfloatertools.cpp index 2fc4c71..73b6061 100644 --- a/linden/indra/newview/llfloatertools.cpp +++ b/linden/indra/newview/llfloatertools.cpp @@ -1041,44 +1041,55 @@ void LLFloaterTools::updateTreeGrassCombo(bool visible) { if (visible) { - LLPCode pcode = LLToolPlacer::getObjectType(); - std::map::iterator it, end; - std::string selected; - if (pcode == LLToolPlacerPanel::sTree) - { - selected = gSavedSettings.getString("LastTree"); - it = LLVOTree::sSpeciesNames.begin(); - end = LLVOTree::sSpeciesNames.end(); - } - else if (pcode == LLToolPlacerPanel::sGrass) - { - selected = gSavedSettings.getString("LastGrass"); - it = LLVOGrass::sSpeciesNames.begin(); - end = LLVOGrass::sSpeciesNames.end(); - } - else - { - mComboTreesGrass->removeall(); - mComboTreesGrass->setLabel(LLStringExplicit("")); // LLComboBox::removeall() does not clear the label - mComboTreesGrass->setEnabled(false); - return; - } + LLPCode pcode = LLToolPlacer::getObjectType(); + std::map::iterator it, end; + std::string selected; + LLTextBox* tree_grass_label = getChild("tree_grass_label"); + if (pcode == LLToolPlacerPanel::sTree) + { + tree_grass_label->setVisible(true); + LLButton* button = getChild("ToolTree"); + tree_grass_label->setText(button->getToolTip()); + + selected = gSavedSettings.getString("LastTree"); + it = LLVOTree::sSpeciesNames.begin(); + end = LLVOTree::sSpeciesNames.end(); + } + else if (pcode == LLToolPlacerPanel::sGrass) + { + tree_grass_label->setVisible(true); + LLButton* button = getChild("ToolGrass"); + tree_grass_label->setText(button->getToolTip()); + + selected = gSavedSettings.getString("LastGrass"); + it = LLVOGrass::sSpeciesNames.begin(); + end = LLVOGrass::sSpeciesNames.end(); + } + else + { + mComboTreesGrass->removeall(); + mComboTreesGrass->setLabel(LLStringExplicit("")); // LLComboBox::removeall() does not clear the label + mComboTreesGrass->setEnabled(false); + mComboTreesGrass->setVisible(false); + tree_grass_label->setVisible(false); + return; + } - mComboTreesGrass->removeall(); - mComboTreesGrass->add("Random"); + mComboTreesGrass->removeall(); + mComboTreesGrass->add("Random"); - int select = 0, i = 0; + int select = 0, i = 0; - while (it != end) - { - const std::string &species = it->first; - mComboTreesGrass->add(species); ++i; - if (species == selected) select = i; - ++it; - } - // if saved species not found, default to "Random" - mComboTreesGrass->selectNthItem(select); - mComboTreesGrass->setEnabled(true); + while (it != end) + { + const std::string &species = it->first; + mComboTreesGrass->add(species); ++i; + if (species == selected) select = i; + ++it; + } + // if saved species not found, default to "Random" + mComboTreesGrass->selectNthItem(select); + mComboTreesGrass->setEnabled(true); } mComboTreesGrass->setVisible(visible); diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml b/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml index 6fc5374..b649614 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml @@ -227,6 +227,10 @@ image_unselected="object_grass.tga" label="" label_selected="" left_delta="23" mouse_opaque="true" name="ToolGrass" scale_image="TRUE" tool_tip="Grass" width="24" /> + -- cgit v1.1