diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index 6cb77e51a9dc20d4b17da9c88bce2bf805c418eb..44a919a30379f9b55a4022dd1d78903bf1f740ba 100755
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -2905,13 +2905,6 @@ void LLFloaterView::syncFloaterTabOrder()
 			}
 		}
 	}
-
-	// sync draw order to tab order
-	for ( child_list_const_reverse_iter_t child_it = getChildList()->rbegin(); child_it != getChildList()->rend(); ++child_it)
-	{
-		LLFloater* floaterp = (LLFloater*)*child_it;
-		moveChildToFrontOfTabGroup(floaterp);
-	}
 }
 
 LLFloater*	LLFloaterView::getParentFloater(LLView* viewp) const
diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp
index f2acff9d555de0e2de34b55464fdefc50f09b7cc..ee905741617a9b7c95138b2971a97916e223664a 100755
--- a/indra/llui/llpanel.cpp
+++ b/indra/llui/llpanel.cpp
@@ -38,10 +38,8 @@
 #include "lldir.h"
 #include "lltimer.h"
 
-#include "llaccordionctrltab.h"
 #include "llbutton.h"
 #include "llmenugl.h"
-//#include "llstatusbar.h"
 #include "llui.h"
 #include "llkeyboard.h"
 #include "lllineeditor.h"
@@ -50,7 +48,6 @@
 #include "lluictrl.h"
 #include "lluictrlfactory.h"
 #include "llviewborder.h"
-#include "lltabcontainer.h"
 
 static LLDefaultChildRegistry::Register<LLPanel> r1("panel", &LLPanel::fromXML);
 LLPanel::factory_stack_t	LLPanel::sFactoryStack;
@@ -166,8 +163,8 @@ void LLPanel::removeBorder()
 // virtual
 void LLPanel::clearCtrls()
 {
-	LLView::ctrl_list_t ctrls = getCtrlList();
-	for (LLView::ctrl_list_t::iterator ctrl_it = ctrls.begin(); ctrl_it != ctrls.end(); ++ctrl_it)
+	LLPanel::ctrl_list_t ctrls = getCtrlList();
+	for (LLPanel::ctrl_list_t::iterator ctrl_it = ctrls.begin(); ctrl_it != ctrls.end(); ++ctrl_it)
 	{
 		LLUICtrl* ctrl = *ctrl_it;
 		ctrl->setFocus( FALSE );
@@ -178,14 +175,29 @@ void LLPanel::clearCtrls()
 
 void LLPanel::setCtrlsEnabled( BOOL b )
 {
-	LLView::ctrl_list_t ctrls = getCtrlList();
-	for (LLView::ctrl_list_t::iterator ctrl_it = ctrls.begin(); ctrl_it != ctrls.end(); ++ctrl_it)
+	LLPanel::ctrl_list_t ctrls = getCtrlList();
+	for (LLPanel::ctrl_list_t::iterator ctrl_it = ctrls.begin(); ctrl_it != ctrls.end(); ++ctrl_it)
 	{
 		LLUICtrl* ctrl = *ctrl_it;
 		ctrl->setEnabled( b );
 	}
 }
 
+LLPanel::ctrl_list_t LLPanel::getCtrlList() const
+{
+	ctrl_list_t controls;
+	for(child_list_t::const_iterator it = getChildList()->begin(), end_it = getChildList()->end(); it != end_it; ++it)
+	{
+		LLView* viewp = *it;
+		if(viewp->isCtrl())
+		{
+			controls.push_back(static_cast<LLUICtrl*>(viewp));
+		}
+	}
+	return controls;
+}
+
+
 void LLPanel::draw()
 {
 	F32 alpha = getDrawContext().mAlpha;
@@ -637,16 +649,6 @@ void LLPanel::childSetVisible(const std::string& id, bool visible)
 	}
 }
 
-bool LLPanel::childIsVisible(const std::string& id) const
-{
-	LLView* child = findChild<LLView>(id);
-	if (child)
-	{
-		return (bool)child->getVisible();
-	}
-	return false;
-}
-
 void LLPanel::childSetEnabled(const std::string& id, bool enabled)
 {
 	LLView* child = findChild<LLView>(id);
@@ -656,55 +658,6 @@ void LLPanel::childSetEnabled(const std::string& id, bool enabled)
 	}
 }
 
-void LLPanel::childSetTentative(const std::string& id, bool tentative)
-{
-	LLUICtrl* child = findChild<LLUICtrl>(id);
-	if (child)
-	{
-		child->setTentative(tentative);
-	}
-}
-
-bool LLPanel::childIsEnabled(const std::string& id) const
-{
-	LLView* child = findChild<LLView>(id);
-	if (child)
-	{
-		return (bool)child->getEnabled();
-	}
-	return false;
-}
-
-
-void LLPanel::childSetToolTip(const std::string& id, const std::string& msg)
-{
-	LLView* child = findChild<LLView>(id);
-	if (child)
-	{
-		child->setToolTip(msg);
-	}
-}
-
-void LLPanel::childSetRect(const std::string& id, const LLRect& rect)
-{
-	LLView* child = findChild<LLView>(id);
-	if (child)
-	{
-		child->setRect(rect);
-	}
-}
-
-bool LLPanel::childGetRect(const std::string& id, LLRect& rect) const
-{
-	LLView* child = findChild<LLView>(id);
-	if (child)
-	{
-		rect = child->getRect();
-		return true;
-	}
-	return false;
-}
-
 void LLPanel::childSetFocus(const std::string& id, BOOL focus)
 {
 	LLUICtrl* child = findChild<LLUICtrl>(id);
@@ -740,15 +693,6 @@ void LLPanel::childSetCommitCallback(const std::string& id, boost::function<void
 	}
 }
 
-void LLPanel::childSetValidate(const std::string& id, boost::function<bool (const LLSD& data)> cb)
-{
-	LLUICtrl* child = findChild<LLUICtrl>(id);
-	if (child)
-	{
-		child->setValidateBeforeCommit(cb);
-	}
-}
-
 void LLPanel::childSetColor(const std::string& id, const LLColor4& color)
 {
 	LLUICtrl* child = findChild<LLUICtrl>(id);
@@ -828,95 +772,6 @@ BOOL LLPanel::childSetLabelArg(const std::string& id, const std::string& key, co
 	return FALSE;
 }
 
-BOOL LLPanel::childSetToolTipArg(const std::string& id, const std::string& key, const LLStringExplicit& text)
-{
-	LLView* child = findChild<LLView>(id);
-	if (child)
-	{
-		return child->setToolTipArg(key, text);
-	}
-	return FALSE;
-}
-
-void LLPanel::childShowTab(const std::string& id, const std::string& tabname, bool visible)
-{
-	LLTabContainer* child = findChild<LLTabContainer>(id);
-	if (child)
-	{
-		child->selectTabByName(tabname);
-	}
-}
-
-LLPanel *LLPanel::childGetVisibleTab(const std::string& id) const
-{
-	LLTabContainer* child = findChild<LLTabContainer>(id);
-	if (child)
-	{
-		return child->getCurrentPanel();
-	}
-	return NULL;
-}
-
-LLPanel* LLPanel::childGetVisibleTabWithHelp()
-{
-	LLView *child;
-
-	bfs_tree_iterator_t it = beginTreeBFS();
-	// skip ourselves
-	++it;
-	for (; it != endTreeBFS(); ++it)
-	{
-		child = *it;
-		LLPanel *curTabPanel = NULL;
-
-		// do we have a tab container?
-		LLTabContainer *tab = dynamic_cast<LLTabContainer *>(child);
-		if (tab && tab->getVisible())
-		{
-			curTabPanel = tab->getCurrentPanel();
-		}
-
-		// do we have an accordion tab?
-		LLAccordionCtrlTab* accordion = dynamic_cast<LLAccordionCtrlTab *>(child);
-		if (accordion && accordion->getDisplayChildren())
-		{
-			curTabPanel = dynamic_cast<LLPanel *>(accordion->getAccordionView());
-		}
-
-		// if we found a valid tab, does it have a help topic?
-		if (curTabPanel && !curTabPanel->getHelpTopic().empty())
-		{
-			return curTabPanel;
-		}
-	}
-
-	// couldn't find any active tabs with a help topic string
-	return NULL;
-}
-
-
-LLPanel *LLPanel::childGetVisiblePanelWithHelp()
-{
-	LLView *child;
-
-	bfs_tree_iterator_t it = beginTreeBFS();
-	// skip ourselves
-	++it;
-	for (; it != endTreeBFS(); ++it)
-	{
-		child = *it;
-		// do we have a panel with a help topic?
-		LLPanel *panel = dynamic_cast<LLPanel *>(child);
-		if (panel && panel->isInVisibleChain() && !panel->getHelpTopic().empty())
-		{
-			return panel;
-		}
-	}
-
-	// couldn't find any active panels with a help topic string
-	return NULL;
-}
-
 void LLPanel::childSetAction(const std::string& id, const commit_signal_t::slot_type& function)
 {
 	LLButton* button = findChild<LLButton>(id);
@@ -935,24 +790,6 @@ void LLPanel::childSetAction(const std::string& id, boost::function<void(void*)>
 	}
 }
 
-void LLPanel::childSetActionTextbox(const std::string& id, boost::function<void(void*)> function, void* value)
-{
-	LLTextBox* textbox = findChild<LLTextBox>(id);
-	if (textbox)
-	{
-		textbox->setClickedCallback(boost::bind(function, value));
-	}
-}
-
-void LLPanel::childSetControlName(const std::string& id, const std::string& control_name)
-{
-	LLUICtrl* view = findChild<LLUICtrl>(id);
-	if (view)
-	{
-		view->setControlName(control_name, NULL);
-	}
-}
-
 boost::signals2::connection LLPanel::setVisibleCallback( const commit_signal_t::slot_type& cb )
 {
 	if (!mVisibleSignal)
diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h
index ac8583ece95c1f16ef478e042da57e8c60d2dced..9f2a31e6329b48f754883122be58b147ccc5dc41 100755
--- a/indra/llui/llpanel.h
+++ b/indra/llui/llpanel.h
@@ -105,6 +105,8 @@ class LLPanel : public LLUICtrl, public LLBadgeHolder
 	LLPanel(const LLPanel::Params& params = getDefaultParams());
 	
 public:
+	typedef std::vector<class LLUICtrl *>				ctrl_list_t;
+
 	BOOL buildFromFile(const std::string &filename, const LLPanel::Params& default_params = getDefaultParams());
 
 	static LLPanel* createFactoryPanel(const std::string& name);
@@ -154,6 +156,7 @@ class LLPanel : public LLUICtrl, public LLBadgeHolder
 	std::string		getHelpTopic() const { return mHelpTopic; }
 	
 	void			setCtrlsEnabled(BOOL b);
+	ctrl_list_t		getCtrlList() const;
 
 	LLHandle<LLPanel>	getHandle() const { return getDerivedHandle<LLPanel>(); }
 
@@ -174,19 +177,10 @@ class LLPanel : public LLUICtrl, public LLBadgeHolder
 
 	// LLView
 	void childSetVisible(const std::string& name, bool visible);
-	void childShow(const std::string& name) { childSetVisible(name, true); }
-	void childHide(const std::string& name) { childSetVisible(name, false); }
-	bool childIsVisible(const std::string& id) const;
-	void childSetTentative(const std::string& name, bool tentative);
 
 	void childSetEnabled(const std::string& name, bool enabled);
 	void childEnable(const std::string& name)	{ childSetEnabled(name, true); }
 	void childDisable(const std::string& name) { childSetEnabled(name, false); };
-	bool childIsEnabled(const std::string& id) const;
-
-	void childSetToolTip(const std::string& id, const std::string& msg);
-	void childSetRect(const std::string& id, const LLRect &rect);
-	bool childGetRect(const std::string& id, LLRect& rect) const;
 
 	// LLUICtrl
 	void childSetFocus(const std::string& id, BOOL focus = TRUE);
@@ -197,9 +191,6 @@ class LLPanel : public LLUICtrl, public LLBadgeHolder
 	// which takes a generic slot.  Or use mCommitCallbackRegistrar.add() with
 	// a named callback and reference it in XML.
 	void childSetCommitCallback(const std::string& id, boost::function<void (LLUICtrl*,void*)> cb, void* data);	
-	
-	void childSetValidate(const std::string& id, boost::function<bool (const LLSD& data)> cb );
-
 	void childSetColor(const std::string& id, const LLColor4& color);
 
 	LLCtrlSelectionInterface* childGetSelectionInterface(const std::string& id) const;
@@ -214,34 +205,11 @@ class LLPanel : public LLUICtrl, public LLBadgeHolder
 	// Not implemented for all types, defaults to noop, returns FALSE if not applicaple
 	BOOL childSetTextArg(const std::string& id, const std::string& key, const LLStringExplicit& text);
 	BOOL childSetLabelArg(const std::string& id, const std::string& key, const LLStringExplicit& text);
-	BOOL childSetToolTipArg(const std::string& id, const std::string& key, const LLStringExplicit& text);
 	
-	// LLTabContainer
-	void childShowTab(const std::string& id, const std::string& tabname, bool visible = true);
-	LLPanel *childGetVisibleTab(const std::string& id) const;
-
-	// Find a child with a nonempty Help topic 
-	LLPanel *childGetVisibleTabWithHelp();
-	LLPanel *childGetVisiblePanelWithHelp();
-
-	// LLTextBox/LLTextEditor/LLLineEditor
-	void childSetText(const std::string& id, const LLStringExplicit& text) { childSetValue(id, LLSD(text)); }
-
-	// *NOTE: Does not return text from <string> tags, use getString()
-	std::string childGetText(const std::string& id) const { return childGetValue(id).asString(); }
-
-	// LLLineEditor
-	void childSetPrevalidate(const std::string& id, bool (*func)(const LLWString &) );
-
 	// LLButton
 	void childSetAction(const std::string& id, boost::function<void(void*)> function, void* value);
 	void childSetAction(const std::string& id, const commit_signal_t::slot_type& function);
 
-	// LLTextBox
-	void childSetActionTextbox(const std::string& id, boost::function<void(void*)> function, void* value = NULL);
-
-	void childSetControlName(const std::string& id, const std::string& control_name);
-
 	static LLView*	fromXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr output_node = NULL);
 
 	//call onOpen to let panel know when it's about to be shown or activated
diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp
index ef364dd3d3804c285c40820c49e2847c6e43cccd..d0a5931e8c1612f1effb4a957b83b3d40d46166f 100755
--- a/indra/llui/lluictrl.cpp
+++ b/indra/llui/lluictrl.cpp
@@ -33,6 +33,8 @@
 #include "llfocusmgr.h"
 #include "llpanel.h"
 #include "lluictrlfactory.h"
+#include "lltabcontainer.h"
+#include "llaccordionctrltab.h"
 
 static LLDefaultChildRegistry::Register<LLUICtrl> r("ui_ctrl");
 
@@ -702,54 +704,19 @@ BOOL LLUICtrl::getIsChrome() const
 	}
 }
 
