summaryrefslogtreecommitdiff
path: root/indra/llui/llview.h
diff options
context:
space:
mode:
authorAndrew A. de Laix <alain@lindenlab.com>2010-12-21 10:33:58 -0800
committerAndrew A. de Laix <alain@lindenlab.com>2010-12-21 10:33:58 -0800
commite1b198a36b051051941c61d0a558766591ed4cfc (patch)
tree1809bf28779ab1f9b0cd05c97f94af3b7dfa5532 /indra/llui/llview.h
parentfdd5348f81d51363a1639de8b3cc4414fc0f4982 (diff)
parent9c97a200bebe310f91c9ab181fbe337eeab30aaa (diff)
Merge from trunk
Diffstat (limited to 'indra/llui/llview.h')
-rw-r--r--indra/llui/llview.h17
1 files changed, 7 insertions, 10 deletions
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index 33d345beff..a5d8e31640 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -116,7 +116,8 @@ public:
visible,
mouse_opaque,
use_bounding_rect,
- from_xui;
+ from_xui,
+ focus_root;
Optional<S32> tab_group,
default_tab_group;
@@ -466,12 +467,8 @@ public:
template <class T> T* getDefaultWidget(const std::string& name) const
{
- default_widget_map_t::const_iterator found_it = getDefaultWidgetMap().find(name);
- if (found_it == getDefaultWidgetMap().end())
- {
- return NULL;
- }
- return dynamic_cast<T*>(found_it->second);
+ LLView* widgetp = getDefaultWidgetContainer().findChildView(name);
+ return dynamic_cast<T*>(widgetp);
}
//////////////////////////////////////////////
@@ -585,9 +582,9 @@ private:
typedef std::map<std::string, LLView*> default_widget_map_t;
// allocate this map no demand, as it is rarely needed
- mutable default_widget_map_t* mDefaultWidgets;
+ mutable LLView* mDefaultWidgets;
- default_widget_map_t& getDefaultWidgetMap() const;
+ LLView& getDefaultWidgetContainer() const;
public:
// Depth in view hierarchy during rendering
@@ -654,7 +651,7 @@ template <class T> T* LLView::getChild(const std::string& name, BOOL recurse) co
return NULL;
}
- getDefaultWidgetMap()[name] = result;
+ getDefaultWidgetContainer().addChild(result);
}
}
return result;