diff options
author | Vadim Savchuk <vsavchuk@productengine.com> | 2010-04-21 16:58:28 +0300 |
---|---|---|
committer | Vadim Savchuk <vsavchuk@productengine.com> | 2010-04-21 16:58:28 +0300 |
commit | 85e47b0cf058c3999bdcc3ae3cc7585fdefaa581 (patch) | |
tree | 628c64e1992df6fa57248c03385284d30f61a867 /indra/llui/llaccordionctrl.cpp | |
parent | 74df84be94b93f6068acd2619859a574343be41d (diff) | |
parent | 2ce7556e53544e50a4d4d28705976655cafa6992 (diff) |
merge
--HG--
branch : product-engine
Diffstat (limited to 'indra/llui/llaccordionctrl.cpp')
-rw-r--r-- | indra/llui/llaccordionctrl.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp index cdcf780d2e..136fd2a9ac 100644 --- a/indra/llui/llaccordionctrl.cpp +++ b/indra/llui/llaccordionctrl.cpp @@ -332,11 +332,31 @@ void LLAccordionCtrl::addCollapsibleCtrl(LLView* view) if(std::find(getChildList()->begin(),getChildList()->end(),accordion_tab) == getChildList()->end()) addChild(accordion_tab); mAccordionTabs.push_back(accordion_tab); - + accordion_tab->setDropDownStateChangedCallback( boost::bind(&LLAccordionCtrl::onCollapseCtrlCloseOpen, this, mAccordionTabs.size() - 1) ); } +void LLAccordionCtrl::removeCollapsibleCtrl(LLView* view) +{ + LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(view); + if(!accordion_tab) + return; + + if(std::find(getChildList()->begin(),getChildList()->end(),accordion_tab) != getChildList()->end()) + removeChild(accordion_tab); + + for (std::vector<LLAccordionCtrlTab*>::iterator iter = mAccordionTabs.begin(); + iter != mAccordionTabs.end(); ++iter) + { + if (accordion_tab == (*iter)) + { + mAccordionTabs.erase(iter); + break; + } + } +} + void LLAccordionCtrl::arrangeSinge() { S32 panel_left = BORDER_MARGIN; // Margin from left side of Splitter |