-// this comparator uses the crazy disambiguating logic of LLCompareByTabOrder,
-// but to switch up the order so that children that have the default tab group come first
-// and those that are prior to the default tab group come last
-class CompareByDefaultTabGroup: public LLCompareByTabOrder
-{
-public:
-	CompareByDefaultTabGroup(const LLView::child_tab_order_t& order, S32 default_tab_group):
-			LLCompareByTabOrder(order),
-			mDefaultTabGroup(default_tab_group) {}
-private:
-	/*virtual*/ bool compareTabOrders(const LLView::tab_order_t & a, const LLView::tab_order_t & b) const
-	{
-		S32 ag = a.first; // tab group for a
-		S32 bg = b.first; // tab group for b
-		// these two ifs have the effect of moving elements prior to the default tab group to the end of the list 
-		// (still sorted relative to each other, though)
-		if(ag < mDefaultTabGroup && bg >= mDefaultTabGroup) return false;
-		if(bg < mDefaultTabGroup && ag >= mDefaultTabGroup) return true;
-		return a < b;  // sort correctly if they're both on the same side of the default tab group
-	}
-	S32 mDefaultTabGroup;
-};
 
 
-// Sorter for plugging into the query.
-// I'd have defined it local to the one method that uses it but that broke the VS 05 compiler. -MG
-class LLUICtrl::DefaultTabGroupFirstSorter : public LLQuerySorter, public LLSingleton<DefaultTabGroupFirstSorter>
-{
-public:
-	/*virtual*/ void operator() (LLView * parent, viewList_t &children) const
-	{	
-		children.sort(CompareByDefaultTabGroup(parent->getCtrlOrder(), parent->getDefaultTabGroup()));
-	}
-};
-
 LLTrace::BlockTimerStatHandle FTM_FOCUS_FIRST_ITEM("Focus First Item");
 
 BOOL LLUICtrl::focusFirstItem(BOOL prefer_text_fields, BOOL focus_flash)
 {
 	LL_RECORD_BLOCK_TIME(FTM_FOCUS_FIRST_ITEM);
 	// try to select default tab group child
-	LLCtrlQuery query = getTabOrderQuery();
-	// sort things such that the default tab group is at the front
-	query.setSorter(DefaultTabGroupFirstSorter::getInstance());
+	LLViewQuery query = getTabOrderQuery();
 	child_list_t result = query(this);
 	if(result.size() > 0)
 	{
-		LLUICtrl * ctrl = static_cast<LLUICtrl*>(result.front());
+		LLUICtrl * ctrl = static_cast<LLUICtrl*>(result.back());
 		if(!ctrl->hasFocus())
 		{
 			ctrl->setFocus(TRUE);
@@ -764,17 +731,20 @@ BOOL LLUICtrl::focusFirstItem(BOOL prefer_text_fields, BOOL focus_flash)
 	// search for text field first
 	if(prefer_text_fields)
 	{
-		LLCtrlQuery query = getTabOrderQuery();
+		LLViewQuery query = getTabOrderQuery();
 		query.addPreFilter(LLUICtrl::LLTextInputFilter::getInstance());
 		child_list_t result = query(this);
 		if(result.size() > 0)
 		{
-			LLUICtrl * ctrl = static_cast<LLUICtrl*>(result.front());
+			LLUICtrl * ctrl = static_cast<LLUICtrl*>(result.back());
 			if(!ctrl->hasFocus())
 			{
 				ctrl->setFocus(TRUE);
 				ctrl->onTabInto();  
-				gFocusMgr.triggerFocusFlash();
+				if(focus_flash)
+				{
+					gFocusMgr.triggerFocusFlash();
+				}
 			}
 			return TRUE;
 		}
@@ -783,58 +753,26 @@ BOOL LLUICtrl::focusFirstItem(BOOL prefer_text_fields, BOOL focus_flash)
 	result = getTabOrderQuery().run(this);
 	if(result.size() > 0)
 	{
-		LLUICtrl * ctrl = static_cast<LLUICtrl*>(result.front());
+		LLUICtrl * ctrl = static_cast<LLUICtrl*>(result.back());
 		if(!ctrl->hasFocus())
 		{
 			ctrl->setFocus(TRUE);
 			ctrl->onTabInto();  
-			gFocusMgr.triggerFocusFlash();
-		}
-		return TRUE;
-	}	
-	return FALSE;
-}
-
-BOOL LLUICtrl::focusLastItem(BOOL prefer_text_fields)
-{
-	// search for text field first
-	if(prefer_text_fields)
-	{
-		LLCtrlQuery query = getTabOrderQuery();
-		query.addPreFilter(LLUICtrl::LLTextInputFilter::getInstance());
-		child_list_t result = query(this);
-		if(result.size() > 0)
-		{
-			LLUICtrl * ctrl = static_cast<LLUICtrl*>(result.back());
-			if(!ctrl->hasFocus())
+			if(focus_flash)
 			{
-				ctrl->setFocus(TRUE);
-				ctrl->onTabInto();  
 				gFocusMgr.triggerFocusFlash();
 			}
-			return TRUE;
-		}
-	}
-	// no text field found, or we don't care about text fields
-	child_list_t result = getTabOrderQuery().run(this);
-	if(result.size() > 0)
-	{
-		LLUICtrl * ctrl = static_cast<LLUICtrl*>(result.back());
-		if(!ctrl->hasFocus())
-		{
-			ctrl->setFocus(TRUE);
-			ctrl->onTabInto();  
-			gFocusMgr.triggerFocusFlash();
 		}
 		return TRUE;
 	}	
 	return FALSE;
 }
 
+
 BOOL LLUICtrl::focusNextItem(BOOL text_fields_only)
 {
 	// this assumes that this method is called on the focus root.
-	LLCtrlQuery query = getTabOrderQuery();
+	LLViewQuery query = getTabOrderQuery();
 	static LLUICachedControl<bool> tab_to_text_fields_only ("TabToTextFieldsOnly", false);
 	if(text_fields_only || tab_to_text_fields_only)
 	{
@@ -847,7 +785,7 @@ BOOL LLUICtrl::focusNextItem(BOOL text_fields_only)
 BOOL LLUICtrl::focusPrevItem(BOOL text_fields_only)
 {
 	// this assumes that this method is called on the focus root.
-	LLCtrlQuery query = getTabOrderQuery();
+	LLViewQuery query = getTabOrderQuery();
 	static LLUICachedControl<bool> tab_to_text_fields_only ("TabToTextFieldsOnly", false);
 	if(text_fields_only || tab_to_text_fields_only)
 	{
@@ -904,8 +842,26 @@ bool LLUICtrl::findHelpTopic(std::string& help_topic_out)
 
 		if (panel)
 		{
+
+			LLView *child;
+			LLPanel *subpanel = NULL;
+
 			// does the panel have a sub-panel with a help topic?
-			LLPanel *subpanel = panel->childGetVisiblePanelWithHelp();
+			bfs_tree_iterator_t it = beginTreeBFS();
+			// skip ourselves
+			++it;
+			for (; it != endTreeBFS(); ++it)
+			{
+				child = *it;
+				// do we have a panel with a help topic?
+				LLPanel *panel = dynamic_cast<LLPanel *>(child);
+				if (panel && panel->isInVisibleChain() && !panel->getHelpTopic().empty())
+				{
+					subpanel = panel;
+					break;
+				}
+			}
+
 			if (subpanel)
 			{
 				help_topic_out = subpanel->getHelpTopic();
@@ -913,10 +869,41 @@ bool LLUICtrl::findHelpTopic(std::string& help_topic_out)
 			}
 
 			// does the panel have an active tab with a help topic?
-			LLPanel *tab = panel->childGetVisibleTabWithHelp();
-			if (tab)
+			LLPanel *tab_panel = NULL;
+
+			it = beginTreeBFS();
+			// skip ourselves
+			++it;
+			for (; it != endTreeBFS(); ++it)
+			{
+				child = *it;
+				LLPanel *curTabPanel = NULL;
+
+				// do we have a tab container?
+				LLTabContainer *tab = dynamic_cast<LLTabContainer *>(child);
+				if (tab && tab->getVisible())
+				{
+					curTabPanel = tab->getCurrentPanel();
+				}
+
+				// do we have an accordion tab?
+				LLAccordionCtrlTab* accordion = dynamic_cast<LLAccordionCtrlTab *>(child);
+				if (accordion && accordion->getDisplayChildren())
+				{
+					curTabPanel = dynamic_cast<LLPanel *>(accordion->getAccordionView());
+				}
+
+				// if we found a valid tab, does it have a help topic?
+				if (curTabPanel && !curTabPanel->getHelpTopic().empty())
+				{
+					tab_panel = curTabPanel;
+					break;
+				}
+			}
+
+			if (tab_panel)
 			{
-				help_topic_out = tab->getHelpTopic();
+				help_topic_out = tab_panel->getHelpTopic();
 				return true; // success (tab)
 			}
 
diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h
index fb2196bb1640a164a23b390a27c9927a3d7f7e61..99553ee0d26c701fb042895c54c15d6a7d987498 100755
--- a/indra/llui/lluictrl.h
+++ b/indra/llui/lluictrl.h
@@ -220,7 +220,6 @@ class LLUICtrl
 	BOOL	focusNextItem(BOOL text_entry_only);
 	BOOL	focusPrevItem(BOOL text_entry_only);
 	BOOL 	focusFirstItem(BOOL prefer_text_fields = FALSE, BOOL focus_flash = TRUE );
-	BOOL	focusLastItem(BOOL prefer_text_fields = FALSE);
 
 	// Non Virtuals
 	LLHandle<LLUICtrl> getHandle() const { return getDerivedHandle<LLUICtrl>(); }
@@ -315,8 +314,6 @@ class LLUICtrl
 	BOOL			mTentative;
 
 	ETypeTransparency mTransparencyType;
-
-	class DefaultTabGroupFirstSorter;
 };
 
 // Build time optimization, generate once in .cpp file
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index 1982c97b8cd5e004486fba862fa1580a59f32822..e0fa59793c452513a316c5f08cf89c17b170f1e9 100755
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -140,7 +140,6 @@ LLView::LLView(const LLView::Params& p)
 	mFromXUI(p.from_xui),
 	mIsFocusRoot(p.focus_root),
 	mLastVisible(FALSE),
-	mNextInsertionOrdinal(0),
 	mHoverCursor(getCursorFromString(p.hover_cursor)),
 	mEnabled(p.enabled),
 	mMouseOpaque(p.mouse_opaque),
@@ -275,22 +274,6 @@ void LLView::sendChildToBack(LLView* child)
 	}
 }
 
-void LLView::moveChildToFrontOfTabGroup(LLUICtrl* child)
-{
-	if(mCtrlOrder.find(child) != mCtrlOrder.end())
-	{
-		mCtrlOrder[child].second = -1 * mNextInsertionOrdinal++;
-	}
-}
-
-void LLView::moveChildToBackOfTabGroup(LLUICtrl* child)
-{
-	if(mCtrlOrder.find(child) != mCtrlOrder.end())
-	{
-		mCtrlOrder[child].second = mNextInsertionOrdinal++;
-	}
-}
-
 // virtual
 bool LLView::addChild(LLView* child, S32 tab_group)
 {
@@ -298,7 +281,8 @@ bool LLView::addChild(LLView* child, S32 tab_group)
 	{
 		return false;
 	}
-	if (mParentView == child) 
+
+	if (this == child) 
 	{
 		LL_ERRS() << "Adding view " << child->getName() << " as child of itself" << LL_ENDL;
 	}
@@ -312,14 +296,10 @@ bool LLView::addChild(LLView* child, S32 tab_group)
 	// add to front of child list, as normal
 	mChildList.push_front(child);
 
-	// add to ctrl list if is LLUICtrl
-	if (child->isCtrl())
+	// add to tab order list
+	if (tab_group != 0)
 	{
-		LLUICtrl* ctrl = static_cast<LLUICtrl*>(child);
-		mCtrlOrder.insert(tab_order_pair_t(ctrl,
-							tab_order_t(tab_group, mNextInsertionOrdinal)));
-
-		mNextInsertionOrdinal++;
+		mTabOrder.insert(tab_order_pair_t(child, tab_group));
 	}
 
 	child->mParentView = this;
@@ -350,13 +330,10 @@ void LLView::removeChild(LLView* child)
 		llassert(child->mInDraw == false);
 		mChildList.remove( child );
 		child->mParentView = NULL;
-		if (child->isCtrl())
+		child_tab_order_t::iterator found = mTabOrder.find(child);
+		if(found != mTabOrder.end())
 		{
-			child_tab_order_t::iterator found = mCtrlOrder.find(static_cast<LLUICtrl*>(child));
-			if(found != mCtrlOrder.end())
-			{
-				mCtrlOrder.erase(found);
-			}
+			mTabOrder.erase(found);
 		}
 	}
 	else
@@ -366,53 +343,6 @@ void LLView::removeChild(LLView* child)
 	updateBoundingRect();
 }
 
-LLView::ctrl_list_t LLView::getCtrlList() const
-{
-	ctrl_list_t controls;
-	BOOST_FOREACH(LLView* viewp, mChildList)
-	{
-		if(viewp->isCtrl())
-		{
-			controls.push_back(static_cast<LLUICtrl*>(viewp));
-		}
-	}
-	return controls;
-}
-
-LLView::ctrl_list_t LLView::getCtrlListSorted() const
-{
-	ctrl_list_t controls = getCtrlList();
-	std::sort(controls.begin(), controls.end(), LLCompareByTabOrder(mCtrlOrder));
-	return controls;
-}
-
-
-// This method compares two LLViews by the tab order specified in the comparator object.  The
-// code for this is a little convoluted because each argument can have four states:
-// 1) not a control, 2) a control but not in the tab order, 3) a control in the tab order, 4) null
-bool LLCompareByTabOrder::operator() (const LLView* const a, const LLView* const b) const
-{
-	S32 a_score = 0, b_score = 0;
-	if(a) a_score--;
-	if(b) b_score--;
-	if(a && a->isCtrl()) a_score--;
-	if(b && b->isCtrl()) b_score--;
-	if(a_score == -2 && b_score == -2)
-	{
-		const LLUICtrl * const a_ctrl = static_cast<const LLUICtrl*>(a);
-		const LLUICtrl * const b_ctrl = static_cast<const LLUICtrl*>(b);
-		LLView::child_tab_order_const_iter_t a_found = mTabOrder.find(a_ctrl), b_found = mTabOrder.find(b_ctrl);
-		if(a_found != mTabOrder.end()) a_score--;
-		if(b_found != mTabOrder.end()) b_score--;
-		if(a_score == -3 && b_score == -3)
-		{
-			// whew!  Once we're in here, they're both in the tab order, and we can compare based on that
-			return compareTabOrders(a_found->second, b_found->second);
-		}
-	}
-	return (a_score == b_score) ? a < b : a_score < b_score;
-}
-
 BOOL LLView::isInVisibleChain() const
 {
 	BOOL visible = TRUE;
@@ -536,9 +466,9 @@ BOOL LLView::focusPrevRoot()
 // static
 BOOL LLView::focusNext(LLView::child_list_t & result)
 {
-	LLView::child_list_iter_t focused = result.end();
-	for(LLView::child_list_iter_t iter = result.begin();
-		iter != result.end();
+	LLView::child_list_reverse_iter_t focused = result.rend();
+	for(LLView::child_list_reverse_iter_t iter = result.rbegin();
+		iter != result.rend();
 		++iter)
 	{
 		if(gFocusMgr.childHasKeyboardFocus(*iter))
@@ -547,14 +477,14 @@ BOOL LLView::focusNext(LLView::child_list_t & result)
 			break;
 		}
 	}
-	LLView::child_list_iter_t next = focused;
-	next = (next == result.end()) ? result.begin() : ++next;
+	LLView::child_list_reverse_iter_t next = focused;
+	next = (next == result.rend()) ? result.rbegin() : ++next;
 	while(next != focused)
 	{
 		// wrap around to beginning if necessary
-		if(next == result.end())
+		if(next == result.rend())
 		{
-			next = result.begin();
+			next = result.rbegin();
 		}
 		if((*next)->isCtrl())
 		{
@@ -572,9 +502,9 @@ BOOL LLView::focusNext(LLView::child_list_t & result)
 // static
 BOOL LLView::focusPrev(LLView::child_list_t & result)
 {
-	LLView::child_list_reverse_iter_t focused = result.rend();
-	for(LLView::child_list_reverse_iter_t iter = result.rbegin();
-		iter != result.rend();
+	LLView::child_list_iter_t focused = result.end();
+	for(LLView::child_list_iter_t iter = result.begin();
+		iter != result.end();
 		++iter)
 	{
 		if(gFocusMgr.childHasKeyboardFocus(*iter))
@@ -583,14 +513,14 @@ BOOL LLView::focusPrev(LLView::child_list_t & result)
 			break;
 		}
 	}
-	LLView::child_list_reverse_iter_t next = focused;
-	next = (next == result.rend()) ? result.rbegin() : ++next;
+	LLView::child_list_iter_t next = focused;
+	next = (next == result.end()) ? result.begin() : ++next;
 	while(next != focused)
 	{
 		// wrap around to beginning if necessary
-		if(next == result.rend())
+		if(next == result.end())
 		{
-			next = result.rbegin();
+			next = result.begin();
 		}
 		if((*next)->isCtrl())
 		{
@@ -614,7 +544,7 @@ BOOL LLView::focusPrev(LLView::child_list_t & result)
 void LLView::deleteAllChildren()
 {
 	// clear out the control ordering
-	mCtrlOrder.clear();
+	mTabOrder.clear();
 
 	while (!mChildList.empty())
 	{
@@ -1823,15 +1753,63 @@ BOOL LLView::localRectToOtherView( const LLRect& local, LLRect* other, const LLV
 	return FALSE;
 }
 
+
+class CompareByTabOrder
+{
+public:
+	CompareByTabOrder(const LLView::child_tab_order_t& order, S32 default_tab_group = 0) 
+		:	mTabOrder(order),
+		mDefaultTabGroup(default_tab_group)
+	{}
+	virtual ~CompareByTabOrder() {}
+
+	// This method compares two LLViews by the tab order specified in the comparator object.  The
+	// code for this is a little convoluted because each argument can have four states:
+	// 1) not a control, 2) a control but not in the tab order, 3) a control in the tab order, 4) null
+	bool operator() (const LLView* const a, const LLView* const b) const
+	{
+		S32 a_group = 0, b_group = 0;
+		if(!a) return false;
+		if(!b) return true;
+
+		LLView::child_tab_order_const_iter_t a_found = mTabOrder.find(a), b_found = mTabOrder.find(b);
+		if(a_found != mTabOrder.end())
+		{
+			a_group = a_found->second;
+		}
+		if(b_found != mTabOrder.end())
+		{
+			b_group = b_found->second;
+		}
+
+		if(a_group < mDefaultTabGroup && b_group >= mDefaultTabGroup) return true;
+		if(b_group < mDefaultTabGroup && a_group >= mDefaultTabGroup) return false;
+		return a_group > b_group;  // sort correctly if they're both on the same side of the default tab groupreturn a > b; 
+	}
+private:
+	// ok to store a reference, as this should only be allocated on stack during view query operations
+	const LLView::child_tab_order_t& mTabOrder;
+	const S32 mDefaultTabGroup;
+};
+
+class SortByTabOrder : public LLQuerySorter, public LLSingleton<SortByTabOrder>
+{
+	/*virtual*/ void sort(LLView * parent, LLView::child_list_t &children) const 
+	{
+		children.sort(CompareByTabOrder(parent->getTabOrder(), parent->getDefaultTabGroup()));
+	}
+};
+
 // static
-const LLCtrlQuery & LLView::getTabOrderQuery()
+const LLViewQuery & LLView::getTabOrderQuery()
 {
-	static LLCtrlQuery query;
+	static LLViewQuery query;
 	if(query.getPreFilters().size() == 0) {
 		query.addPreFilter(LLVisibleFilter::getInstance());
 		query.addPreFilter(LLEnabledFilter::getInstance());
 		query.addPreFilter(LLTabStopFilter::getInstance());
 		query.addPostFilter(LLLeavesFilter::getInstance());
+		query.setSorter(SortByTabOrder::getInstance());
 	}
 	return query;
 }
@@ -1846,9 +1824,9 @@ class LLFocusRootsFilter : public LLQueryFilter, public LLSingleton<LLFocusRoots
 };
 
 // static
-const LLCtrlQuery & LLView::getFocusRootsQuery()
+const LLViewQuery & LLView::getFocusRootsQuery()
 {
-	static LLCtrlQuery query;
+	static LLViewQuery query;
 	if(query.getPreFilters().size() == 0) {
 		query.addPreFilter(LLVisibleFilter::getInstance());
 		query.addPreFilter(LLEnabledFilter::getInstance());
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index 665aad70cfa83c7722e0c38874c410b8a12435f9..7861c8f72976c26f9254ae52c4c8b7de7f8d3e05 100755
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -200,12 +200,9 @@ class LLView
 	typedef child_list_t::reverse_iterator 			child_list_reverse_iter_t;
 	typedef child_list_t::const_reverse_iterator 	child_list_const_reverse_iter_t;
 
-	typedef std::vector<class LLUICtrl *>				ctrl_list_t;
-
-	typedef std::pair<S32, S32>							tab_order_t;
-	typedef std::pair<LLUICtrl *, tab_order_t>			tab_order_pair_t;
+	typedef std::pair<LLView *, S32>				tab_order_pair_t;
 	// this structure primarily sorts by the tab group, secondarily by the insertion ordinal (lastly by the value of the pointer)
-	typedef std::map<const LLUICtrl*, tab_order_t>		child_tab_order_t;
+	typedef std::map<const LLView*, S32>		child_tab_order_t;
 	typedef child_tab_order_t::iterator					child_tab_order_iter_t;
 	typedef child_tab_order_t::const_iterator			child_tab_order_const_iter_t;
 	typedef child_tab_order_t::reverse_iterator			child_tab_order_reverse_iter_t;
@@ -251,8 +248,6 @@ class LLView
 
 	void		sendChildToFront(LLView* child);
 	void		sendChildToBack(LLView* child);
-	void		moveChildToFrontOfTabGroup(LLUICtrl* child);
-	void		moveChildToBackOfTabGroup(LLUICtrl* child);
 	
 	virtual bool addChild(LLView* view, S32 tab_group = 0);
 
@@ -264,9 +259,7 @@ class LLView
 
 	virtual BOOL	postBuild() { return TRUE; }
 
-	const child_tab_order_t& getCtrlOrder() const		{ return mCtrlOrder; }
-	ctrl_list_t getCtrlList() const;
-	ctrl_list_t getCtrlListSorted() const;
+	const child_tab_order_t& getTabOrder() const		{ return mTabOrder; }
 	
 	void setDefaultTabGroup(S32 d)				{ mDefaultTabGroup = d; }
 	S32 getDefaultTabGroup() const				{ return mDefaultTabGroup; }
@@ -500,9 +493,9 @@ class LLView
 	static	BOOL focusPrev(LLView::child_list_t & result);
 
 	// returns query for iterating over controls in tab order	
-	static const LLCtrlQuery & getTabOrderQuery();
+	static const LLViewQuery & getTabOrderQuery();
 	// return query for iterating over focus roots in tab order
-	static const LLCtrlQuery & getFocusRootsQuery();
+	static const LLViewQuery & getFocusRootsQuery();
 
 	static LLWindow*	getWindow(void) { return LLUI::sWindow; }
 
@@ -596,7 +589,7 @@ class LLView
 	
 	U32			mReshapeFlags;
 
-	child_tab_order_t mCtrlOrder;
+	child_tab_order_t mTabOrder;
 	S32			mDefaultTabGroup;
 	S32			mLastTabGroup;
 
@@ -613,8 +606,6 @@ class LLView
 
 	BOOL		mLastVisible;
 
-	S32			mNextInsertionOrdinal;
-
 	bool		mInDraw;
 
 	static LLWindow* sWindow;	// All root views must know about their window.
@@ -686,19 +677,6 @@ struct TypeValues<LLView::EOrientation> : public LLInitParam::TypeValuesHelper<L
 };
 }
 
-
-class LLCompareByTabOrder
-{
-public:
-	LLCompareByTabOrder(const LLView::child_tab_order_t& order) : mTabOrder(order) {}
-	virtual ~LLCompareByTabOrder() {}
-	bool operator() (const LLView* const a, const LLView* const b) const;
-private:
-	virtual bool compareTabOrders(const LLView::tab_order_t & a, const LLView::tab_order_t & b) const { return a < b; }
-	// ok to store a reference, as this should only be allocated on stack during view query operations
-	const LLView::child_tab_order_t& mTabOrder;
-};
-
 template <class T> T* LLView::getChild(const std::string& name, BOOL recurse) const
 {
 	LLView* child = findChildView(name, recurse);
diff --git a/indra/llui/llviewquery.cpp b/indra/llui/llviewquery.cpp
index d0b78ba186427da3a405749f1b2fe81f4201f31d..66262609ae313f9a9058d83ba8a0b8c03266a984 100755
--- a/indra/llui/llviewquery.cpp
+++ b/indra/llui/llviewquery.cpp
@@ -30,7 +30,7 @@
 #include "lluictrl.h"
 #include "llviewquery.h"
 
-void LLQuerySorter::operator() (LLView * parent, viewList_t &children) const {}
+void LLQuerySorter::sort(LLView * parent, viewList_t &children) const {}
 
 filterResult_t LLLeavesFilter::operator() (const LLView* const view, const viewList_t & children) const 
 {
@@ -89,8 +89,8 @@ viewList_t LLViewQuery::run(LLView* view) const
 		if (pre.first)
 		{
 			post = runFilters(view, filtered_children, mPostFilters);
-			}
 		}
+	}
 
 	if(pre.first && post.first) 
 	{
@@ -105,12 +105,12 @@ viewList_t LLViewQuery::run(LLView* view) const
 	return result;
 }
 
-void LLViewQuery::filterChildren(LLView * view, viewList_t & filtered_children) const
+void LLViewQuery::filterChildren(LLView* parent_view, viewList_t & filtered_children) const
 {
-	LLView::child_list_t views(*(view->getChildList()));
+	LLView::child_list_t views(*(parent_view->getChildList()));
 	if (mSorterp)
 	{
-		(*mSorterp)(view, views); // sort the children per the sorter
+		mSorterp->sort(parent_view, views); // sort the children per the sorter
 	}
 	for(LLView::child_list_iter_t iter = views.begin();
 		iter != views.end();
@@ -134,18 +134,3 @@ filterResult_t LLViewQuery::runFilters(LLView * view, const viewList_t children,
 	}
 	return result;
 }
-
-class SortByTabOrder : public LLQuerySorter, public LLSingleton<SortByTabOrder>
-{
-	/*virtual*/ void operator() (LLView * parent, LLView::child_list_t &children) const 
-	{
-		children.sort(LLCompareByTabOrder(parent->getCtrlOrder()));
-	}
-};
-
-LLCtrlQuery::LLCtrlQuery() : 
-	LLViewQuery()
-{
-	setSorter(SortByTabOrder::getInstance());
-}
-
diff --git a/indra/llui/llviewquery.h b/indra/llui/llviewquery.h
index 210f95162acac729f34328953556445d96bd46c6..9044c4ff29c16d7d016e4f9853ff834ca67d9b9b 100755
--- a/indra/llui/llviewquery.h
+++ b/indra/llui/llviewquery.h
@@ -49,7 +49,7 @@ class LLQuerySorter
 {
 public:
 	virtual ~LLQuerySorter() {};
-	virtual void operator() (LLView * parent, viewList_t &children) const;
+	virtual void sort(LLView * parent, viewList_t &children) const;
 };
 
 class LLLeavesFilter : public LLQueryFilter, public LLSingleton<LLLeavesFilter>
@@ -127,10 +127,5 @@ class LLViewQuery
 	const LLQuerySorter* mSorterp;
 };
 
-class LLCtrlQuery : public LLViewQuery
-{
-public:
-	LLCtrlQuery();
-};
 
 #endif // LL_LLVIEWQUERY_H
diff --git a/indra/newview/llfloateravatarpicker.cpp b/indra/newview/llfloateravatarpicker.cpp
index 7d091a79c509388f1c06c805e2a3b7b6c20934f4..c1e66734067593dc6ef52e1746d8cf7906cf0b4f 100755
--- a/indra/newview/llfloateravatarpicker.cpp
+++ b/indra/newview/llfloateravatarpicker.cpp
@@ -736,7 +736,7 @@ void LLFloaterAvatarPicker::processResponse(const LLUUID& query_id, const LLSD&
 		if (search_results->isEmpty())
 		{
 			LLStringUtil::format_map_t map;
-			map["[TEXT]"] = childGetText("Edit");
+			map["[TEXT]"] = getChild<LLUICtrl>("Edit")->getValue().asString();
 			LLSD item;
 			item["id"] = LLUUID::null;
 			item["columns"][0]["column"] = "name";
diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index 05c08b038cd87fb1d793a4727f55cabf1f7524ba..424fa293daeb48f357e07f7fda6732c729fa3c0e 100755
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -591,7 +591,7 @@ bool LLFloaterModelPreview::isViewOptionChecked(const LLSD& userdata)
 
 bool LLFloaterModelPreview::isViewOptionEnabled(const LLSD& userdata)
 {
-	return childIsEnabled(userdata.asString());
+	return getChildView(userdata.asString())->getEnabled();
 }
 
 void LLFloaterModelPreview::setViewOptionEnabled(const std::string& option, bool enabled)
@@ -3587,11 +3587,11 @@ void LLModelPreview::loadModel(std::string filename, S32 lod, bool force_disable
 	
 	if (lod == mPreviewLOD)
 	{
-		mFMP->childSetText("lod_file_" + lod_name[lod], mLODFile[lod]);
+		mFMP->childSetValue("lod_file_" + lod_name[lod], mLODFile[lod]);
 	}
 	else if (lod == LLModel::LOD_PHYSICS)
 	{
-		mFMP->childSetText("physics_file", mLODFile[lod]);
+		mFMP->childSetValue("physics_file", mLODFile[lod]);
 	}
 
 	mFMP->openFloater();
@@ -3606,7 +3606,7 @@ void LLModelPreview::setPhysicsFromLOD(S32 lod)
 		mModel[LLModel::LOD_PHYSICS] = mModel[lod];
 		mScene[LLModel::LOD_PHYSICS] = mScene[lod];
 		mLODFile[LLModel::LOD_PHYSICS].clear();
-		mFMP->childSetText("physics_file", mLODFile[LLModel::LOD_PHYSICS]);
+		mFMP->childSetValue("physics_file", mLODFile[LLModel::LOD_PHYSICS]);
 		mVertexBuffer[LLModel::LOD_PHYSICS].clear();
 		rebuildUploadData();
 		refresh();
@@ -4322,8 +4322,8 @@ void LLModelPreview::updateStatusMessages()
 
 		if (total_tris[lod] > 0)
 		{
-			mFMP->childSetText(lod_triangles_name[lod], llformat("%d", total_tris[lod]));
-			mFMP->childSetText(lod_vertices_name[lod], llformat("%d", total_verts[lod]));
+			mFMP->childSetValue(lod_triangles_name[lod], llformat("%d", total_tris[lod]));
+			mFMP->childSetValue(lod_vertices_name[lod], llformat("%d", total_verts[lod]));
 		}
 		else
 		{
@@ -4344,8 +4344,8 @@ void LLModelPreview::updateStatusMessages()
 				}
 			}
 
-			mFMP->childSetText(lod_triangles_name[lod], mesh_status_na);
-			mFMP->childSetText(lod_vertices_name[lod], mesh_status_na);
+			mFMP->childSetValue(lod_triangles_name[lod], mesh_status_na);
+			mFMP->childSetValue(lod_vertices_name[lod], mesh_status_na);
 		}
 
 		const U32 lod_high = LLModel::LOD_HIGH;
@@ -4394,7 +4394,7 @@ void LLModelPreview::updateStatusMessages()
 
 		if (lod == mPreviewLOD)
 		{
-			mFMP->childSetText("lod_status_message_text", mFMP->getString(message));
+			mFMP->childSetValue("lod_status_message_text", mFMP->getString(message));
 			icon = mFMP->getChild<LLIconCtrl>("lod_status_message_icon");
 			icon->setImage(img);
 		}
@@ -4645,12 +4645,12 @@ void LLModelPreview::updateLodControls(S32 lod)
 		fmp->mLODMode[lod] = 0;
 		for (U32 i = 0; i < num_file_controls; ++i)
 		{
-			mFMP->childShow(file_controls[i] + lod_name[lod]);
+			mFMP->childSetVisible(file_controls[i] + lod_name[lod], true);
 		}
 
 		for (U32 i = 0; i < num_lod_controls; ++i)
 		{
-			mFMP->childHide(lod_controls[i] + lod_name[lod]);
+			mFMP->childSetVisible(lod_controls[i] + lod_name[lod], true);
 		}
 	}
 	else if (lod_mode == USE_LOD_ABOVE) // use LoD above
@@ -4658,12 +4658,12 @@ void LLModelPreview::updateLodControls(S32 lod)
 		fmp->mLODMode[lod] = 2;
 		for (U32 i = 0; i < num_file_controls; ++i)
 		{
-			mFMP->childHide(file_controls[i] + lod_name[lod]);
+			mFMP->childSetVisible(file_controls[i] + lod_name[lod], false);
 		}
 
 		for (U32 i = 0; i < num_lod_controls; ++i)
 		{
-			mFMP->childHide(lod_controls[i] + lod_name[lod]);
+			mFMP->childSetVisible(lod_controls[i] + lod_name[lod], false);
 		}
 
 		if (lod < LLModel::LOD_HIGH)
@@ -4688,12 +4688,12 @@ void LLModelPreview::updateLodControls(S32 lod)
 
 		for (U32 i = 0; i < num_file_controls; ++i)
 		{
-			mFMP->childHide(file_controls[i] + lod_name[lod]);
+			mFMP->getChildView(file_controls[i] + lod_name[lod])->setVisible(false);
 		}
 
 		for (U32 i = 0; i < num_lod_controls; ++i)
 		{
-			mFMP->childShow(lod_controls[i] + lod_name[lod]);
+			mFMP->getChildView(lod_controls[i] + lod_name[lod])->setVisible(true);
 		}
 
 
@@ -5644,7 +5644,7 @@ void LLModelPreview::setPreviewLOD(S32 lod)
 
 		LLComboBox* combo_box = mFMP->getChild<LLComboBox>("preview_lod_combo");
 		combo_box->setCurrentByIndex((NUM_LOD-1)-mPreviewLOD); // combo box list of lods is in reverse order
-		mFMP->childSetText("lod_file_" + lod_name[mPreviewLOD], mLODFile[mPreviewLOD]);
+		mFMP->childSetValue("lod_file_" + lod_name[mPreviewLOD], mLODFile[mPreviewLOD]);
 
 		LLComboBox* combo_box2 = mFMP->getChild<LLComboBox>("preview_lod_combo2");
 		combo_box2->setCurrentByIndex((NUM_LOD-1)-mPreviewLOD); // combo box list of lods is in reverse order
diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp
index c9a066864c7d5b929700d420fff7fb8f864d3284..30bbc5dba00cb04d00c1517958d9e22c883afb8d 100755
--- a/indra/newview/llpanelgroup.cpp
+++ b/indra/newview/llpanelgroup.cpp
@@ -329,8 +329,9 @@ void LLPanelGroup::update(LLGroupChange gc)
 	if(gdatap)
 	{
 		std::string group_name =  gdatap->mName.empty() ? LLTrans::getString("LoadingData") : gdatap->mName;
-		childSetValue("group_name", group_name);
-		childSetToolTip("group_name",group_name);
+		LLUICtrl* group_name_ctrl = getChild<LLUICtrl>("group_name");
+		group_name_ctrl->setValue(group_name);
+		group_name_ctrl->setToolTip(group_name);
 		
 		LLGroupData agent_gdatap;
 		bool is_member = gAgent.getGroupData(mID,agent_gdatap) || gAgent.isGodlike();
@@ -376,8 +377,9 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id)
 	if(gdatap)
 	{
 		std::string group_name =  gdatap->mName.empty() ? LLTrans::getString("LoadingData") : gdatap->mName;
-		childSetValue("group_name", group_name);
-		childSetToolTip("group_name",group_name);
+		LLUICtrl* group_name_ctrl = getChild<LLUICtrl>("group_name");
+		group_name_ctrl->setValue(group_name);
+		group_name_ctrl->setToolTip(group_name);
 	}
 
 	LLButton* button_apply = findChild<LLButton>("btn_apply");
diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp
index f90236f6f2890ac53dc1c9677f610063980cacbc..3e106c8d69558934f988d1acf472a12272acf74c 100755
--- a/indra/newview/llpaneloutfitsinventory.cpp
+++ b/indra/newview/llpaneloutfitsinventory.cpp
@@ -242,18 +242,12 @@ void LLPanelOutfitsInventory::updateListCommands()
 	bool wear_visible = !isCOFPanelActive();
 	bool make_outfit_enabled = isActionEnabled("save_outfit");
 
+	LLButton* wear_btn = mListCommands->getChild<LLButton>("wear_btn");
 	mMyOutfitsPanel->childSetEnabled("trash_btn", trash_enabled);
-	mListCommands->childSetEnabled("wear_btn", wear_enabled);
-	mListCommands->childSetVisible("wear_btn", wear_visible);
+	wear_btn->setEnabled(wear_enabled);
+	wear_btn->setVisible(wear_visible);
 	mSaveComboBtn->setMenuItemEnabled("save_outfit", make_outfit_enabled);
-	if (mMyOutfitsPanel->hasItemSelected())
-	{
-		mListCommands->childSetToolTip("wear_btn", getString("wear_items_tooltip"));
-	}
-	else
-	{
-		mListCommands->childSetToolTip("wear_btn", getString("wear_outfit_tooltip"));
-	}
+	wear_btn->setToolTip(getString(mMyOutfitsPanel->hasItemSelected() ? "wear_items_tooltip" : "wear_outfit_tooltip"));
 }
 
 void LLPanelOutfitsInventory::onTrashButtonClick()
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 05b1236df532e9602c89798e1c32f6f9019c4126..981e0e3fdb507362ef11d3e3d8cfca692ac6c39f 100755
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -2537,11 +2537,11 @@ bool enable_object_touch(LLUICtrl* ctrl)
 	LLSelectNode* node = LLSelectMgr::getInstance()->getSelection()->getFirstRootNode();
 	if (node && node->mValid && !node->mTouchName.empty())
 	{
-		gMenuHolder->childSetText(item_name, node->mTouchName);
+		gMenuHolder->childSetValue(item_name, node->mTouchName);
 	}
 	else
 	{
-		gMenuHolder->childSetText(item_name, get_default_item_label(item_name));
+		gMenuHolder->childSetValue(item_name, get_default_item_label(item_name));
 	}
 
 	return new_value;
@@ -5951,11 +5951,11 @@ bool enable_object_sit(LLUICtrl* ctrl)
 		LLSelectNode* node = LLSelectMgr::getInstance()->getSelection()->getFirstRootNode();
 		if (node && node->mValid && !node->mSitName.empty())
 		{
-			gMenuHolder->childSetText(item_name, node->mSitName);
+			gMenuHolder->childSetValue(item_name, node->mSitName);
 		}
 		else
 		{
-			gMenuHolder->childSetText(item_name, get_default_item_label(item_name));
+			gMenuHolder->childSetValue(item_name, get_default_item_label(item_name));
 		}
 	}
 	return !sitting_on_sel && is_object_sittable();
diff --git a/indra/newview/skins/default/xui/da/sidepanel_inventory.xml b/indra/newview/skins/default/xui/da/sidepanel_inventory.xml
index b3293b981edb5cab589584fb857d621f93b8aa3f..b4b494cafa82e23abc5e01156d96218fd3851ab6 100755
--- a/indra/newview/skins/default/xui/da/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/da/sidepanel_inventory.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Ting" name="objects panel">
-	<panel label="" name="sidepanel__inventory_panel">
+	<panel label="" name="sidepanel_inventory_panel">
 		<panel name="button_panel">
 			<layout_stack name="button_panel_ls">
 				<layout_panel name="info_btn_lp">
diff --git a/indra/newview/skins/default/xui/de/sidepanel_inventory.xml b/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
index 18aad64f964dbf8058b93b98d676e510301b4a66..2585c5dc90c19e7dd2d4fa3a91489aa6a640194d 100755
--- a/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Sonstiges" name="objects panel">
-	<panel label="" name="sidepanel__inventory_panel">
+	<panel label="" name="sidepanel_inventory_panel">
 		<layout_stack name="inventory_layout_stack">
 			<layout_panel name="inbox_layout_panel">
 				<panel label="" name="marketplace_inbox">
diff --git a/indra/newview/skins/default/xui/en/floater_conversation_preview.xml b/indra/newview/skins/default/xui/en/floater_conversation_preview.xml
index 764b9d8385096446416f0e3aadfe5156b9a59dd6..99ad59a7a3fa67de772d30fb387accc52397f707 100755
--- a/indra/newview/skins/default/xui/en/floater_conversation_preview.xml
+++ b/indra/newview/skins/default/xui/en/floater_conversation_preview.xml
@@ -2,7 +2,6 @@
 <floater
  legacy_header_height="18"
  can_resize="true"
- default_tab_group="1"
  help_topic="conversation_preview"
  height="391"
  layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml
index 43d0f2fb186975415af9240e522a00ef6d6942ef..468f05d4922ef14530a62e008f1daf04115d9530 100755
--- a/indra/newview/skins/default/xui/en/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_session.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  background_visible="true"
- default_tab_group="1"
  height="355"
  help_topic="floater_im_box"
  layout="topleft"
@@ -213,7 +212,6 @@
                      min_width="172">
                         <layout_stack
                          animate="true" 
-                         default_tab_group="2"
                          follows="all"
                          orientation="vertical"
                          name="translate_and_chat_stack"
diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml
index d8211c24a72744f149cdc82c4126fcc79c251654..bc19d6e79f5d70c134c092a52516d7b5c686e9cf 100755
--- a/indra/newview/skins/default/xui/en/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/en/floater_toybox.xml
@@ -4,7 +4,6 @@
   can_dock="false"
   can_minimize="false"
   can_resize="false"
-  default_tab_group="1"
   height="375"
   help_topic="toybox"
   layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/en/panel_bottomtray_lite.xml
index 27a27473d81985399b0e49cc2da154428b95c86a..1c0b205c4f6668f4406e42c5f9bf9e964e55f72f 100755
--- a/indra/newview/skins/default/xui/en/panel_bottomtray_lite.xml
+++ b/indra/newview/skins/default/xui/en/panel_bottomtray_lite.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <panel
- default_tab_group="2"
  mouse_opaque="true"
  background_visible="true"
  bg_alpha_color="DkGray"
diff --git a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
index 19143cef89835b3c1a0e62e5b400576149f2216e..1e43db08f782a36ee2c1c9611f78b487885cd2c6 100755
--- a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <panel
- default_tab_group="1"
  follows="left|bottom|right"
  height="25"
  layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
index b61f110e32f92c067c86769694fc33e0fcfe5e3e..3f13cea58e8d4639df0b7e11c80b1ad317c372b7 100755
--- a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
@@ -12,32 +12,32 @@
  name="outfit_edit"
  top="0"
  width="320">
-    <string
-     name="No Outfit"
-     value="No Outfit"/>
-    <string
-     name="unsaved_changes"
-     value="Unsaved Changes"/>
-    <string
-     name="now_editing"
-     value="Now Editing"/>
-    <string
-     name="folder_view_off"
-     value="Hierarchy_View_Disabled"
-     translate="false"/>
-    <string
-     name="folder_view_on"
-     value="Hierarchy_View_On"
-     translate="false"/>
-    <string
-     name="list_view_off"
-     value="List_View_Disabled"
-     translate="false"/>
-    <string
-     name="list_view_on"
-     value="List_View_On"
-     translate="false"/>
-	
+	<string
+	 name="No Outfit"
+	 value="No Outfit"/>
+	<string
+	 name="unsaved_changes"
+	 value="Unsaved Changes"/>
+	<string
+	 name="now_editing"
+	 value="Now Editing"/>
+	<string
+	 name="folder_view_off"
+	 value="Hierarchy_View_Disabled"
+	 translate="false"/>
+	<string
+	 name="folder_view_on"
+	 value="Hierarchy_View_On"
+	 translate="false"/>
+	<string
+	 name="list_view_off"
+	 value="List_View_Disabled"
+	 translate="false"/>
+	<string
+	 name="list_view_on"
+	 value="List_View_On"
+	 translate="false"/>
+
 	<panel.string
 		name="not_available">
 		(N\A)
@@ -47,475 +47,466 @@
 		(unknown)
 	</panel.string>
 
-    <!-- Wearables filtering strings -->
-    <string name="Filter.All" value="All"/>
-    <string name="Filter.Clothes/Body" value="Clothes/Body"/>
-    <string name="Filter.Objects" value="Objects"/>
-    <string name="Filter.Clothing" value="Clothing"/>
-    <string name="Filter.Bodyparts" value="Body parts"/>
+	<!-- Wearables filtering strings -->
+	<string name="Filter.All" value="All"/>
+	<string name="Filter.Clothes/Body" value="Clothes/Body"/>
+	<string name="Filter.Objects" value="Objects"/>
+	<string name="Filter.Clothing" value="Clothing"/>
+	<string name="Filter.Bodyparts" value="Body parts"/>
+
+	<string
+	 name="replace_body_part"
+	 value="Click to replace your existing shape"/>
 
-    <string
-     name="replace_body_part"
-     value="Click to replace your existing shape"/>
-  
 
-    <button
-     follows="top|left"
-     height="24"
-     image_hover_unselected="BackButton_Over"
-     image_pressed="BackButton_Press"
-     image_unselected="BackButton_Off"
-     layout="topleft"
-     name="back_btn"
-     left="5"
-     tab_stop="false"
-     top="1"
-     width="30"
-     use_draw_context_alpha="false" />
-    <text
-     follows="top|left|right"
-     font="SansSerifHugeBold"
-     height="26"
-     layout="topleft"
-     left_pad="10"
-     name="title"
-     text_color="LtGray"
-     top="0"
-     value="Edit Outfit"
-     use_ellipses="true"
-     width="275" /> 
+	<button
+	 follows="top|left"
+	 height="24"
+	 image_hover_unselected="BackButton_Over"
+	 image_pressed="BackButton_Press"
+	 image_unselected="BackButton_Off"
+	 layout="topleft"
+	 name="back_btn"
+	 left="5"
+	 tab_stop="false"
+	 top="1"
+	 width="30"
+	 use_draw_context_alpha="false" />
+	<text
+	 follows="top|left|right"
+	 font="SansSerifHugeBold"
+	 height="26"
+	 layout="topleft"
+	 left_pad="10"
+	 name="title"
+	 text_color="LtGray"
+	 top="0"
+	 value="Edit Outfit"
+	 use_ellipses="true"
+	 width="275" />
 
-<!-- "HEADER WITH ICON, STATUS TEXT AND OUTFIT NAME" -->
-    <panel
-     background_visible="true"
-     bg_alpha_color="DkGray2"
-     bevel_style="none"
-     follows="top|left|right"
-     height="40"
-     layout="topleft"
-     left="6"
-     name="header_panel"
-     top_pad="5" 
-     width="311">
-        <icon
-         follows="left|top"
-         height="31"
-         image_name="Shirt_Large"
-         left="2"
-         mouse_opaque="false"
-         name="outfit_icon"
-         top="2"
-         scale_image="true"
-         visible="true"
-         width="31" />
-            <panel
-             bevel_style="none"
-             follows="top|left|right"
-             height="37"
-             layout="topleft"
-             left_pad="5"
-             name="outfit_name_and_status"
-             top="2"
-             width="270">
-                <text
-                 follows="top|left|right"
-                 font="SansSerifSmallBold"
-                 height="13"
-                 layout="topleft"
-                 name="status"
-                 text_color="EmphasisColor"
-                 top="2"
-                 value="Now editing..."
-                 use_ellipses="true"
-                 width="245" /> 
-                <text
-                 follows="bottom|left|right"
-                 font="SansSerifLargeBold"
-                 height="18"
-                 layout="topleft"
-                 name="curr_outfit_name"
-                 parse_urls="false"
-                 text_color="LtGray"
-                 top_pad="2"
-                 value="[Current Outfit]"
-                 use_ellipses="true"
-                 width="245" /> 
-                <loading_indicator
-                 follows="right|top"
-                 height="24"
-                 layout="topleft"
-                 right="-2"
-                 name="edit_outfit_loading_indicator"
-                 top="6"
-                 width="24" />
-            </panel>
-    </panel>
+	<!-- "HEADER WITH ICON, STATUS TEXT AND OUTFIT NAME" -->
+	<panel
+	 background_visible="true"
+	 bg_alpha_color="DkGray2"
+	 bevel_style="none"
+	 follows="top|left|right"
+	 height="40"
+	 layout="topleft"
+	 left="6"
+	 name="header_panel"
+	 top_pad="5"
+	 width="311">
+		<icon
+		 follows="left|top"
+		 height="31"
+		 image_name="Shirt_Large"
+		 left="2"
+		 mouse_opaque="false"
+		 name="outfit_icon"
+		 top="2"
+		 scale_image="true"
+		 visible="true"
+		 width="31" />
+		<panel
+		 bevel_style="none"
+		 follows="top|left|right"
+		 height="37"
+		 layout="topleft"
+		 left_pad="5"
+		 name="outfit_name_and_status"
+		 top="2"
+		 width="270">
+			<text
+			 follows="top|left|right"
+			 font="SansSerifSmallBold"
+			 height="13"
+			 layout="topleft"
+			 name="status"
+			 text_color="EmphasisColor"
+			 top="2"
+			 value="Now editing..."
+			 use_ellipses="true"
+			 width="245" />
+			<text
+			 follows="bottom|left|right"
+			 font="SansSerifLargeBold"
+			 height="18"
+			 layout="topleft"
+			 name="curr_outfit_name"
+			 parse_urls="false"
+			 text_color="LtGray"
+			 top_pad="2"
+			 value="[Current Outfit]"
+			 use_ellipses="true"
+			 width="245" />
+			<loading_indicator
+			 follows="right|top"
+			 height="24"
+			 layout="topleft"
+			 right="-2"
+			 name="edit_outfit_loading_indicator"
+			 top="6"
+			 width="24" />
+		</panel>
+	</panel>
 
 
-<!-- LIST OF WEARABLES (CURRENT OUTFIT/ WEARABLES TO ADD) -->
-<!-- *NOTE: border_size is used to calculate space between layout panels and also to calculate resize bar's height.
+	<!-- LIST OF WEARABLES (CURRENT OUTFIT/ WEARABLES TO ADD) -->
+	<!-- *NOTE: border_size is used to calculate space between layout panels and also to calculate resize bar's height.
 Required height for dragbar (icon in spec) is 10, so resizebar height should be 10 px.
 It is calculated as border_size + 2*UIResizeBarOverlap
 -->
-    <layout_stack
-     animate="true"
-     border_size="8"
-     clip="false"
-     default_tab_group="2"
-     follows="all"
-     height="465"
-     width="313"
-     layout="topleft"
-     orientation="vertical"
-     name="im_panels"
-     tab_group="1"
-     top_pad="5"
-     left="5">
-        <layout_panel
-         layout="topleft"
-         height="187"
-         min_height="155"
-         name="outfit_wearables_panel"
-         width="313"
-         auto_resize="true"
-         user_resize="true">
+	<layout_stack
+	 animate="true"
+	 border_size="8"
+	 clip="false"
+	 default_tab_group="2"
+	 follows="all"
+	 height="465"
+	 width="313"
+	 layout="topleft"
+	 orientation="vertical"
+	 name="im_panels"
+	 tab_group="1"
+	 top_pad="5"
+	 left="5">
+		<layout_panel
+		 layout="topleft"
+		 height="187"
+		 min_height="155"
+		 name="outfit_wearables_panel"
+		 width="313"
+		 auto_resize="true"
+		 user_resize="true">
 
-            <layout_stack
-             animate="true"
-             border_size="0"
-             follows="all"
-             height="185"
-             width="313"
-             orientation="vertical" 
-             layout="topleft"
-             name="filter_panels"
-             top="0"
-             left="0">
-                <layout_panel
-                 auto_resize="true" 
-                 background_visible="false"
-                 layout="topleft"
-                 height="154"
-                 name="add_button_and_combobox"
-                 width="311"
-                 visible="true">
+			<layout_stack
+			 animate="true"
+			 border_size="0"
+			 follows="all"
+			 height="185"
+			 width="313"
+			 orientation="vertical"
+			 layout="topleft"
+			 name="filter_panels"
+			 top="0"
+			 left="0">
+				<layout_panel
+				 auto_resize="true"
+				 background_visible="false"
+				 layout="topleft"
+				 height="154"
+				 name="add_button_and_combobox"
+				 width="311"
+				 visible="true">
 
-            <!-- List containing items from the COF and Base outfit -->
-            <panel
-             background_visible="false"
-             class="cof_wearables"
-             filename="panel_cof_wearables.xml"
-                     follows="all" 
-                     height="129"
-             layout="topleft"
-             left="1"
-             name="cof_wearables_list"
-             top="0"
-             width="311" />
+					<!-- List containing items from the COF and Base outfit -->
+					<panel
+					 background_visible="false"
+					 class="cof_wearables"
+					 filename="panel_cof_wearables.xml"
+									 follows="all"
+									 height="129"
+					 layout="topleft"
+					 left="1"
+					 name="cof_wearables_list"
+					 top="0"
+					 width="311" />
 
-                    <button
-                     follows="left|bottom" 
-                     height="22"
-                     image_pressed="PushButton_Press"
-                     image_pressed_selected="PushButton_Selected_Press"
-                     image_selected="PushButton_Selected_Press"
-                     is_toggle="true"
-                     label="Add More..."
-                     layout="topleft"
-                     left="2"
-                     name="show_add_wearables_btn"
-                     top_pad="2"
-                     tool_tip="Open/Close"
-                     width="125" />
+					<button
+					 follows="left|bottom"
+					 height="22"
+					 image_pressed="PushButton_Press"
+					 image_pressed_selected="PushButton_Selected_Press"
+					 image_selected="PushButton_Selected_Press"
+					 is_toggle="true"
+					 label="Add More..."
+					 layout="topleft"
+					 left="2"
+					 name="show_add_wearables_btn"
+					 top_pad="2"
+					 tool_tip="Open/Close"
+					 width="125" />
 
-                    <combo_box
-                     follows="left|right|bottom"
-                     height="22"
-             layout="topleft"
-                     left_pad="5"
-                     name="list_view_filter_combobox"
-                     top_delta="0"
-                     visible="false"
-                     width="152"/>
-                    <combo_box
-                     follows="left|right|bottom"
-                     height="22"
-                     layout="topleft"
-                     left_delta="0"
-                     name="folder_view_filter_combobox"
-                     top_delta="0"
-                     visible="false"
-                     width="152"/>
-                    
-            <button
-                     follows="bottom|right"
-                     height="22"
-             image_overlay="Search_Icon"
-                     image_pressed="PushButton_Press"
-                     image_pressed_selected="PushButton_Selected_Press"
-                     image_selected="PushButton_Selected_Press"
-             is_toggle="true"
-             layout="topleft"
-             name="filter_button"
-                     right="-5"
-             top_delta="0"
-                     visible="false"
-             width="20" />
-                </layout_panel>
+					<combo_box
+					 follows="left|right|bottom"
+					 height="22"
+	 layout="topleft"
+					 left_pad="5"
+					 name="list_view_filter_combobox"
+					 top_delta="0"
+					 visible="false"
+					 width="152"/>
+					<combo_box
+					 follows="left|right|bottom"
+					 height="22"
+					 layout="topleft"
+					 left_delta="0"
+					 name="folder_view_filter_combobox"
+					 top_delta="0"
+					 visible="false"
+					 width="152"/>
 
-                <layout_panel
-                 auto_resize="false"
-                 background_visible="true"
-                 bg_alpha_color="DkGray2"
-                 height="30"
-                 name="filter_panel"
-                 width="311"
-                 visible="false">
+					<button
+									 follows="bottom|right"
+									 height="22"
+					 image_overlay="Search_Icon"
+									 image_pressed="PushButton_Press"
+									 image_pressed_selected="PushButton_Selected_Press"
+									 image_selected="PushButton_Selected_Press"
+					 is_toggle="true"
+					 layout="topleft"
+					 name="filter_button"
+									 right="-5"
+					 top_delta="0"
+									 visible="false"
+					 width="20" />
+				</layout_panel>
 
-                    <filter_editor
-		             background_image="TextField_Search_Off"
-		             enabled="true"
-		             follows="left|right|top"
-		             label="Filter Inventory Wearables"
-		             layout="topleft"
-		             left="5"
-		             width="290"
-		             height="25"
-		             name="look_item_filter"
-		             search_button_visible="true"
-		             text_color="black"
-		             visible="true"/>
-                    
-                </layout_panel>
-            </layout_stack>
-                </layout_panel>
+				<layout_panel
+				 auto_resize="false"
+				 background_visible="true"
+				 bg_alpha_color="DkGray2"
+				 height="30"
+				 name="filter_panel"
+				 width="311"
+				 visible="false">
 
+					<filter_editor
+			 background_image="TextField_Search_Off"
+			 enabled="true"
+			 follows="left|right|top"
+			 label="Filter Inventory Wearables"
+			 layout="topleft"
+			 left="5"
+			 width="290"
+			 height="25"
+			 name="look_item_filter"
+			 search_button_visible="true"
+			 text_color="black"
+			 visible="true"/>
 
-                <layout_panel
-         background_visible="false"
-         bg_alpha_color="DkGray2"
-                 auto_resize="true"
-         default_tab_group="3"
-         height="450"
-         min_height="80"
-         name="add_wearables_panel"
-         width="313"
-         tab_group="2"
-         user_resize="true"
-         visible="false">
+				</layout_panel>
+			</layout_stack>
+		</layout_panel>
+
+
+		<layout_panel background_visible="false"
+									bg_alpha_color="DkGray2"
+									auto_resize="true"
+									height="450"
+									min_height="80"
+									name="add_wearables_panel"
+									width="313"
+									tab_group="2"
+									user_resize="true"
+									visible="false">
 
 			<!-- this icon represent dragbar between layout panels.
           	 This is a workaround implemented in EXT-7255 becouse of an issue with layout stack (EXT-7471) -->
-            <icon
-             follows="left|top|right"
-             height="10"
-             image_name="Dragbar"
-             left="0"
-             top_pad="-9"
-             width="313" />
+			<icon follows="left|top|right"
+						height="10"
+						image_name="Dragbar"
+						left="0"
+						top_pad="-9"
+						width="313" />
+			<inventory_panel allow_multi_select="true"
+											 background_visible="false"
+											 border="false"
+											 follows="left|top|right|bottom"
+											 height="418"
+											 layout="topleft"
+											 left="0"
+											 mouse_opaque="false"
+											 name="folder_view"
+											 top_pad="0"
+											 width="313"
+											 visible="false"/>
+			<panel name="filtered_wearables_panel"
+						 background_opaque="true"
+						 background_visible="false"
+						 layout="topleft"
+						 follows="left|top|right|bottom"
+						 border="false"
+						 height="418"
+						 left="0"
+						 mouse_opaque="false"
+						 width="310"
+						 top_delta="0"
+						 visible="true">
+				<wearable_items_list color="0.107 0.107 0.107 1"
+														 name="list_view"
+														 allow_select="true"
+														 layout="topleft"
+														 follows="all"
+														 multi_select="true"
+														 width="313"
+														 height="418"
+														 left="0"
+														 top="0"/>
+			</panel>
+			<button follows="bottom|left"
+							height="22"
+							left="2"
+							label="Wear Item"
+							layout="topleft"
+							name="plus_btn"
+							top_pad="5"
+							width="130" />
+		</layout_panel>
+	</layout_stack>
 
-                    <inventory_panel
-		             allow_multi_select="true"
-		             background_visible="false"
-		             border="false"
-		             follows="left|top|right|bottom"
-             height="418"
-		             layout="topleft"
-		             left="0"
-		             mouse_opaque="false"
-             name="folder_view"
-             top_pad="0"
-             width="313"
-		             visible="false"/>
-		            <panel
-		             name="filtered_wearables_panel"
-		             background_opaque="true"
-		             background_visible="false"
-		             layout="topleft"
-		             follows="left|top|right|bottom"
-		             border="false"
-             height="418"
-		             left="0"
-		             mouse_opaque="false"
-             width="310"
-		             top_delta="0"
-		             visible="true">
-		             <wearable_items_list
-		              color="0.107 0.107 0.107 1"
-                 name="list_view"
-		              allow_select="true"
-		              layout="topleft"
-		              follows="all"
-		              multi_select="true"
-                 width="313"
-                 height="418"
-		              left="0"
-		              top="0"/>
-		            </panel>
-            <button
-	         follows="bottom|left"
-	         height="22"
-	         left="2"
-	         label="Wear Item"
-	         layout="topleft"
-	         name="plus_btn"
-	         top_pad="5"
-	         width="130" />
 
-       </layout_panel>
-    </layout_stack>
+	<!-- BUTTON BAR -->
+	<panel
+	 background_visible="true"
+	 bevel_style="none"
+	 follows="bottom|left|right"
+	 height="27"
+	 layout="topleft"
+	 left="5"
+	 name="no_add_wearables_button_bar"
+	 top_pad="0"
+	 width="313">
+		<menu_button
+		 follows="bottom|left"
+		 height="25"
+		 image_hover_unselected="Toolbar_Left_Over"
+		 image_overlay="OptionsMenu_Off"
+		 image_selected="Toolbar_Left_Selected"
+		 image_unselected="Toolbar_Left_Off"
+		 layout="topleft"
+		 left="0"
+		 name="gear_menu_btn"
+		 top="1"
+		 width="31" />
+		<icon
+		 follows="bottom|left|right"
+		 height="25"
+		 image_name="Toolbar_Middle_Off"
+		 layout="topleft"
+		 left_pad="1"
+		 name="dummy_right_icon"
+		 width="250" />
+		<button
+		 follows="bottom|right"
+		 height="25"
+		 image_hover_unselected="Toolbar_Right_Over"
+		 image_overlay="Shop"
+		 image_selected="Toolbar_Right_Selected"
+		 image_unselected="Toolbar_Right_Off"
+		 layout="topleft"
+		 left_pad="1"
+		 name="shop_btn_1"
+		 top="1"
+		 tool_tip="Visit the SL Marketplace. You can also select something you are wearing, then click here to see more things like it"
+		 width="31" />
+	</panel>
 
 
-    <!-- BUTTON BAR -->
-    <panel
-     background_visible="true"
-     bevel_style="none"
-     follows="bottom|left|right"
-     height="27"
-     layout="topleft"
-     left="5"
-     name="no_add_wearables_button_bar"
-     top_pad="0"
-     width="313">
-        <menu_button
-         follows="bottom|left"
-         height="25"
-         image_hover_unselected="Toolbar_Left_Over"
-         image_overlay="OptionsMenu_Off"
-         image_selected="Toolbar_Left_Selected"
-         image_unselected="Toolbar_Left_Off"
-         layout="topleft"
-         left="0"
-         name="gear_menu_btn"
-         top="1"
-         width="31" />
-        <icon
-         follows="bottom|left|right"
-         height="25"
-         image_name="Toolbar_Middle_Off"
-         layout="topleft"
-         left_pad="1"
-         name="dummy_right_icon"
-         width="250" />
-        <button
-         follows="bottom|right"
-         height="25"
-         image_hover_unselected="Toolbar_Right_Over"
-         image_overlay="Shop"
-         image_selected="Toolbar_Right_Selected"
-         image_unselected="Toolbar_Right_Off"
-         layout="topleft"
-         left_pad="1"
-         name="shop_btn_1"
-         top="1"
-         tool_tip="Visit the SL Marketplace. You can also select something you are wearing, then click here to see more things like it"
-         width="31" />
-    </panel>
-    
-    
-    <!-- BUTTON BAR - WEARABLES ADDING MODE -->
-    <panel
-     background_visible="true"
-     bevel_style="none"
-     follows="left|right|bottom"
-     height="27"
-     layout="topleft"
-     left="5"
-     name="add_wearables_button_bar"
-     top_delta="0"
-     visible="false"
-     width="313">
-        <menu_button
-         follows="bottom|left"
-         height="25"
-         image_hover_unselected="Toolbar_Left_Over"
-         image_overlay="OptionsMenu_Off"
-         image_selected="Toolbar_Left_Selected"
-         image_unselected="Toolbar_Left_Off"
-         layout="topleft"
-         left="0"
-         name="wearables_gear_menu_btn"
-         top="1"
-         width="31" />
-        <button
-         follows="bottom|left"
-         height="25"
-         image_hover_unselected="Toolbar_Middle_Over"
-         image_overlay="Hierarchy_View_Disabled"
-         image_selected="Toolbar_Middle_Selected"
-         image_unselected="Toolbar_Middle_Off"
-         is_toggle="true"
-         layout="topleft"
-         left_pad="1"
-         name="folder_view_btn"
-         top="1"
-         width="31" />
-        <button
-         follows="bottom|left"
-         height="25"
-         image_hover_unselected="Toolbar_Middle_Over"
-         image_overlay="List_View_On"
-         image_selected="Toolbar_Middle_Selected"
-         image_unselected="Toolbar_Middle_Off"
-         is_toggle="true"
-         layout="topleft"
-         left_pad="1"
-         name="list_view_btn"
-         top="1"
-         width="31" />
-       <icon
-        follows="bottom|left|right"
-        height="25"
-         image_name="Toolbar_Middle_Off"
-        layout="topleft"
-        left_pad="1"
-         name="dummy_right_icon"
-         width="186" >
-       </icon>
-        <button
-         follows="bottom|right"
-         height="25"
-         image_hover_unselected="Toolbar_Right_Over"
-         image_overlay="Shop"
-         image_selected="Toolbar_Right_Selected"
-         image_unselected="Toolbar_Right_Off"
-         layout="topleft"
-         left_pad="1"
-         name="shop_btn_2"
-         top="1"
-         tool_tip="Visit the SL Marketplace. You can also select something you are wearing, then click here to see more things like it"
-         width="31" />
-    </panel>
+	<!-- BUTTON BAR - WEARABLES ADDING MODE -->
+	<panel
+	 background_visible="true"
+	 bevel_style="none"
+	 follows="left|right|bottom"
+	 height="27"
+	 layout="topleft"
+	 left="5"
+	 name="add_wearables_button_bar"
+	 top_delta="0"
+	 visible="false"
+	 width="313">
+		<menu_button
+		 follows="bottom|left"
+		 height="25"
+		 image_hover_unselected="Toolbar_Left_Over"
+		 image_overlay="OptionsMenu_Off"
+		 image_selected="Toolbar_Left_Selected"
+		 image_unselected="Toolbar_Left_Off"
+		 layout="topleft"
+		 left="0"
+		 name="wearables_gear_menu_btn"
+		 top="1"
+		 width="31" />
+		<button
+		 follows="bottom|left"
+		 height="25"
+		 image_hover_unselected="Toolbar_Middle_Over"
+		 image_overlay="Hierarchy_View_Disabled"
+		 image_selected="Toolbar_Middle_Selected"
+		 image_unselected="Toolbar_Middle_Off"
+		 is_toggle="true"
+		 layout="topleft"
+		 left_pad="1"
+		 name="folder_view_btn"
+		 top="1"
+		 width="31" />
+		<button
+		 follows="bottom|left"
+		 height="25"
+		 image_hover_unselected="Toolbar_Middle_Over"
+		 image_overlay="List_View_On"
+		 image_selected="Toolbar_Middle_Selected"
+		 image_unselected="Toolbar_Middle_Off"
+		 is_toggle="true"
+		 layout="topleft"
+		 left_pad="1"
+		 name="list_view_btn"
+		 top="1"
+		 width="31" />
+		<icon
+		 follows="bottom|left|right"
+		 height="25"
+			image_name="Toolbar_Middle_Off"
+		 layout="topleft"
+		 left_pad="1"
+			name="dummy_right_icon"
+			width="186" >
+		</icon>
+		<button
+		 follows="bottom|right"
+		 height="25"
+		 image_hover_unselected="Toolbar_Right_Over"
+		 image_overlay="Shop"
+		 image_selected="Toolbar_Right_Selected"
+		 image_unselected="Toolbar_Right_Off"
+		 layout="topleft"
+		 left_pad="1"
+		 name="shop_btn_2"
+		 top="1"
+		 tool_tip="Visit the SL Marketplace. You can also select something you are wearing, then click here to see more things like it"
+		 width="31" />
+	</panel>
 
-    <!-- SAVE AND REVERT BUTTONS -->
-    <panel
-     follows="left|right|bottom"
-     height="30"
-     layout="topleft"
-     left="4"
-     top_pad="2"
-     name="save_revert_button_bar"
-     width="300">
-			<layout_stack
-     	         follows="bottom|left|right"
-		         height="23"
-		         layout="topleft"
-		         mouse_opaque="false"
-		         name="button_bar_ls"
-		         left="0"
-		         orientation="horizontal"
-		         top="0"
-		         width="313">	
-			    <layout_panel
-			         follows="bottom|left|right"
-			         height="23"
-                     layout="bottomleft"
-                     left="0"			
-                     mouse_opaque="false"
-                     name="save_btn_lp"
-                     auto_resize="true"
-                     width="156">
-        <button
+	<!-- SAVE AND REVERT BUTTONS -->
+	<panel
+	 follows="left|right|bottom"
+	 height="30"
+	 layout="topleft"
+	 left="4"
+	 top_pad="2"
+	 name="save_revert_button_bar"
+	 width="300">
+		<layout_stack
+						 follows="bottom|left|right"
+					 height="23"
+					 layout="topleft"
+					 mouse_opaque="false"
+					 name="button_bar_ls"
+					 left="0"
+					 orientation="horizontal"
+					 top="0"
+					 width="313">
+			<layout_panel
+					 follows="bottom|left|right"
+					 height="23"
+								 layout="bottomleft"
+								 left="0"
+								 mouse_opaque="false"
+								 name="save_btn_lp"
+								 auto_resize="true"
+								 width="156">
+				<button
                          follows="bottom|left|right"
          height="23"
          label="Save"
@@ -524,7 +515,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap
          name="save_btn"
          top="0"
          width="155" />
-        <button
+				<button
                          follows="bottom|right"
          height="23"
          name="save_flyout_btn"
@@ -539,17 +530,17 @@ It is calculated as border_size + 2*UIResizeBarOverlap
          image_pressed_selected="SegmentedBtn_Right_Selected_Press"
          image_overlay="Arrow_Small_Up"
          width="20"/>
-			    </layout_panel>
-			    <layout_panel
-                     follows="bottom|left|right"
-                     height="23"
-                     layout="bottomleft"
-                     left_pad="3"			
-                     mouse_opaque="false"
-                     name="revert_btn_lp"
-                     auto_resize="true"
-                     width="147">
-        <button
+			</layout_panel>
+			<layout_panel
+								 follows="bottom|left|right"
+								 height="23"
+								 layout="bottomleft"
+								 left_pad="3"
+								 mouse_opaque="false"
+								 name="revert_btn_lp"
+								 auto_resize="true"
+								 width="147">
+				<button
          follows="bottom|left|right"
          height="23"
                          left="0"
@@ -559,7 +550,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap
          top="0"
          tool_tip="Revert to last saved version"
          width="147" />
-			    </layout_panel>
-			</layout_stack>
-    </panel>
+			</layout_panel>
+		</layout_stack>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml
index ed274d02337bd81253c674aaf23e7faa1dca6f08..31a2bbd1cbb5ace3a6bfbfea93de42f8284e1f97 100755
--- a/indra/newview/skins/default/xui/en/panel_people.xml
+++ b/indra/newview/skins/default/xui/en/panel_people.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <!-- Side tray panel -->
 <panel
- default_tab_group="1"
  follows="all"
  height="449"
  label="People"
@@ -60,7 +59,6 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M
      layout="topleft"
      left="3"
      name="tabs"
-     tab_group="1"
      tab_min_width="70"
      tab_height="30"
      tab_position="top"
diff --git a/indra/newview/skins/default/xui/es/sidepanel_inventory.xml b/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
index f68dcc65e390e14f882d10371beee57737e58013..9ce14c856f3b27ffafd1a98426aa967f395a4984 100755
--- a/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Cosas" name="objects panel">
-	<panel label="" name="sidepanel__inventory_panel">
+	<panel label="" name="sidepanel_inventory_panel">
 		<layout_stack name="inventory_layout_stack">
 			<layout_panel name="inbox_layout_panel">
 				<panel label="" name="marketplace_inbox">
diff --git a/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml b/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
index 1b9c8326799883a2d5423be00fffb56507475b4b..ec7dd8c095d0d758cd567ab4ba67aa0b54eb95a4 100755
--- a/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Choses" name="objects panel">
-	<panel label="" name="sidepanel__inventory_panel">
+	<panel label="" name="sidepanel_inventory_panel">
 		<layout_stack name="inventory_layout_stack">
 			<layout_panel name="inbox_layout_panel">
 				<panel label="" name="marketplace_inbox">
diff --git a/indra/newview/skins/default/xui/it/sidepanel_inventory.xml b/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
index 5ac0961bd754b5be842130b6c4edefd08835538d..907857bf5a28a72869efa4c101d81c93705b05b7 100755
--- a/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Cose" name="objects panel">
-	<panel label="" name="sidepanel__inventory_panel">
+	<panel label="" name="sidepanel_inventory_panel">
 		<layout_stack name="inventory_layout_stack">
 			<layout_panel name="inbox_layout_panel">
 				<panel label="" name="marketplace_inbox">
diff --git a/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml b/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
index 51d6d48f90aad1a93597759a8ab6a3f2174d2481..32e84ce5429f182cb76a519a53bb4551c4a1f24b 100755
--- a/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="もの" name="objects panel">
-	<panel label="" name="sidepanel__inventory_panel">
+	<panel label="" name="sidepanel_inventory_panel">
 		<layout_stack name="inventory_layout_stack">
 			<layout_panel name="inbox_layout_panel">
 				<panel label="" name="marketplace_inbox">
diff --git a/indra/newview/skins/default/xui/pl/sidepanel_inventory.xml b/indra/newview/skins/default/xui/pl/sidepanel_inventory.xml
index c2e50473a5e41c3ff01968728e8d542183be178f..1034a06f1fca18c61feeea7b1500ab8b554b84ec 100755
--- a/indra/newview/skins/default/xui/pl/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/pl/sidepanel_inventory.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Rzeczy" name="objects panel">
-	<panel label="" name="sidepanel__inventory_panel">
+	<panel label="" name="sidepanel_inventory_panel">
 		<panel name="button_panel">
 			<layout_stack name="button_panel_ls">
 				<layout_panel name="info_btn_lp">
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
index 7908ea5f3a44430d3064d71d52c781766c61ed53..c44345323ff203072e3a949ee1a127a54112c21b 100755
--- a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Coisas" name="objects panel">
-	<panel label="" name="sidepanel__inventory_panel">
+	<panel label="" name="sidepanel_inventory_panel">
 		<layout_stack name="inventory_layout_stack">
 			<layout_panel name="inbox_layout_panel">
 				<panel label="" name="marketplace_inbox">
diff --git a/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml b/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml
index c106c2de7943defc766a3ab1f64be175f7273cf6..1741f63074c6e67dd07c94f4beec75e93389a9b2 100755
--- a/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Вещи" name="objects panel">
-	<panel label="" name="sidepanel__inventory_panel">
+	<panel label="" name="sidepanel_inventory_panel">
 		<layout_stack name="inventory_layout_stack">
 			<layout_panel name="inbox_layout_panel">
 				<panel label="" name="marketplace_inbox">
diff --git a/indra/newview/skins/default/xui/tr/sidepanel_inventory.xml b/indra/newview/skins/default/xui/tr/sidepanel_inventory.xml
index 938b5a76d83ca146acae7cc8d065d2a60d40928c..3241d52c81405b5eda5cf45a10b496d604550d40 100755
--- a/indra/newview/skins/default/xui/tr/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/tr/sidepanel_inventory.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="EÅŸyalar" name="objects panel">
-	<panel label="" name="sidepanel__inventory_panel">
+	<panel label="" name="sidepanel_inventory_panel">
 		<layout_stack name="inventory_layout_stack">
 			<layout_panel name="inbox_layout_panel">
 				<panel label="" name="marketplace_inbox">
diff --git a/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml b/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml
index c8aae1501118cc3a8334c6b42b3a882d02a0e78e..4034a7154fa4822a3c301b6d89a14c4d987d9a40 100755
--- a/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="事物" name="objects panel">
-	<panel label="" name="sidepanel__inventory_panel">
+	<panel label="" name="sidepanel_inventory_panel">
 		<layout_stack name="inventory_layout_stack">
 			<layout_panel name="inbox_layout_panel">
 				<panel label="" name="marketplace_inbox">