diff --git a/indra/newview/llavatarlistitem.cpp b/indra/newview/llavatarlistitem.cpp
index c74075d67f2c9268f36f2ca72a92f275e2a36769..eead0c9b3e7c4324cec57e3eb0578ac31fd6f90d 100644
--- a/indra/newview/llavatarlistitem.cpp
+++ b/indra/newview/llavatarlistitem.cpp
@@ -127,7 +127,7 @@ S32 LLAvatarListItem::notifyParent(const LLSD& info)
 
 void LLAvatarListItem::onMouseEnter(S32 x, S32 y, MASK mask)
 {
-	childSetVisible("hovered_icon", true);
+	getChildView("hovered_icon")->setVisible( true);
 	mInfoBtn->setVisible(mShowInfoBtn);
 	mProfileBtn->setVisible(mShowProfileBtn);
 
@@ -138,7 +138,7 @@ void LLAvatarListItem::onMouseEnter(S32 x, S32 y, MASK mask)
 
 void LLAvatarListItem::onMouseLeave(S32 x, S32 y, MASK mask)
 {
-	childSetVisible("hovered_icon", false);
+	getChildView("hovered_icon")->setVisible( false);
 	mInfoBtn->setVisible(false);
 	mProfileBtn->setVisible(false);
 
@@ -315,7 +315,7 @@ void LLAvatarListItem::setValue( const LLSD& value )
 {
 	if (!value.isMap()) return;;
 	if (!value.has("selected")) return;
-	childSetVisible("selected_icon", value["selected"]);
+	getChildView("selected_icon")->setVisible( value["selected"]);
 }
 
 const LLUUID& LLAvatarListItem::getAvatarId() const
diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp
index 41f5fe64a13b1b4926741cc785eb8fba48b258b6..0e5e8d0fe7ccd7ad592638c370a15ef6efac4c21 100644
--- a/indra/newview/llbottomtray.cpp
+++ b/indra/newview/llbottomtray.cpp
@@ -59,7 +59,7 @@ static void update_build_button_enable_state()
 {
 	bool can_edit = LLToolMgr::getInstance()->canEdit();
 
-	LLBottomTray::getInstance()->childSetEnabled("build_btn", can_edit);
+	LLBottomTray::getInstance()->getChildView("build_btn")->setEnabled(can_edit);
 }
 
 // Build time optimization, generate extern template once in .cpp file
diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp
index b494470cbcebae8a46e49a00a396a835e9a1b810..a03fe7951273e010a23cc9caac230e45125ec8a2 100644
--- a/indra/newview/llcallfloater.cpp
+++ b/indra/newview/llcallfloater.cpp
@@ -296,7 +296,7 @@ void LLCallFloater::updateSession()
 
 	// Hide "Leave Call" button for nearby chat
 	bool is_local_chat = mVoiceType == VC_LOCAL_CHAT;
-	childSetVisible("leave_call_btn_panel", !is_local_chat);
+	getChildView("leave_call_btn_panel")->setVisible( !is_local_chat);
 
 	refreshParticipantList();
 	updateAgentModeratorState();
@@ -419,11 +419,11 @@ void LLCallFloater::initAgentData()
 
 	if ( mAgentPanel )
 	{
-		mAgentPanel->childSetValue("user_icon", gAgentID);
+		mAgentPanel->getChild<LLUICtrl>("user_icon")->setValue(gAgentID);
 
 		std::string name;
 		gCacheName->getFullName(gAgentID, name);
-		mAgentPanel->childSetValue("user_text", name);
+		mAgentPanel->getChild<LLUICtrl>("user_text")->setValue(name);
 
 		mSpeakingIndicator = mAgentPanel->getChild<LLOutputMonitorCtrl>("speaking_indicator");
 		mSpeakingIndicator->setSpeakerId(gAgentID);
@@ -461,7 +461,7 @@ void LLCallFloater::updateAgentModeratorState()
 			}
 		}
 	}
-	mAgentPanel->childSetValue("user_text", name);
+	mAgentPanel->getChild<LLUICtrl>("user_text")->setValue(name);
 }
 
 static void get_voice_participants_uuids(uuid_vec_t& speakers_uuids)
@@ -766,7 +766,7 @@ void LLCallFloater::reset(const LLVoiceChannel::EState& new_state)
 	{
 		// hides "Leave Call" when call is ended in parcel with disabled voice- hiding usually happens in
 		// updateSession() which won't be called here because connect to nearby voice never happens 
-		childSetVisible("leave_call_btn_panel", false);
+		getChildView("leave_call_btn_panel")->setVisible( false);
 		// setting title to nearby chat an "no one near..." text- because in region with disabled
 		// voice we won't have chance to really connect to nearby, so VCP is changed here manually
 		setTitle(getString("title_nearby"));
diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp
index cd279fa10a0dc3220a430825593689f106d43da8..73fbe78298d49dd522711f9c74e3a75b02dba7ca 100644
--- a/indra/newview/llchatbar.cpp
+++ b/indra/newview/llchatbar.cpp
@@ -191,7 +191,7 @@ void LLChatBar::refresh()
 		gAgent.stopTyping();
 	}
 
-	childSetEnabled("Say", mInputEditor->getText().size() > 0);
+	getChildView("Say")->setEnabled(mInputEditor->getText().size() > 0);
 
 }
 
@@ -393,7 +393,7 @@ void LLChatBar::sendChat( EChatType type )
 		}
 	}
 
-	childSetValue("Chat Editor", LLStringUtil::null);
+	getChild<LLUICtrl>("Chat Editor")->setValue(LLStringUtil::null);
 
 	gAgent.stopTyping();
 
diff --git a/indra/newview/llcompilequeue.cpp b/indra/newview/llcompilequeue.cpp
index feb8c540ef9518d57c97032ed0bc5f3013da9e84..e91bf33502f8ef880c21b0e3227d5bc58b14b3ad 100644
--- a/indra/newview/llcompilequeue.cpp
+++ b/indra/newview/llcompilequeue.cpp
@@ -106,7 +106,7 @@ LLFloaterScriptQueue::~LLFloaterScriptQueue()
 BOOL LLFloaterScriptQueue::postBuild()
 {
 	childSetAction("close",onCloseBtn,this);
-	childSetEnabled("close",FALSE);
+	getChildView("close")->setEnabled(FALSE);
 	return TRUE;
 }
 
@@ -219,7 +219,7 @@ BOOL LLFloaterScriptQueue::nextObject()
 	{
 		mDone = true;
 		getChild<LLScrollListCtrl>("queue output")->setCommentText(getString("Done"));
-		childSetEnabled("close",TRUE);
+		getChildView("close")->setEnabled(TRUE);
 	}
 	return successful_start;
 }
diff --git a/indra/newview/llcurrencyuimanager.cpp b/indra/newview/llcurrencyuimanager.cpp
index 7ebcef943ee1c1fb7dcaf425466d17f959c6dd02..3d40358ce5f4861987826f93d3edddc977a8d8d5 100644
--- a/indra/newview/llcurrencyuimanager.cpp
+++ b/indra/newview/llcurrencyuimanager.cpp
@@ -412,8 +412,8 @@ void LLCurrencyUIManager::Impl::currencyKey(S32 value)
 		//cannot just simply refresh the whole UI, as the edit field will
 		// get reset and the cursor will change...
 		
-		mPanel.childHide("currency_est");
-		mPanel.childSetVisible("getting_data",TRUE);
+		mPanel.getChildView("currency_est")->setVisible(FALSE);
+		mPanel.getChildView("getting_data")->setVisible(TRUE);
 	}
 	
 	mCurrencyChanged = true;
@@ -442,13 +442,13 @@ void LLCurrencyUIManager::Impl::updateUI()
 {
 	if (mHidden)
 	{
-		mPanel.childHide("currency_action");
-		mPanel.childHide("currency_amt");
-		mPanel.childHide("currency_est");
+		mPanel.getChildView("currency_action")->setVisible(FALSE);
+		mPanel.getChildView("currency_amt")->setVisible(FALSE);
+		mPanel.getChildView("currency_est")->setVisible(FALSE);
 		return;
 	}
 
-	mPanel.childShow("currency_action");
+	mPanel.getChildView("currency_action")->setVisible(TRUE);
 
 	LLLineEditor* lindenAmount = mPanel.getChild<LLLineEditor>("currency_amt");
 	if (lindenAmount) 
@@ -471,17 +471,17 @@ void LLCurrencyUIManager::Impl::updateUI()
 		}
 	}
 
-	mPanel.childSetTextArg("currency_est", "[LOCALAMOUNT]", getLocalEstimate());
-	mPanel.childSetVisible("currency_est", hasEstimate() && mUserCurrencyBuy > 0);
+	mPanel.getChild<LLUICtrl>("currency_est")->setTextArg("[LOCALAMOUNT]", getLocalEstimate());
+	mPanel.getChildView("currency_est")->setVisible( hasEstimate() && mUserCurrencyBuy > 0);
 
-	mPanel.childSetVisible("currency_links", mSupportsInternationalBilling);
-	mPanel.childSetVisible("exchange_rate_note", mSupportsInternationalBilling);
+	mPanel.getChildView("currency_links")->setVisible( mSupportsInternationalBilling);
+	mPanel.getChildView("exchange_rate_note")->setVisible( mSupportsInternationalBilling);
 
-	if (mPanel.childIsEnabled("buy_btn")
-		||mPanel.childIsVisible("currency_est")
-		|| mPanel.childIsVisible("error_web"))
+	if (mPanel.getChildView("buy_btn")->getEnabled()
+		||mPanel.getChildView("currency_est")->getVisible()
+		|| mPanel.getChildView("error_web")->getVisible())
 	{
-		mPanel.childSetVisible("getting_data",FALSE);
+		mPanel.getChildView("getting_data")->setVisible(FALSE);
 	}
 }
 
diff --git a/indra/newview/llfloaterauction.cpp b/indra/newview/llfloaterauction.cpp
index 679ab4c713da5c35e7554ba465324901f3a0e4ca..b0265e6cd2813f7d628298b1a2895bda6885c17d 100644
--- a/indra/newview/llfloaterauction.cpp
+++ b/indra/newview/llfloaterauction.cpp
@@ -115,20 +115,20 @@ void LLFloaterAuction::initialize()
 		mParcelID = parcelp->getLocalID();
 		mParcelUpdateCapUrl = region->getCapability("ParcelPropertiesUpdate");
 
-		childSetText("parcel_text", parcelp->getName());
-		childEnable("snapshot_btn");
-		childEnable("reset_parcel_btn");
-		childEnable("start_auction_btn");
+		getChild<LLUICtrl>("parcel_text")->setValue(parcelp->getName());
+		getChildView("snapshot_btn")->setEnabled(TRUE);
+		getChildView("reset_parcel_btn")->setEnabled(TRUE);
+		getChildView("start_auction_btn")->setEnabled(TRUE);
 
 		LLPanelEstateInfo* panel = LLFloaterRegionInfo::getPanelEstate();
 		if (panel)
 		{	// Only enable "Sell to Anyone" on Teen grid or if we don't know the ID yet
 			U32 estate_id = panel->getEstateID();
-			childSetEnabled("sell_to_anyone_btn", (estate_id == ESTATE_TEEN || estate_id == 0));
+			getChildView("sell_to_anyone_btn")->setEnabled((estate_id == ESTATE_TEEN || estate_id == 0));
 		}
 		else
 		{	// Don't have the panel up, so don't know if we're on the teen grid or not.  Default to enabling it
-			childEnable("sell_to_anyone_btn");
+			getChildView("sell_to_anyone_btn")->setEnabled(TRUE);
 		}
 	}
 	else
@@ -136,17 +136,17 @@ void LLFloaterAuction::initialize()
 		mParcelHost.invalidate();
 		if(parcelp && parcelp->getForSale())
 		{
-			childSetText("parcel_text", getString("already for sale"));
+			getChild<LLUICtrl>("parcel_text")->setValue(getString("already for sale"));
 		}
 		else
 		{
-			childSetText("parcel_text", LLStringUtil::null);
+			getChild<LLUICtrl>("parcel_text")->setValue(LLStringUtil::null);
 		}
 		mParcelID = -1;
-		childSetEnabled("snapshot_btn", false);
-		childSetEnabled("reset_parcel_btn", false);
-		childSetEnabled("sell_to_anyone_btn", false);
-		childSetEnabled("start_auction_btn", false);
+		getChildView("snapshot_btn")->setEnabled(false);
+		getChildView("reset_parcel_btn")->setEnabled(false);
+		getChildView("sell_to_anyone_btn")->setEnabled(false);
+		getChildView("start_auction_btn")->setEnabled(false);
 	}
 
 	mImageID.setNull();
@@ -159,9 +159,10 @@ void LLFloaterAuction::draw()
 
 	if(!isMinimized() && mImage.notNull()) 
 	{
-		LLRect rect;
-		if (childGetRect("snapshot_icon", rect))
+		LLView* snapshot_icon = findChildView("snapshot_icon");
+		if (snapshot_icon)
 		{
+			LLRect rect = snapshot_icon->getRect();
 			{
 				gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
 				gl_rect_2d(rect, LLColor4(0.f, 0.f, 0.f, 1.f));
@@ -188,7 +189,7 @@ void LLFloaterAuction::onClickSnapshot(void* data)
 
 	LLPointer<LLImageRaw> raw = new LLImageRaw;
 
-	gForceRenderLandFence = self->childGetValue("fence_check").asBoolean();
+	gForceRenderLandFence = self->getChild<LLUICtrl>("fence_check")->getValue().asBoolean();
 	BOOL success = gViewerWindow->rawSnapshot(raw,
 											  gViewerWindow->getWindowWidthScaled(),
 											  gViewerWindow->getWindowHeightScaled(),
@@ -236,7 +237,7 @@ void LLFloaterAuction::onClickStartAuction(void* data)
 
 	if(self->mImageID.notNull())
 	{
-		LLSD parcel_name = self->childGetValue("parcel_text");
+		LLSD parcel_name = self->getChild<LLUICtrl>("parcel_text")->getValue();
 
 	// create the asset
 		std::string* name = new std::string(parcel_name.asString());
@@ -345,7 +346,7 @@ void LLFloaterAuction::doResetParcel()
 
 		std::string new_name(parcel_name.str().c_str());
 		body["name"] = new_name;
-		childSetText("parcel_text", new_name);	// Set name in dialog as well, since it won't get updated otherwise
+		getChild<LLUICtrl>("parcel_text")->setValue(new_name);	// Set name in dialog as well, since it won't get updated otherwise
 
 		body["sale_price"] = (S32) 0;
 		body["description"] = empty;
diff --git a/indra/newview/llfloateravatarpicker.cpp b/indra/newview/llfloateravatarpicker.cpp
index 8f6816b845e5e6b08cc3b67fc2f0d781b83d4773..7dbf6ebd5b70f907a539f1b33242d85ef5e19bef 100644
--- a/indra/newview/llfloateravatarpicker.cpp
+++ b/indra/newview/llfloateravatarpicker.cpp
@@ -94,14 +94,14 @@ BOOL LLFloaterAvatarPicker::postBuild()
 	getChild<LLLineEditor>("Edit")->setKeystrokeCallback( boost::bind(&LLFloaterAvatarPicker::editKeystroke, this, _1, _2),NULL);
 
 	childSetAction("Find", boost::bind(&LLFloaterAvatarPicker::onBtnFind, this));
-	childDisable("Find");
+	getChildView("Find")->setEnabled(FALSE);
 	childSetAction("Refresh", boost::bind(&LLFloaterAvatarPicker::onBtnRefresh, this));
 	getChild<LLUICtrl>("near_me_range")->setCommitCallback(boost::bind(&LLFloaterAvatarPicker::onRangeAdjust, this));
 	
 	LLScrollListCtrl* searchresults = getChild<LLScrollListCtrl>("SearchResults");
 	searchresults->setDoubleClickCallback( boost::bind(&LLFloaterAvatarPicker::onBtnSelect, this));
 	searchresults->setCommitCallback(boost::bind(&LLFloaterAvatarPicker::onList, this));
-	childDisable("SearchResults");
+	getChildView("SearchResults")->setEnabled(FALSE);
 	
 	LLScrollListCtrl* nearme = getChild<LLScrollListCtrl>("NearMe");
 	nearme->setDoubleClickCallback(boost::bind(&LLFloaterAvatarPicker::onBtnSelect, this));
@@ -112,10 +112,10 @@ BOOL LLFloaterAvatarPicker::postBuild()
 	getChild<LLUICtrl>("Friends")->setCommitCallback(boost::bind(&LLFloaterAvatarPicker::onList, this));
 
 	childSetAction("ok_btn", boost::bind(&LLFloaterAvatarPicker::onBtnSelect, this));
-	childDisable("ok_btn");
+	getChildView("ok_btn")->setEnabled(FALSE);
 	childSetAction("cancel_btn", boost::bind(&LLFloaterAvatarPicker::onBtnClose, this));
 
-	childSetFocus("Edit");
+	getChild<LLUICtrl>("Edit")->setFocus(TRUE);
 
 	LLPanel* search_panel = getChild<LLPanel>("SearchPanel");
 	if (search_panel)
@@ -145,7 +145,7 @@ void LLFloaterAvatarPicker::setOkBtnEnableCb(validate_callback_t cb)
 
 void LLFloaterAvatarPicker::onTabChanged()
 {
-	childSetEnabled("ok_btn", isSelectBtnEnabled());
+	getChildView("ok_btn")->setEnabled(isSelectBtnEnabled());
 }
 
 // Destroys the object
@@ -184,7 +184,7 @@ void LLFloaterAvatarPicker::onBtnSelect()
 	{
 		std::string acvtive_panel_name;
 		LLScrollListCtrl* list =  NULL;
-		LLPanel* active_panel = childGetVisibleTab("ResidentChooserTabs");
+		LLPanel* active_panel = getChild<LLTabContainer>("ResidentChooserTabs")->getCurrentPanel();
 		if(active_panel)
 		{
 			acvtive_panel_name = active_panel->getName();
@@ -239,7 +239,7 @@ void LLFloaterAvatarPicker::onRangeAdjust()
 
 void LLFloaterAvatarPicker::onList()
 {
-	childSetEnabled("ok_btn", isSelectBtnEnabled());
+	getChildView("ok_btn")->setEnabled(isSelectBtnEnabled());
 }
 
 void LLFloaterAvatarPicker::populateNearMe()
@@ -273,14 +273,14 @@ void LLFloaterAvatarPicker::populateNearMe()
 
 	if (empty)
 	{
-		childDisable("NearMe");
-		childDisable("ok_btn");
+		getChildView("NearMe")->setEnabled(FALSE);
+		getChildView("ok_btn")->setEnabled(FALSE);
 		near_me_scroller->setCommentText(getString("no_one_near"));
 	}
 	else 
 	{
-		childEnable("NearMe");
-		childEnable("ok_btn");
+		getChildView("NearMe")->setEnabled(TRUE);
+		getChildView("ok_btn")->setEnabled(TRUE);
 		near_me_scroller->selectFirstItem();
 		onList();
 		near_me_scroller->setFocus(TRUE);
@@ -327,7 +327,7 @@ void LLFloaterAvatarPicker::draw()
 	}
 
 	LLFloater::draw();
-	if (!mNearMeListComplete && childGetVisibleTab("ResidentChooserTabs") == getChild<LLPanel>("NearMePanel"))
+	if (!mNearMeListComplete && getChild<LLTabContainer>("ResidentChooserTabs")->getCurrentPanel() == getChild<LLPanel>("NearMePanel"))
 	{
 		populateNearMe();
 	}
@@ -335,7 +335,7 @@ void LLFloaterAvatarPicker::draw()
 
 BOOL LLFloaterAvatarPicker::visibleItemsSelected() const
 {
-	LLPanel* active_panel = childGetVisibleTab("ResidentChooserTabs");
+	LLPanel* active_panel = getChild<LLTabContainer>("ResidentChooserTabs")->getCurrentPanel();
 
 	if(active_panel == getChild<LLPanel>("SearchPanel"))
 	{
@@ -354,7 +354,7 @@ BOOL LLFloaterAvatarPicker::visibleItemsSelected() const
 
 void LLFloaterAvatarPicker::find()
 {
-	std::string text = childGetValue("Edit").asString();
+	std::string text = getChild<LLUICtrl>("Edit")->getValue().asString();
 
 	mQueryID.generate();
 
@@ -373,7 +373,7 @@ void LLFloaterAvatarPicker::find()
 	getChild<LLScrollListCtrl>("SearchResults")->deleteAllItems();
 	getChild<LLScrollListCtrl>("SearchResults")->setCommentText(getString("searching"));
 	
-	childSetEnabled("ok_btn", FALSE);
+	getChildView("ok_btn")->setEnabled(FALSE);
 	mNumResultsReturned = 0;
 }
 
@@ -388,7 +388,7 @@ LLScrollListCtrl* LLFloaterAvatarPicker::getActiveList()
 {
 	std::string acvtive_panel_name;
 	LLScrollListCtrl* list = NULL;
-	LLPanel* active_panel = childGetVisibleTab("ResidentChooserTabs");
+	LLPanel* active_panel = getChild<LLTabContainer>("ResidentChooserTabs")->getCurrentPanel();
 	if(active_panel)
 	{
 		acvtive_panel_name = active_panel->getName();
@@ -502,10 +502,10 @@ void LLFloaterAvatarPicker::processAvatarPickerReply(LLMessageSystem* msg, void*
 		if (avatar_id.isNull())
 		{
 			LLStringUtil::format_map_t map;
-			map["[TEXT]"] = floater->childGetText("Edit");
+			map["[TEXT]"] = floater->getChild<LLUICtrl>("Edit")->getValue().asString();
 			avatar_name = floater->getString("not_found", map);
 			search_results->setEnabled(FALSE);
-			floater->childDisable("ok_btn");
+			floater->getChildView("ok_btn")->setEnabled(FALSE);
 		}
 		else
 		{
@@ -521,7 +521,7 @@ void LLFloaterAvatarPicker::processAvatarPickerReply(LLMessageSystem* msg, void*
 
 	if (found_one)
 	{
-		floater->childEnable("ok_btn");
+		floater->getChildView("ok_btn")->setEnabled(TRUE);
 		search_results->selectFirstItem();
 		floater->onList();
 		search_results->setFocus(TRUE);
@@ -531,7 +531,7 @@ void LLFloaterAvatarPicker::processAvatarPickerReply(LLMessageSystem* msg, void*
 //static
 void LLFloaterAvatarPicker::editKeystroke(LLLineEditor* caller, void* user_data)
 {
-	childSetEnabled("Find", caller->getText().size() >= 3);
+	getChildView("Find")->setEnabled(caller->getText().size() >= 3);
 }
 
 // virtual
@@ -539,7 +539,7 @@ BOOL LLFloaterAvatarPicker::handleKeyHere(KEY key, MASK mask)
 {
 	if (key == KEY_RETURN && mask == MASK_NONE)
 	{
-		if (childHasFocus("Edit"))
+		if (getChild<LLUICtrl>("Edit")->hasFocus())
 		{
 			onBtnFind();
 		}
@@ -566,7 +566,7 @@ bool LLFloaterAvatarPicker::isSelectBtnEnabled()
 	{
 		std::string acvtive_panel_name;
 		LLScrollListCtrl* list =  NULL;
-		LLPanel* active_panel = childGetVisibleTab("ResidentChooserTabs");
+		LLPanel* active_panel = getChild<LLTabContainer>("ResidentChooserTabs")->getCurrentPanel();
 
 		if(active_panel)
 		{
diff --git a/indra/newview/llfloaterbuy.cpp b/indra/newview/llfloaterbuy.cpp
index d359856443302a9d997434c0fc3b3d89f339eac8..eee4310ec735134b993354ebfca5d7820d39a9f1 100644
--- a/indra/newview/llfloaterbuy.cpp
+++ b/indra/newview/llfloaterbuy.cpp
@@ -62,8 +62,8 @@ LLFloaterBuy::LLFloaterBuy(const LLSD& key)
 
 BOOL LLFloaterBuy::postBuild()
 {
-	childDisable("object_list");
-	childDisable("item_list");
+	getChildView("object_list")->setEnabled(FALSE);
+	getChildView("item_list")->setEnabled(FALSE);
 
 	getChild<LLUICtrl>("cancel_btn")->setCommitCallback( boost::bind(&LLFloaterBuy::onClickCancel, this));
 	getChild<LLUICtrl>("buy_btn")->setCommitCallback( boost::bind(&LLFloaterBuy::onClickBuy, this));
@@ -183,8 +183,8 @@ void LLFloaterBuy::show(const LLSaleInfo& sale_info)
 	// Add after columns added so appropriate heights are correct.
 	object_list->addElement(row);
 
-	floater->childSetTextArg("buy_text", "[AMOUNT]", llformat("%d", sale_info.getSalePrice()));
-	floater->childSetTextArg("buy_text", "[NAME]", owner_name);
+	floater->getChild<LLUICtrl>("buy_text")->setTextArg("[AMOUNT]", llformat("%d", sale_info.getSalePrice()));
+	floater->getChild<LLUICtrl>("buy_text")->setTextArg("[NAME]", owner_name);
 
 	// Must do this after the floater is created, because
 	// sometimes the inventory is already there and 
diff --git a/indra/newview/llfloaterbuycontents.cpp b/indra/newview/llfloaterbuycontents.cpp
index 9bde3b1dac91c9c36caa7f7dd6fc75ec2d06923d..76ec5da303d109f8cd8f47913efa2f5c86224fc0 100644
--- a/indra/newview/llfloaterbuycontents.cpp
+++ b/indra/newview/llfloaterbuycontents.cpp
@@ -69,9 +69,9 @@ BOOL LLFloaterBuyContents::postBuild()
 	getChild<LLUICtrl>("cancel_btn")->setCommitCallback( boost::bind(&LLFloaterBuyContents::onClickCancel, this));
 	getChild<LLUICtrl>("buy_btn")->setCommitCallback( boost::bind(&LLFloaterBuyContents::onClickBuy, this));
 
-	childDisable("item_list");
-	childDisable("buy_btn");
-	childDisable("wear_check");
+	getChildView("item_list")->setEnabled(FALSE);
+	getChildView("buy_btn")->setEnabled(FALSE);
+	getChildView("wear_check")->setEnabled(FALSE);
 
 	setDefaultBtn("cancel_btn"); // to avoid accidental buy (SL-43130)
 
@@ -129,9 +129,9 @@ void LLFloaterBuyContents::show(const LLSaleInfo& sale_info)
 		gCacheName->getGroupName(owner_id, owner_name);
 	}
 
-	floater->childSetTextArg("contains_text", "[NAME]", node->mName);
-	floater->childSetTextArg("buy_text", "[AMOUNT]", llformat("%d", sale_info.getSalePrice()));
-	floater->childSetTextArg("buy_text", "[NAME]", owner_name);
+	floater->getChild<LLUICtrl>("contains_text")->setTextArg("[NAME]", node->mName);
+	floater->getChild<LLUICtrl>("buy_text")->setTextArg("[AMOUNT]", llformat("%d", sale_info.getSalePrice()));
+	floater->getChild<LLUICtrl>("buy_text")->setTextArg("[NAME]", owner_name);
 
 	// Must do this after the floater is created, because
 	// sometimes the inventory is already there and 
@@ -169,7 +169,7 @@ void LLFloaterBuyContents::inventoryChanged(LLViewerObject* obj,
 	}
 
 	// default to turning off the buy button.
-	childDisable("buy_btn");
+	getChildView("buy_btn")->setEnabled(FALSE);
 
 	LLUUID owner_id;
 	BOOL is_group_owned;
@@ -210,7 +210,7 @@ void LLFloaterBuyContents::inventoryChanged(LLViewerObject* obj,
 
 		// There will be at least one item shown in the display, so go
 		// ahead and enable the buy button.
-		childEnable("buy_btn");
+		getChildView("buy_btn")->setEnabled(TRUE);
 
 		// Create the line in the list
 		LLSD row;
@@ -256,8 +256,8 @@ void LLFloaterBuyContents::inventoryChanged(LLViewerObject* obj,
 
 	if (wearable_count > 0)
 	{
-		childEnable("wear_check");
-		childSetValue("wear_check", LLSD(false) );
+		getChildView("wear_check")->setEnabled(TRUE);
+		getChild<LLUICtrl>("wear_check")->setValue(LLSD(false) );
 	}
 	
 	removeVOInventoryListener();
@@ -268,7 +268,7 @@ void LLFloaterBuyContents::onClickBuy()
 {
 	// Make sure this wasn't selected through other mechanisms 
 	// (ie, being the default button and pressing enter.
-	if(!childIsEnabled("buy_btn"))
+	if(!getChildView("buy_btn")->getEnabled())
 	{
 		// We shouldn't be enabled.  Just close.
 		closeFloater();
@@ -276,7 +276,7 @@ void LLFloaterBuyContents::onClickBuy()
 	}
 
 	// We may want to wear this item
-	if (childGetValue("wear_check"))
+	if (getChild<LLUICtrl>("wear_check")->getValue())
 	{
 		LLInventoryState::sWearNewClothing = TRUE;
 	}
diff --git a/indra/newview/llfloaterbuycurrency.cpp b/indra/newview/llfloaterbuycurrency.cpp
index 7fddd1fc5faa110aaf43946e19d63ffab8cc149f..e8e0503f480c0c440ad1f86f8614f06f9fa908a9 100644
--- a/indra/newview/llfloaterbuycurrency.cpp
+++ b/indra/newview/llfloaterbuycurrency.cpp
@@ -162,7 +162,7 @@ void LLFloaterBuyCurrencyUI::draw()
 	}
 
 	// disable the Buy button when we are not able to buy
-	childSetEnabled("buy_btn", mManager.canBuy());
+	getChildView("buy_btn")->setEnabled(mManager.canBuy());
 
 	LLFloater::draw();
 }
@@ -178,27 +178,27 @@ void LLFloaterBuyCurrencyUI::updateUI()
 	mManager.updateUI(!hasError && !mManager.buying());
 
 	// hide most widgets - we'll turn them on as needed next
-	childHide("info_buying");
-	childHide("info_cannot_buy");
-	childHide("info_need_more");	
-	childHide("purchase_warning_repurchase");
-	childHide("purchase_warning_notenough");
-	childHide("contacting");
-	childHide("buy_action");
+	getChildView("info_buying")->setVisible(FALSE);
+	getChildView("info_cannot_buy")->setVisible(FALSE);
+	getChildView("info_need_more")->setVisible(FALSE);	
+	getChildView("purchase_warning_repurchase")->setVisible(FALSE);
+	getChildView("purchase_warning_notenough")->setVisible(FALSE);
+	getChildView("contacting")->setVisible(FALSE);
+	getChildView("buy_action")->setVisible(FALSE);
 
 	if (hasError)
 	{
 		// display an error from the server
-		childHide("normal_background");
-		childShow("error_background");
-		childShow("info_cannot_buy");
-		childShow("cannot_buy_message");
-		childHide("balance_label");
-		childHide("balance_amount");
-		childHide("buying_label");
-		childHide("buying_amount");
-		childHide("total_label");
-		childHide("total_amount");
+		getChildView("normal_background")->setVisible(FALSE);
+		getChildView("error_background")->setVisible(TRUE);
+		getChildView("info_cannot_buy")->setVisible(TRUE);
+		getChildView("cannot_buy_message")->setVisible(TRUE);
+		getChildView("balance_label")->setVisible(FALSE);
+		getChildView("balance_amount")->setVisible(FALSE);
+		getChildView("buying_label")->setVisible(FALSE);
+		getChildView("buying_amount")->setVisible(FALSE);
+		getChildView("total_label")->setVisible(FALSE);
+		getChildView("total_amount")->setVisible(FALSE);
 
         LLTextBox* message = getChild<LLTextBox>("cannot_buy_message");
         if (message)
@@ -206,67 +206,67 @@ void LLFloaterBuyCurrencyUI::updateUI()
 			message->setText(mManager.errorMessage());
 		}
 
-		childSetVisible("error_web", !mManager.errorURI().empty());
+		getChildView("error_web")->setVisible( !mManager.errorURI().empty());
 	}
 	else
 	{
 		// display the main Buy L$ interface
-		childShow("normal_background");
-		childHide("error_background");
-		childHide("cannot_buy_message");
-		childHide("error_web");
+		getChildView("normal_background")->setVisible(TRUE);
+		getChildView("error_background")->setVisible(FALSE);
+		getChildView("cannot_buy_message")->setVisible(FALSE);
+		getChildView("error_web")->setVisible(FALSE);
 
 		if (mHasTarget)
 		{
-			childShow("info_need_more");
+			getChildView("info_need_more")->setVisible(TRUE);
 		}
 		else
 		{
-			childShow("info_buying");
+			getChildView("info_buying")->setVisible(TRUE);
 		}
 
 		if (mManager.buying())
 		{
-			childSetVisible("contacting", true);
+			getChildView("contacting")->setVisible( true);
 		}
 		else
 		{
 			if (mHasTarget)
 			{
-				childSetVisible("buy_action", true);
-				childSetTextArg("buy_action", "[ACTION]", mTargetName);
+				getChildView("buy_action")->setVisible( true);
+				getChild<LLUICtrl>("buy_action")->setTextArg("[ACTION]", mTargetName);
 			}
 		}
 		
 		S32 balance = gStatusBar->getBalance();
-		childShow("balance_label");
-		childShow("balance_amount");
-		childSetTextArg("balance_amount", "[AMT]", llformat("%d", balance));
+		getChildView("balance_label")->setVisible(TRUE);
+		getChildView("balance_amount")->setVisible(TRUE);
+		getChild<LLUICtrl>("balance_amount")->setTextArg("[AMT]", llformat("%d", balance));
 		
 		S32 buying = mManager.getAmount();
-		childShow("buying_label");
-		childShow("buying_amount");
-		childSetTextArg("buying_amount", "[AMT]", llformat("%d", buying));
+		getChildView("buying_label")->setVisible(TRUE);
+		getChildView("buying_amount")->setVisible(TRUE);
+		getChild<LLUICtrl>("buying_amount")->setTextArg("[AMT]", llformat("%d", buying));
 		
 		S32 total = balance + buying;
-		childShow("total_label");
-		childShow("total_amount");
-		childSetTextArg("total_amount", "[AMT]", llformat("%d", total));
+		getChildView("total_label")->setVisible(TRUE);
+		getChildView("total_amount")->setVisible(TRUE);
+		getChild<LLUICtrl>("total_amount")->setTextArg("[AMT]", llformat("%d", total));
 
 		if (mHasTarget)
 		{
 			if (total >= mTargetPrice)
 			{
-				childSetVisible("purchase_warning_repurchase", true);
+				getChildView("purchase_warning_repurchase")->setVisible( true);
 			}
 			else
 			{
-				childSetVisible("purchase_warning_notenough", true);
+				getChildView("purchase_warning_notenough")->setVisible( true);
 			}
 		}
 	}
 
-	childSetVisible("getting_data", !mManager.canBuy() && !hasError);
+	getChildView("getting_data")->setVisible( !mManager.canBuy() && !hasError);
 }
 
 void LLFloaterBuyCurrencyUI::onClickBuy()
diff --git a/indra/newview/llfloaterbuyland.cpp b/indra/newview/llfloaterbuyland.cpp
index 9379b3f5a8214d7f8a298b9c8c8abba1f777399a..455cce5e56e737214124d731ad9fd80ffa9faced 100644
--- a/indra/newview/llfloaterbuyland.cpp
+++ b/indra/newview/llfloaterbuyland.cpp
@@ -732,7 +732,7 @@ void LLFloaterBuyLandUI::runWebSitePrep(const std::string& password)
 		return;
 	}
 	
-	BOOL remove_contribution = childGetValue("remove_contribution").asBoolean();
+	BOOL remove_contribution = getChild<LLUICtrl>("remove_contribution")->getValue().asBoolean();
 	mParcelBuyInfo = LLViewerParcelMgr::getInstance()->setupParcelBuy(gAgent.getID(), gAgent.getSessionID(),
 						gAgent.getGroupID(), mIsForGroup, mIsClaim, remove_contribution);
 
@@ -1026,13 +1026,13 @@ void LLFloaterBuyLandUI::refreshUI()
 		
 		if (mParcelValid)
 		{
-			childSetText("info_parcel", mParcelLocation);
+			getChild<LLUICtrl>("info_parcel")->setValue(mParcelLocation);
 
 			LLStringUtil::format_map_t string_args;
 			string_args["[AMOUNT]"] = llformat("%d", mParcelActualArea);
 			string_args["[AMOUNT2]"] = llformat("%d", mParcelSupportedObjects);
 		
-			childSetText("info_size", getString("meters_supports_object", string_args));
+			getChild<LLUICtrl>("info_size")->setValue(getString("meters_supports_object", string_args));
 
 			F32 cost_per_sqm = 0.0f;
 			if (mParcelActualArea > 0)
@@ -1051,17 +1051,17 @@ void LLFloaterBuyLandUI::refreshUI()
 			{
 				info_price_args["[SOLD_WITH_OBJECTS]"] = getString("sold_without_objects");
 			}
-			childSetText("info_price", getString("info_price_string", info_price_args));
-			childSetVisible("info_price", mParcelIsForSale);
+			getChild<LLUICtrl>("info_price")->setValue(getString("info_price_string", info_price_args));
+			getChildView("info_price")->setVisible( mParcelIsForSale);
 		}
 		else
 		{
-			childSetText("info_parcel", getString("no_parcel_selected"));
-			childSetText("info_size", LLStringUtil::null);
-			childSetText("info_price", LLStringUtil::null);
+			getChild<LLUICtrl>("info_parcel")->setValue(getString("no_parcel_selected"));
+			getChild<LLUICtrl>("info_size")->setValue(LLStringUtil::null);
+			getChild<LLUICtrl>("info_price")->setValue(LLStringUtil::null);
 		}
 		
-		childSetText("info_action",
+		getChild<LLUICtrl>("info_action")->setValue(
 			mCanBuy
 				?
 					mIsForGroup
@@ -1092,14 +1092,13 @@ void LLFloaterBuyLandUI::refreshUI()
 			message->setValue(LLSD(!mCanBuy ? mCannotBuyReason : "(waiting for data)"));
 		}
 
-		childSetVisible("error_web", 
-				mCannotBuyIsError && !mCannotBuyURI.empty());
+		getChildView("error_web")->setVisible(mCannotBuyIsError && !mCannotBuyURI.empty());
 	}
 	else
 	{
-		childHide("step_error");
-		childHide("error_message");
-		childHide("error_web");
+		getChildView("step_error")->setVisible(FALSE);
+		getChildView("error_message")->setVisible(FALSE);
+		getChildView("error_web")->setVisible(FALSE);
 	}
 	
 	
@@ -1110,8 +1109,8 @@ void LLFloaterBuyLandUI::refreshUI()
 			mSiteMembershipUpgrade
 				? LLViewChildren::BADGE_NOTE
 				: LLViewChildren::BADGE_OK);
-		childSetText("account_action", mSiteMembershipAction);
-		childSetText("account_reason", 
+		getChild<LLUICtrl>("account_action")->setValue(mSiteMembershipAction);
+		getChild<LLUICtrl>("account_reason")->setValue( 
 			mSiteMembershipUpgrade
 				?	getString("must_upgrade")
 				:	getString("cant_own_land")
@@ -1134,16 +1133,16 @@ void LLFloaterBuyLandUI::refreshUI()
 			levels->setCurrentByIndex(mUserPlanChoice);
 		}
 
-		childShow("step_1");
-		childShow("account_action");
-		childShow("account_reason");
+		getChildView("step_1")->setVisible(TRUE);
+		getChildView("account_action")->setVisible(TRUE);
+		getChildView("account_reason")->setVisible(TRUE);
 	}
 	else
 	{
-		childHide("step_1");
-		childHide("account_action");
-		childHide("account_reason");
-		childHide("account_level");
+		getChildView("step_1")->setVisible(FALSE);
+		getChildView("account_action")->setVisible(FALSE);
+		getChildView("account_reason")->setVisible(FALSE);
+		getChildView("account_level")->setVisible(FALSE);
 	}
 	
 	// section two: land use fees
@@ -1153,7 +1152,7 @@ void LLFloaterBuyLandUI::refreshUI()
 			mSiteLandUseUpgrade
 				? LLViewChildren::BADGE_NOTE
 				: LLViewChildren::BADGE_OK);
-		childSetText("land_use_action", mSiteLandUseAction);
+		getChild<LLUICtrl>("land_use_action")->setValue(mSiteLandUseAction);
 		
 		std::string message;
 		
@@ -1199,17 +1198,17 @@ void LLFloaterBuyLandUI::refreshUI()
 			}
 		}
 
-		childSetValue("land_use_reason", message);
+		getChild<LLUICtrl>("land_use_reason")->setValue(message);
 
-		childShow("step_2");
-		childShow("land_use_action");
-		childShow("land_use_reason");
+		getChildView("step_2")->setVisible(TRUE);
+		getChildView("land_use_action")->setVisible(TRUE);
+		getChildView("land_use_reason")->setVisible(TRUE);
 	}
 	else
 	{
-		childHide("step_2");
-		childHide("land_use_action");
-		childHide("land_use_reason");
+		getChildView("step_2")->setVisible(FALSE);
+		getChildView("land_use_action")->setVisible(FALSE);
+		getChildView("land_use_reason")->setVisible(FALSE);
 	}
 	
 	// section three: purchase & currency
@@ -1233,8 +1232,8 @@ void LLFloaterBuyLandUI::refreshUI()
 		LLStringUtil::format_map_t string_args;
 		string_args["[AMOUNT]"] = llformat("%d", mParcelPrice);
 		string_args["[SELLER]"] = mParcelSellerName;
-		childSetText("purchase_action", getString("pay_to_for_land", string_args));
-		childSetVisible("purchase_action", mParcelValid);
+		getChild<LLUICtrl>("purchase_action")->setValue(getString("pay_to_for_land", string_args));
+		getChildView("purchase_action")->setVisible( mParcelValid);
 		
 		std::string reasonString;
 
@@ -1243,7 +1242,7 @@ void LLFloaterBuyLandUI::refreshUI()
 			LLStringUtil::format_map_t string_args;
 			string_args["[AMOUNT]"] = llformat("%d", mAgentCashBalance);
 
-			childSetText("currency_reason", getString("have_enough_lindens", string_args));
+			getChild<LLUICtrl>("currency_reason")->setValue(getString("have_enough_lindens", string_args));
 		}
 		else
 		{
@@ -1251,9 +1250,9 @@ void LLFloaterBuyLandUI::refreshUI()
 			string_args["[AMOUNT]"] = llformat("%d", mAgentCashBalance);
 			string_args["[AMOUNT2]"] = llformat("%d", mParcelPrice - mAgentCashBalance);
 			
-			childSetText("currency_reason", getString("not_enough_lindens", string_args));
+			getChild<LLUICtrl>("currency_reason")->setValue(getString("not_enough_lindens", string_args));
 
-			childSetTextArg("currency_est", "[LOCAL_AMOUNT]", mCurrency.getLocalEstimate());
+			getChild<LLUICtrl>("currency_est")->setTextArg("[LOCAL_AMOUNT]", mCurrency.getLocalEstimate());
 		}
 		
 		if (willHaveEnough)
@@ -1261,7 +1260,7 @@ void LLFloaterBuyLandUI::refreshUI()
 			LLStringUtil::format_map_t string_args;
 			string_args["[AMOUNT]"] = llformat("%d", finalBalance);
 
-			childSetText("currency_balance", getString("balance_left", string_args));
+			getChild<LLUICtrl>("currency_balance")->setValue(getString("balance_left", string_args));
 
 		}
 		else
@@ -1269,30 +1268,30 @@ void LLFloaterBuyLandUI::refreshUI()
 			LLStringUtil::format_map_t string_args;
 			string_args["[AMOUNT]"] = llformat("%d", mParcelPrice - mAgentCashBalance);
 	
-			childSetText("currency_balance", getString("balance_needed", string_args));
+			getChild<LLUICtrl>("currency_balance")->setValue(getString("balance_needed", string_args));
 			
 		}
 
-		childSetValue("remove_contribution", LLSD(groupContributionEnough));
-		childSetEnabled("remove_contribution", groupContributionEnough);
+		getChild<LLUICtrl>("remove_contribution")->setValue(LLSD(groupContributionEnough));
+		getChildView("remove_contribution")->setEnabled(groupContributionEnough);
 		bool showRemoveContribution = mParcelIsGroupLand
 							&& (mParcelGroupContribution > 0);
-		childSetLabelArg("remove_contribution", "[AMOUNT]",
+		getChildView("remove_contribution")->setLabelArg("[AMOUNT]",
 							llformat("%d", minContribution));
-		childSetVisible("remove_contribution", showRemoveContribution);
+		getChildView("remove_contribution")->setVisible( showRemoveContribution);
 
-		childShow("step_3");
-		childShow("purchase_action");
-		childShow("currency_reason");
-		childShow("currency_balance");
+		getChildView("step_3")->setVisible(TRUE);
+		getChildView("purchase_action")->setVisible(TRUE);
+		getChildView("currency_reason")->setVisible(TRUE);
+		getChildView("currency_balance")->setVisible(TRUE);
 	}
 	else
 	{
-		childHide("step_3");
-		childHide("purchase_action");
-		childHide("currency_reason");
-		childHide("currency_balance");
-		childHide("remove_group_donation");
+		getChildView("step_3")->setVisible(FALSE);
+		getChildView("purchase_action")->setVisible(FALSE);
+		getChildView("currency_reason")->setVisible(FALSE);
+		getChildView("currency_balance")->setVisible(FALSE);
+		getChildView("remove_group_donation")->setVisible(FALSE);
 	}
 
 
@@ -1303,8 +1302,7 @@ void LLFloaterBuyLandUI::refreshUI()
 	    agrees_to_covenant = check->get();
 	}
 
-	childSetEnabled("buy_btn",
-		mCanBuy  &&  mSiteValid  &&  willHaveEnough  &&  !mTransaction && agrees_to_covenant);
+	getChildView("buy_btn")->setEnabled(mCanBuy  &&  mSiteValid  &&  willHaveEnough  &&  !mTransaction && agrees_to_covenant);
 }
 
 void LLFloaterBuyLandUI::startBuyPreConfirm()
diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp
index 0fa536dfadcd107f5ab036a67d839efaf8ffe811..75d3d188b11700c916d75d019ae03fde69dba1e2 100644
--- a/indra/newview/llfloatercamera.cpp
+++ b/indra/newview/llfloatercamera.cpp
@@ -125,10 +125,15 @@ LLPanelCameraItem::LLPanelCameraItem(const LLPanelCameraItem::Params& p)
 	}
 }
 
+void set_view_visible(LLView* parent, const std::string& name, bool visible)
+{
+	parent->getChildView(name)->setVisible(visible);
+}
+
 BOOL LLPanelCameraItem::postBuild()
 {
-	setMouseEnterCallback(boost::bind(&LLPanelCameraItem::childSetVisible, this, "hovered_icon", true));
-	setMouseLeaveCallback(boost::bind(&LLPanelCameraItem::childSetVisible, this, "hovered_icon", false));
+	setMouseEnterCallback(boost::bind(set_view_visible, this, "hovered_icon", true));
+	setMouseLeaveCallback(boost::bind(set_view_visible, this, "hovered_icon", false));
 	setMouseDownCallback(boost::bind(&LLPanelCameraItem::onAnyMouseClick, this));
 	setRightMouseDownCallback(boost::bind(&LLPanelCameraItem::onAnyMouseClick, this));
 	return TRUE;
@@ -143,9 +148,9 @@ void LLPanelCameraItem::setValue(const LLSD& value)
 {
 	if (!value.isMap()) return;;
 	if (!value.has("selected")) return;
-	childSetVisible("selected_icon", value["selected"]);
-	childSetVisible("picture", !value["selected"]);
-	childSetVisible("selected_picture", value["selected"]);
+	getChildView("selected_icon")->setVisible( value["selected"]);
+	getChildView("picture")->setVisible( !value["selected"]);
+	getChildView("selected_picture")->setVisible( value["selected"]);
 }
 
 static LLRegisterPanelClassWrapper<LLPanelCameraZoom> t_camera_zoom_panel("camera_zoom_panel");
@@ -249,12 +254,12 @@ void LLFloaterCamera::onAvatarEditingAppearance(bool editing)
 	if (!floater_camera) return;
 
 	//camera presets (rear, front, etc.)
-	floater_camera->childSetEnabled("preset_views_list", !editing);
-	floater_camera->childSetEnabled("presets_btn", !editing);
+	floater_camera->getChildView("preset_views_list")->setEnabled(!editing);
+	floater_camera->getChildView("presets_btn")->setEnabled(!editing);
 
 	//camera modes (object view, mouselook view)
-	floater_camera->childSetEnabled("camera_modes_list", !editing);
-	floater_camera->childSetEnabled("avatarview_btn", !editing);
+	floater_camera->getChildView("camera_modes_list")->setEnabled(!editing);
+	floater_camera->getChildView("avatarview_btn")->setEnabled(!editing);
 }
 
 void LLFloaterCamera::update()
@@ -484,15 +489,15 @@ void LLFloaterCamera::assignButton2Mode(ECameraControlMode mode, const std::stri
 
 void LLFloaterCamera::updateState()
 {
-	childSetVisible(ZOOM, CAMERA_CTRL_MODE_PAN == mCurrMode);
+	getChildView(ZOOM)->setVisible(CAMERA_CTRL_MODE_PAN == mCurrMode);
 	
 	bool show_presets = (CAMERA_CTRL_MODE_PRESETS == mCurrMode) || (CAMERA_CTRL_MODE_FREE_CAMERA == mCurrMode
 																	&& CAMERA_CTRL_MODE_PRESETS == mPrevMode);
-	childSetVisible(PRESETS, show_presets);
+	getChildView(PRESETS)->setVisible(show_presets);
 	
 	bool show_camera_modes = CAMERA_CTRL_MODE_MODES == mCurrMode || (CAMERA_CTRL_MODE_FREE_CAMERA == mCurrMode
 																	&& CAMERA_CTRL_MODE_MODES == mPrevMode);
-	childSetVisible("camera_modes_list", show_camera_modes);
+	getChildView("camera_modes_list")->setVisible( show_camera_modes);
 
 	updateItemsSelection();
 
diff --git a/indra/newview/llfloatercolorpicker.cpp b/indra/newview/llfloatercolorpicker.cpp
index b65457c4ebe040bfd75eddc3b97eae8c9ac1212a..6922c515cddf338bc775fe4185eeeb349e5b4236 100644
--- a/indra/newview/llfloatercolorpicker.cpp
+++ b/indra/newview/llfloatercolorpicker.cpp
@@ -692,12 +692,12 @@ void LLFloaterColorPicker::drawPalette ()
 void LLFloaterColorPicker::updateTextEntry ()
 {
 	// set values in spinners
-	childSetValue("rspin", ( getCurR () * 255.0f ) );
-	childSetValue("gspin", ( getCurG () * 255.0f ) );
-	childSetValue("bspin", ( getCurB () * 255.0f ) );
-	childSetValue("hspin", ( getCurH () * 360.0f ) );
-	childSetValue("sspin", ( getCurS () * 100.0f ) );
-	childSetValue("lspin", ( getCurL () * 100.0f ) );
+	getChild<LLUICtrl>("rspin")->setValue(( getCurR () * 255.0f ) );
+	getChild<LLUICtrl>("gspin")->setValue(( getCurG () * 255.0f ) );
+	getChild<LLUICtrl>("bspin")->setValue(( getCurB () * 255.0f ) );
+	getChild<LLUICtrl>("hspin")->setValue(( getCurH () * 360.0f ) );
+	getChild<LLUICtrl>("sspin")->setValue(( getCurS () * 100.0f ) );
+	getChild<LLUICtrl>("lspin")->setValue(( getCurL () * 100.0f ) );
 }
 
 //////////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/llfloaterdaycycle.cpp b/indra/newview/llfloaterdaycycle.cpp
index 48d552022f981e33f07e3e298163183a8e321cc7..50ea2765e75c414e167f7afa763e9b0702578789 100644
--- a/indra/newview/llfloaterdaycycle.cpp
+++ b/indra/newview/llfloaterdaycycle.cpp
@@ -158,11 +158,11 @@ void LLFloaterDayCycle::syncMenu()
 	// turn off Use Estate Time button if it's already being used
 	if(	LLWLParamManager::instance()->mAnimator.mUseLindenTime == true)
 	{
-		childDisable("WLUseLindenTime");
+		getChildView("WLUseLindenTime")->setEnabled(FALSE);
 	} 
 	else 
 	{
-		childEnable("WLUseLindenTime");
+		getChildView("WLUseLindenTime")->setEnabled(TRUE);
 	}
 }
 
diff --git a/indra/newview/llfloaterenvsettings.cpp b/indra/newview/llfloaterenvsettings.cpp
index 2fffa6eece2bd366576f432d28efcd5cc823a805..eb344b91d37c254486ad7e6763e415a4994b88ce 100644
--- a/indra/newview/llfloaterenvsettings.cpp
+++ b/indra/newview/llfloaterenvsettings.cpp
@@ -113,7 +113,7 @@ void LLFloaterEnvSettings::syncMenu()
 
 	// sync cloud coverage
 	bool err;
-	childSetValue("EnvCloudSlider", LLWLParamManager::instance()->mCurParams.getFloat("cloud_shadow", err));
+	getChild<LLUICtrl>("EnvCloudSlider")->setValue(LLWLParamManager::instance()->mCurParams.getFloat("cloud_shadow", err));
 
 	LLWaterParamManager * param_mgr = LLWaterParamManager::instance();
 	// sync water params
@@ -122,43 +122,43 @@ void LLFloaterEnvSettings::syncMenu()
 	col.mV[3] = 1.0f;
 	colCtrl->set(col);
 
-	childSetValue("EnvWaterFogSlider", param_mgr->mFogDensity.mExp);
+	getChild<LLUICtrl>("EnvWaterFogSlider")->setValue(param_mgr->mFogDensity.mExp);
 	param_mgr->setDensitySliderValue(param_mgr->mFogDensity.mExp);
 
 	// turn off Use Estate Time button if it's already being used
 	if(LLWLParamManager::instance()->mAnimator.mUseLindenTime)
 	{
-		childDisable("EnvUseEstateTimeButton");
+		getChildView("EnvUseEstateTimeButton")->setEnabled(FALSE);
 	} else {
-		childEnable("EnvUseEstateTimeButton");
+		getChildView("EnvUseEstateTimeButton")->setEnabled(TRUE);
 	}
 
 	if(!gPipeline.canUseVertexShaders())
 	{
-		childDisable("EnvWaterColor");
-		childDisable("EnvWaterColorText");
-		//childDisable("EnvAdvancedWaterButton");		
+		getChildView("EnvWaterColor")->setEnabled(FALSE);
+		getChildView("EnvWaterColorText")->setEnabled(FALSE);
+		//getChildView("EnvAdvancedWaterButton")->setEnabled(FALSE);		
 	}
 	else
 	{
-		childEnable("EnvWaterColor");
-		childEnable("EnvWaterColorText");
-		//childEnable("EnvAdvancedWaterButton");		
+		getChildView("EnvWaterColor")->setEnabled(TRUE);
+		getChildView("EnvWaterColorText")->setEnabled(TRUE);
+		//getChildView("EnvAdvancedWaterButton")->setEnabled(TRUE);		
 	}
 
 	// only allow access to these if they are using windlight
 	if(!gPipeline.canUseWindLightShaders())
 	{
 
-		childDisable("EnvCloudSlider");
-		childDisable("EnvCloudText");
-		//childDisable("EnvAdvancedSkyButton");
+		getChildView("EnvCloudSlider")->setEnabled(FALSE);
+		getChildView("EnvCloudText")->setEnabled(FALSE);
+		//getChildView("EnvAdvancedSkyButton")->setEnabled(FALSE);
 	}
 	else
 	{
-		childEnable("EnvCloudSlider");
-		childEnable("EnvCloudText");
-		//childEnable("EnvAdvancedSkyButton");
+		getChildView("EnvCloudSlider")->setEnabled(TRUE);
+		getChildView("EnvCloudText")->setEnabled(TRUE);
+		//getChildView("EnvAdvancedSkyButton")->setEnabled(TRUE);
 	}
 }
 
diff --git a/indra/newview/llfloaterevent.cpp b/indra/newview/llfloaterevent.cpp
index f6cffd4b14d2445828c089c24d278a62cf03da15..5fe0297b07980a7e54eb4be0530477e72afb9f8f 100644
--- a/indra/newview/llfloaterevent.cpp
+++ b/indra/newview/llfloaterevent.cpp
@@ -215,10 +215,10 @@ void LLFloaterEvent::processEventInfoReply(LLMessageSystem *msg, void **)
 		std::string desc = floater->mEventInfo.mSimName + llformat(" (%d, %d, %d)", region_x, region_y, region_z);
 		floater->mTBLocation->setText(desc);
 
-		floater->childSetVisible("rating_icon_m", FALSE);
-		floater->childSetVisible("rating_icon_r", FALSE);
-		floater->childSetVisible("rating_icon_pg", FALSE);
-		floater->childSetValue("rating_value", floater->getString("unknown"));
+		floater->getChildView("rating_icon_m")->setVisible( FALSE);
+		floater->getChildView("rating_icon_r")->setVisible( FALSE);
+		floater->getChildView("rating_icon_pg")->setVisible( FALSE);
+		floater->getChild<LLUICtrl>("rating_value")->setValue(floater->getString("unknown"));
 
 		//for some reason there's not adult flags for now, so see if region is adult and then
 		//set flags
@@ -259,25 +259,25 @@ void LLFloaterEvent::regionInfoCallback(U32 event_id, U64 region_handle)
 		// update the event with the maturity info
 		if (sim_info->isAdult())
 		{
-			floater->childSetVisible("rating_icon_m", FALSE);
-			floater->childSetVisible("rating_icon_r", TRUE);
-			floater->childSetVisible("rating_icon_pg", FALSE);
-			floater->childSetValue("rating_value", floater->getString("adult"));
+			floater->getChildView("rating_icon_m")->setVisible( FALSE);
+			floater->getChildView("rating_icon_r")->setVisible( TRUE);
+			floater->getChildView("rating_icon_pg")->setVisible( FALSE);
+			floater->getChild<LLUICtrl>("rating_value")->setValue(floater->getString("adult"));
 
 		}
 		else if (floater->mEventInfo.mEventFlags & EVENT_FLAG_MATURE)
 		{
-			floater->childSetVisible("rating_icon_m", TRUE);
-			floater->childSetVisible("rating_icon_r", FALSE);
-			floater->childSetVisible("rating_icon_pg", FALSE);
-			floater->childSetValue("rating_value", floater->getString("moderate"));
+			floater->getChildView("rating_icon_m")->setVisible( TRUE);
+			floater->getChildView("rating_icon_r")->setVisible( FALSE);
+			floater->getChildView("rating_icon_pg")->setVisible( FALSE);
+			floater->getChild<LLUICtrl>("rating_value")->setValue(floater->getString("moderate"));
 		}
 		else
 		{
-			floater->childSetVisible("rating_icon_m", FALSE);
-			floater->childSetVisible("rating_icon_r", FALSE);
-			floater->childSetVisible("rating_icon_pg", TRUE);
-			floater->childSetValue("rating_value", floater->getString("general"));
+			floater->getChildView("rating_icon_m")->setVisible( FALSE);
+			floater->getChildView("rating_icon_r")->setVisible( FALSE);
+			floater->getChildView("rating_icon_pg")->setVisible( TRUE);
+			floater->getChild<LLUICtrl>("rating_value")->setValue(floater->getString("general"));
 		}
 	}
 }
diff --git a/indra/newview/llfloatergesture.cpp b/indra/newview/llfloatergesture.cpp
index eff7131145af41c9ce5a619b84aeee3fbf1ea5b9..6cb33ea41c7da1b5be0c4d0dd2d3eda851b49199 100644
--- a/indra/newview/llfloatergesture.cpp
+++ b/indra/newview/llfloatergesture.cpp
@@ -194,8 +194,8 @@ BOOL LLFloaterGesture::postBuild()
 	getChild<LLUICtrl>("new_gesture_btn")->setCommitCallback(boost::bind(&LLFloaterGesture::onClickNew, this));
 	getChild<LLButton>("del_btn")->setClickedCallback(boost::bind(&LLFloaterGesture::onDeleteSelected, this));
 
-	childSetVisible("play_btn", true);
-	childSetVisible("stop_btn", false);
+	getChildView("play_btn")->setVisible( true);
+	getChildView("stop_btn")->setVisible( false);
 	setDefaultBtn("play_btn");
 	mGestureFolderID = gInventory.findCategoryUUIDForType(LLFolderType::FT_GESTURE, false);
 
@@ -563,13 +563,13 @@ void LLFloaterGesture::onCommitList()
 	mSelectedID = item_id;
 	if (LLGestureMgr::instance().isGesturePlaying(item_id))
 	{
-		childSetVisible("play_btn", false);
-		childSetVisible("stop_btn", true);
+		getChildView("play_btn")->setVisible( false);
+		getChildView("stop_btn")->setVisible( true);
 	}
 	else
 	{
-		childSetVisible("play_btn", true);
-		childSetVisible("stop_btn", false);
+		getChildView("play_btn")->setVisible( true);
+		getChildView("stop_btn")->setVisible( false);
 	}
 }
 
diff --git a/indra/newview/llfloatergodtools.cpp b/indra/newview/llfloatergodtools.cpp
index bd07cfdfbfe4fc48f03eb7e9fad69a1524e0fbaf..61f5098af13d7440808cad0cf601fc0172c3e7c9 100644
--- a/indra/newview/llfloatergodtools.cpp
+++ b/indra/newview/llfloatergodtools.cpp
@@ -88,7 +88,7 @@ void LLFloaterGodTools::onOpen(const LLSD& key)
 {
 	center();
 	setFocus(TRUE);
-// 	LLPanel *panel = childGetVisibleTab("GodTools Tabs");
+// 	LLPanel *panel = getChild<LLTabContainer>("GodTools Tabs")->getCurrentPanel();
 // 	if (panel)
 // 		panel->setFocus(TRUE);
 	if (mPanelObjectTools)
@@ -134,7 +134,7 @@ LLFloaterGodTools::LLFloaterGodTools(const LLSD& key)
 BOOL LLFloaterGodTools::postBuild()
 {
 	sendRegionInfoRequest();
-	childShowTab("GodTools Tabs", "region");
+	getChild<LLTabContainer>("GodTools Tabs")->selectTabByName("region");
 	return TRUE;
 }
 // static
@@ -203,9 +203,9 @@ void LLFloaterGodTools::draw()
 
 void LLFloaterGodTools::showPanel(const std::string& panel_name)
 {
-	childShowTab("GodTools Tabs", panel_name);
+	getChild<LLTabContainer>("GodTools Tabs")->selectTabByName(panel_name);
 	openFloater();
-	LLPanel *panel = childGetVisibleTab("GodTools Tabs");
+	LLPanel *panel = getChild<LLTabContainer>("GodTools Tabs")->getCurrentPanel();
 	if (panel)
 		panel->setFocus(TRUE);
 }
@@ -416,17 +416,17 @@ LLPanelRegionTools::LLPanelRegionTools()
 BOOL LLPanelRegionTools::postBuild()
 {
 	getChild<LLLineEditor>("region name")->setKeystrokeCallback(onChangeSimName, this);
-	childSetPrevalidate("region name", &LLTextValidate::validateASCIIPrintableNoPipe);
-	childSetPrevalidate("estate", &LLTextValidate::validatePositiveS32);
-	childSetPrevalidate("parentestate", &LLTextValidate::validatePositiveS32);
-	childDisable("parentestate");
-	childSetPrevalidate("gridposx", &LLTextValidate::validatePositiveS32);
-	childDisable("gridposx");
-	childSetPrevalidate("gridposy", &LLTextValidate::validatePositiveS32);
-	childDisable("gridposy");
+	getChild<LLLineEditor>("region name")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("estate")->setPrevalidate(&LLTextValidate::validatePositiveS32);
+	getChild<LLLineEditor>("parentestate")->setPrevalidate(&LLTextValidate::validatePositiveS32);
+	getChildView("parentestate")->setEnabled(FALSE);
+	getChild<LLLineEditor>("gridposx")->setPrevalidate(&LLTextValidate::validatePositiveS32);
+	getChildView("gridposx")->setEnabled(FALSE);
+	getChild<LLLineEditor>("gridposy")->setPrevalidate(&LLTextValidate::validatePositiveS32);
+	getChildView("gridposy")->setEnabled(FALSE);
 	
-	childSetPrevalidate("redirectx", &LLTextValidate::validatePositiveS32);
-	childSetPrevalidate("redirecty", &LLTextValidate::validatePositiveS32);
+	getChild<LLLineEditor>("redirectx")->setPrevalidate(&LLTextValidate::validatePositiveS32);
+	getChild<LLLineEditor>("redirecty")->setPrevalidate(&LLTextValidate::validatePositiveS32);
 			 
 	return TRUE;
 }
@@ -453,42 +453,42 @@ void LLPanelRegionTools::refresh()
 void LLPanelRegionTools::clearAllWidgets()
 {
 	// clear all widgets
-	childSetValue("region name", "unknown");
-	childSetFocus("region name", FALSE);
+	getChild<LLUICtrl>("region name")->setValue("unknown");
+	getChild<LLUICtrl>("region name")->setFocus( FALSE);
 
-	childSetValue("check prelude", FALSE);
-	childDisable("check prelude");
+	getChild<LLUICtrl>("check prelude")->setValue(FALSE);
+	getChildView("check prelude")->setEnabled(FALSE);
 
-	childSetValue("check fixed sun", FALSE);
-	childDisable("check fixed sun");
+	getChild<LLUICtrl>("check fixed sun")->setValue(FALSE);
+	getChildView("check fixed sun")->setEnabled(FALSE);
 
-	childSetValue("check reset home", FALSE);
-	childDisable("check reset home");
+	getChild<LLUICtrl>("check reset home")->setValue(FALSE);
+	getChildView("check reset home")->setEnabled(FALSE);
 
-	childSetValue("check damage", FALSE);
-	childDisable("check damage");
+	getChild<LLUICtrl>("check damage")->setValue(FALSE);
+	getChildView("check damage")->setEnabled(FALSE);
 
-	childSetValue("check visible", FALSE);
-	childDisable("check visible");
+	getChild<LLUICtrl>("check visible")->setValue(FALSE);
+	getChildView("check visible")->setEnabled(FALSE);
 
-	childSetValue("block terraform", FALSE);
-	childDisable("block terraform");
+	getChild<LLUICtrl>("block terraform")->setValue(FALSE);
+	getChildView("block terraform")->setEnabled(FALSE);
 
-	childSetValue("block dwell", FALSE);
-	childDisable("block dwell");
+	getChild<LLUICtrl>("block dwell")->setValue(FALSE);
+	getChildView("block dwell")->setEnabled(FALSE);
 
-	childSetValue("is sandbox", FALSE);
-	childDisable("is sandbox");
+	getChild<LLUICtrl>("is sandbox")->setValue(FALSE);
+	getChildView("is sandbox")->setEnabled(FALSE);
 
-	childSetValue("billable factor", BILLABLE_FACTOR_DEFAULT);
-	childDisable("billable factor");
+	getChild<LLUICtrl>("billable factor")->setValue(BILLABLE_FACTOR_DEFAULT);
+	getChildView("billable factor")->setEnabled(FALSE);
 
-	childSetValue("land cost", PRICE_PER_METER_DEFAULT);
-	childDisable("land cost");
+	getChild<LLUICtrl>("land cost")->setValue(PRICE_PER_METER_DEFAULT);
+	getChildView("land cost")->setEnabled(FALSE);
 
-	childDisable("Apply");
-	childDisable("Bake Terrain");
-	childDisable("Autosave now");
+	getChildView("Apply")->setEnabled(FALSE);
+	getChildView("Bake Terrain")->setEnabled(FALSE);
+	getChildView("Autosave now")->setEnabled(FALSE);
 }
 
 
@@ -496,21 +496,21 @@ void LLPanelRegionTools::enableAllWidgets()
 {
 	// enable all of the widgets
 	
-	childEnable("check prelude");
-	childEnable("check fixed sun");
-	childEnable("check reset home");
-	childEnable("check damage");
-	childDisable("check visible"); // use estates to update...
-	childEnable("block terraform");
-	childEnable("block dwell");
-	childEnable("is sandbox");
+	getChildView("check prelude")->setEnabled(TRUE);
+	getChildView("check fixed sun")->setEnabled(TRUE);
+	getChildView("check reset home")->setEnabled(TRUE);
+	getChildView("check damage")->setEnabled(TRUE);
+	getChildView("check visible")->setEnabled(FALSE); // use estates to update...
+	getChildView("block terraform")->setEnabled(TRUE);
+	getChildView("block dwell")->setEnabled(TRUE);
+	getChildView("is sandbox")->setEnabled(TRUE);
 	
-	childEnable("billable factor");
-	childEnable("land cost");
+	getChildView("billable factor")->setEnabled(TRUE);
+	getChildView("land cost")->setEnabled(TRUE);
 
-	childDisable("Apply");	// don't enable this one
-	childEnable("Bake Terrain");
-	childEnable("Autosave now");
+	getChildView("Apply")->setEnabled(FALSE);	// don't enable this one
+	getChildView("Bake Terrain")->setEnabled(TRUE);
+	getChildView("Autosave now")->setEnabled(TRUE);
 }
 
 void LLPanelRegionTools::onSaveState(void* userdata)
@@ -530,74 +530,74 @@ void LLPanelRegionTools::onSaveState(void* userdata)
 
 const std::string LLPanelRegionTools::getSimName() const
 {
-	return childGetValue("region name");
+	return getChild<LLUICtrl>("region name")->getValue();
 }
 
 U32 LLPanelRegionTools::getEstateID() const
 {
-	U32 id = (U32)childGetValue("estate").asInteger();
+	U32 id = (U32)getChild<LLUICtrl>("estate")->getValue().asInteger();
 	return id;
 }
 
 U32 LLPanelRegionTools::getParentEstateID() const
 {
-	U32 id = (U32)childGetValue("parentestate").asInteger();
+	U32 id = (U32)getChild<LLUICtrl>("parentestate")->getValue().asInteger();
 	return id;
 }
 
 S32 LLPanelRegionTools::getRedirectGridX() const
 {
-	return childGetValue("redirectx").asInteger();
+	return getChild<LLUICtrl>("redirectx")->getValue().asInteger();
 }
 
 S32 LLPanelRegionTools::getRedirectGridY() const
 {
-	return childGetValue("redirecty").asInteger();
+	return getChild<LLUICtrl>("redirecty")->getValue().asInteger();
 }
 
 S32 LLPanelRegionTools::getGridPosX() const
 {
-	return childGetValue("gridposx").asInteger();
+	return getChild<LLUICtrl>("gridposx")->getValue().asInteger();
 }
 
 S32 LLPanelRegionTools::getGridPosY() const
 {
-	return childGetValue("gridposy").asInteger();
+	return getChild<LLUICtrl>("gridposy")->getValue().asInteger();
 }
 
 U32 LLPanelRegionTools::getRegionFlags() const
 {
 	U32 flags = 0x0;
-	flags = childGetValue("check prelude").asBoolean()  
+	flags = getChild<LLUICtrl>("check prelude")->getValue().asBoolean()  
 					? set_prelude_flags(flags)
 					: unset_prelude_flags(flags);
 
 	// override prelude
-	if (childGetValue("check fixed sun").asBoolean())
+	if (getChild<LLUICtrl>("check fixed sun")->getValue().asBoolean())
 	{
 		flags |= REGION_FLAGS_SUN_FIXED;
 	}
-	if (childGetValue("check reset home").asBoolean())
+	if (getChild<LLUICtrl>("check reset home")->getValue().asBoolean())
 	{
 		flags |= REGION_FLAGS_RESET_HOME_ON_TELEPORT;
 	}
-	if (childGetValue("check visible").asBoolean())
+	if (getChild<LLUICtrl>("check visible")->getValue().asBoolean())
 	{
 		flags |= REGION_FLAGS_EXTERNALLY_VISIBLE;
 	}
-	if (childGetValue("check damage").asBoolean())
+	if (getChild<LLUICtrl>("check damage")->getValue().asBoolean())
 	{
 		flags |= REGION_FLAGS_ALLOW_DAMAGE;
 	}
-	if (childGetValue("block terraform").asBoolean())
+	if (getChild<LLUICtrl>("block terraform")->getValue().asBoolean())
 	{
 		flags |= REGION_FLAGS_BLOCK_TERRAFORM;
 	}
-	if (childGetValue("block dwell").asBoolean())
+	if (getChild<LLUICtrl>("block dwell")->getValue().asBoolean())
 	{
 		flags |= REGION_FLAGS_BLOCK_DWELL;
 	}
-	if (childGetValue("is sandbox").asBoolean())
+	if (getChild<LLUICtrl>("is sandbox")->getValue().asBoolean())
 	{
 		flags |= REGION_FLAGS_SANDBOX;
 	}
@@ -607,35 +607,35 @@ U32 LLPanelRegionTools::getRegionFlags() const
 U32 LLPanelRegionTools::getRegionFlagsMask() const
 {
 	U32 flags = 0xffffffff;
-	flags = childGetValue("check prelude").asBoolean()
+	flags = getChild<LLUICtrl>("check prelude")->getValue().asBoolean()
 				? set_prelude_flags(flags)
 				: unset_prelude_flags(flags);
 
-	if (!childGetValue("check fixed sun").asBoolean())
+	if (!getChild<LLUICtrl>("check fixed sun")->getValue().asBoolean())
 	{
 		flags &= ~REGION_FLAGS_SUN_FIXED;
 	}
-	if (!childGetValue("check reset home").asBoolean())
+	if (!getChild<LLUICtrl>("check reset home")->getValue().asBoolean())
 	{
 		flags &= ~REGION_FLAGS_RESET_HOME_ON_TELEPORT;
 	}
-	if (!childGetValue("check visible").asBoolean())
+	if (!getChild<LLUICtrl>("check visible")->getValue().asBoolean())
 	{
 		flags &= ~REGION_FLAGS_EXTERNALLY_VISIBLE;
 	}
-	if (!childGetValue("check damage").asBoolean())
+	if (!getChild<LLUICtrl>("check damage")->getValue().asBoolean())
 	{
 		flags &= ~REGION_FLAGS_ALLOW_DAMAGE;
 	}
-	if (!childGetValue("block terraform").asBoolean())
+	if (!getChild<LLUICtrl>("block terraform")->getValue().asBoolean())
 	{
 		flags &= ~REGION_FLAGS_BLOCK_TERRAFORM;
 	}
-	if (!childGetValue("block dwell").asBoolean())
+	if (!getChild<LLUICtrl>("block dwell")->getValue().asBoolean())
 	{
 		flags &= ~REGION_FLAGS_BLOCK_DWELL;
 	}
-	if (!childGetValue("is sandbox").asBoolean())
+	if (!getChild<LLUICtrl>("is sandbox")->getValue().asBoolean())
 	{
 		flags &= ~REGION_FLAGS_SANDBOX;
 	}
@@ -644,86 +644,86 @@ U32 LLPanelRegionTools::getRegionFlagsMask() const
 
 F32 LLPanelRegionTools::getBillableFactor() const
 {
-	return (F32)childGetValue("billable factor").asReal();
+	return (F32)getChild<LLUICtrl>("billable factor")->getValue().asReal();
 }
 
 S32 LLPanelRegionTools::getPricePerMeter() const
 {
-	return childGetValue("land cost");
+	return getChild<LLUICtrl>("land cost")->getValue();
 }
 
 void LLPanelRegionTools::setSimName(const std::string& name)
 {
-	childSetValue("region name", name);
+	getChild<LLUICtrl>("region name")->setValue(name);
 }
 
 void LLPanelRegionTools::setEstateID(U32 id)
 {
-	childSetValue("estate", (S32)id);
+	getChild<LLUICtrl>("estate")->setValue((S32)id);
 }
 
 void LLPanelRegionTools::setGridPosX(S32 pos)
 {
-	childSetValue("gridposx", pos);
+	getChild<LLUICtrl>("gridposx")->setValue(pos);
 }
 
 void LLPanelRegionTools::setGridPosY(S32 pos)
 {
-	childSetValue("gridposy", pos);
+	getChild<LLUICtrl>("gridposy")->setValue(pos);
 }
 
 void LLPanelRegionTools::setRedirectGridX(S32 pos)
 {
-	childSetValue("redirectx", pos);
+	getChild<LLUICtrl>("redirectx")->setValue(pos);
 }
 
 void LLPanelRegionTools::setRedirectGridY(S32 pos)
 {
-	childSetValue("redirecty", pos);
+	getChild<LLUICtrl>("redirecty")->setValue(pos);
 }
 
 void LLPanelRegionTools::setParentEstateID(U32 id)
 {
-	childSetValue("parentestate", (S32)id);
+	getChild<LLUICtrl>("parentestate")->setValue((S32)id);
 }
 
 void LLPanelRegionTools::setCheckFlags(U32 flags)
 {
-	childSetValue("check prelude", is_prelude(flags) ? TRUE : FALSE);
-	childSetValue("check fixed sun", flags & REGION_FLAGS_SUN_FIXED ? TRUE : FALSE);
-	childSetValue("check reset home", flags & REGION_FLAGS_RESET_HOME_ON_TELEPORT ? TRUE : FALSE);
-	childSetValue("check damage", flags & REGION_FLAGS_ALLOW_DAMAGE ? TRUE : FALSE);
-	childSetValue("check visible", flags & REGION_FLAGS_EXTERNALLY_VISIBLE ? TRUE : FALSE);
-	childSetValue("block terraform", flags & REGION_FLAGS_BLOCK_TERRAFORM ? TRUE : FALSE);
-	childSetValue("block dwell", flags & REGION_FLAGS_BLOCK_DWELL ? TRUE : FALSE);
-	childSetValue("is sandbox", flags & REGION_FLAGS_SANDBOX ? TRUE : FALSE );
+	getChild<LLUICtrl>("check prelude")->setValue(is_prelude(flags) ? TRUE : FALSE);
+	getChild<LLUICtrl>("check fixed sun")->setValue(flags & REGION_FLAGS_SUN_FIXED ? TRUE : FALSE);
+	getChild<LLUICtrl>("check reset home")->setValue(flags & REGION_FLAGS_RESET_HOME_ON_TELEPORT ? TRUE : FALSE);
+	getChild<LLUICtrl>("check damage")->setValue(flags & REGION_FLAGS_ALLOW_DAMAGE ? TRUE : FALSE);
+	getChild<LLUICtrl>("check visible")->setValue(flags & REGION_FLAGS_EXTERNALLY_VISIBLE ? TRUE : FALSE);
+	getChild<LLUICtrl>("block terraform")->setValue(flags & REGION_FLAGS_BLOCK_TERRAFORM ? TRUE : FALSE);
+	getChild<LLUICtrl>("block dwell")->setValue(flags & REGION_FLAGS_BLOCK_DWELL ? TRUE : FALSE);
+	getChild<LLUICtrl>("is sandbox")->setValue(flags & REGION_FLAGS_SANDBOX ? TRUE : FALSE );
 }
 
 void LLPanelRegionTools::setBillableFactor(F32 billable_factor)
 {
-	childSetValue("billable factor", billable_factor);
+	getChild<LLUICtrl>("billable factor")->setValue(billable_factor);
 }
 
 void LLPanelRegionTools::setPricePerMeter(S32 price)
 {
-	childSetValue("land cost", price);
+	getChild<LLUICtrl>("land cost")->setValue(price);
 }
 
 void LLPanelRegionTools::onChangeAnything()
 {
 	if (gAgent.isGodlike())
 	{
-		childEnable("Apply");
+		getChildView("Apply")->setEnabled(TRUE);
 	}
 }
 
 void LLPanelRegionTools::onChangePrelude()
 {
 	// checking prelude auto-checks fixed sun
-	if (childGetValue("check prelude").asBoolean())
+	if (getChild<LLUICtrl>("check prelude")->getValue().asBoolean())
 	{
-		childSetValue("check fixed sun", TRUE);
-		childSetValue("check reset home", TRUE);
+		getChild<LLUICtrl>("check fixed sun")->setValue(TRUE);
+		getChild<LLUICtrl>("check reset home")->setValue(TRUE);
 		onChangeAnything();
 	}
 	// pass on to default onChange handler
@@ -736,7 +736,7 @@ void LLPanelRegionTools::onChangeSimName(LLLineEditor* caller, void* userdata )
 	if (userdata && gAgent.isGodlike())
 	{
 		LLPanelRegionTools* region_tools = (LLPanelRegionTools*) userdata;
-		region_tools->childEnable("Apply");
+		region_tools->getChildView("Apply")->setEnabled(TRUE);
 	}
 }
 
@@ -761,7 +761,7 @@ void LLPanelRegionTools::onApplyChanges()
 	LLViewerRegion *region = gAgent.getRegion();
 	if (region && gAgent.isGodlike())
 	{
-		childDisable("Apply");
+		getChildView("Apply")->setEnabled(FALSE);
 		god_tools->sendGodUpdateRegionInfo();
 		//LLFloaterReg::getTypedInstance<LLFloaterGodTools>("god_tools")->sendGodUpdateRegionInfo();
 	}
@@ -931,7 +931,7 @@ void LLPanelObjectTools::setTargetAvatar(const LLUUID &target_id)
 	mTargetAvatar = target_id;
 	if (target_id.isNull())
 	{
-		childSetValue("target_avatar_name", getString("no_target"));
+		getChild<LLUICtrl>("target_avatar_name")->setValue(getString("no_target"));
 	}
 } 
 
@@ -941,14 +941,14 @@ void LLPanelObjectTools::refresh()
 	LLViewerRegion *regionp = gAgent.getRegion();
 	if (regionp)
 	{
-		childSetText("region name", regionp->getName());
+		getChild<LLUICtrl>("region name")->setValue(regionp->getName());
 	}
 }
 
 
 U32 LLPanelObjectTools::computeRegionFlags(U32 flags) const
 {
-	if (childGetValue("disable scripts").asBoolean())
+	if (getChild<LLUICtrl>("disable scripts")->getValue().asBoolean())
 	{
 		flags |= REGION_FLAGS_SKIP_SCRIPTS;
 	}
@@ -956,7 +956,7 @@ U32 LLPanelObjectTools::computeRegionFlags(U32 flags) const
 	{
 		flags &= ~REGION_FLAGS_SKIP_SCRIPTS;
 	}
-	if (childGetValue("disable collisions").asBoolean())
+	if (getChild<LLUICtrl>("disable collisions")->getValue().asBoolean())
 	{
 		flags |= REGION_FLAGS_SKIP_COLLISIONS;
 	}
@@ -964,7 +964,7 @@ U32 LLPanelObjectTools::computeRegionFlags(U32 flags) const
 	{
 		flags &= ~REGION_FLAGS_SKIP_COLLISIONS;
 	}
-	if (childGetValue("disable physics").asBoolean())
+	if (getChild<LLUICtrl>("disable physics")->getValue().asBoolean())
 	{
 		flags |= REGION_FLAGS_SKIP_PHYSICS;
 	}
@@ -978,36 +978,36 @@ U32 LLPanelObjectTools::computeRegionFlags(U32 flags) const
 
 void LLPanelObjectTools::setCheckFlags(U32 flags)
 {
-	childSetValue("disable scripts", flags & REGION_FLAGS_SKIP_SCRIPTS ? TRUE : FALSE);
-	childSetValue("disable collisions", flags & REGION_FLAGS_SKIP_COLLISIONS ? TRUE : FALSE);
-	childSetValue("disable physics", flags & REGION_FLAGS_SKIP_PHYSICS ? TRUE : FALSE);
+	getChild<LLUICtrl>("disable scripts")->setValue(flags & REGION_FLAGS_SKIP_SCRIPTS ? TRUE : FALSE);
+	getChild<LLUICtrl>("disable collisions")->setValue(flags & REGION_FLAGS_SKIP_COLLISIONS ? TRUE : FALSE);
+	getChild<LLUICtrl>("disable physics")->setValue(flags & REGION_FLAGS_SKIP_PHYSICS ? TRUE : FALSE);
 }
 
 
 void LLPanelObjectTools::clearAllWidgets()
 {
-	childSetValue("disable scripts", FALSE);
-	childDisable("disable scripts");
+	getChild<LLUICtrl>("disable scripts")->setValue(FALSE);
+	getChildView("disable scripts")->setEnabled(FALSE);
 
-	childDisable("Apply");
-	childDisable("Set Target");
-	childDisable("Delete Target's Scripted Objects On Others Land");
-	childDisable("Delete Target's Scripted Objects On *Any* Land");
-	childDisable("Delete *ALL* Of Target's Objects");
+	getChildView("Apply")->setEnabled(FALSE);
+	getChildView("Set Target")->setEnabled(FALSE);
+	getChildView("Delete Target's Scripted Objects On Others Land")->setEnabled(FALSE);
+	getChildView("Delete Target's Scripted Objects On *Any* Land")->setEnabled(FALSE);
+	getChildView("Delete *ALL* Of Target's Objects")->setEnabled(FALSE);
 }
 
 
 void LLPanelObjectTools::enableAllWidgets()
 {
-	childEnable("disable scripts");
+	getChildView("disable scripts")->setEnabled(TRUE);
 
-	childDisable("Apply");	// don't enable this one
-	childEnable("Set Target");
-	childEnable("Delete Target's Scripted Objects On Others Land");
-	childEnable("Delete Target's Scripted Objects On *Any* Land");
-	childEnable("Delete *ALL* Of Target's Objects");
-	childEnable("Get Top Colliders");
-	childEnable("Get Top Scripts");
+	getChildView("Apply")->setEnabled(FALSE);	// don't enable this one
+	getChildView("Set Target")->setEnabled(TRUE);
+	getChildView("Delete Target's Scripted Objects On Others Land")->setEnabled(TRUE);
+	getChildView("Delete Target's Scripted Objects On *Any* Land")->setEnabled(TRUE);
+	getChildView("Delete *ALL* Of Target's Objects")->setEnabled(TRUE);
+	getChildView("Get Top Colliders")->setEnabled(TRUE);
+	getChildView("Get Top Scripts")->setEnabled(TRUE);
 }
 
 
@@ -1057,7 +1057,7 @@ void LLPanelObjectTools::onClickDeletePublicOwnedBy()
 			SWD_SCRIPTED_ONLY | SWD_OTHERS_LAND_ONLY;
 
 		LLSD args;
-		args["AVATAR_NAME"] = childGetValue("target_avatar_name").asString();
+		args["AVATAR_NAME"] = getChild<LLUICtrl>("target_avatar_name")->getValue().asString();
 		LLSD payload;
 		payload["avatar_id"] = mTargetAvatar;
 		payload["flags"] = (S32)mSimWideDeletesFlags;
@@ -1077,7 +1077,7 @@ void LLPanelObjectTools::onClickDeleteAllScriptedOwnedBy()
 		mSimWideDeletesFlags = SWD_SCRIPTED_ONLY;
 
 		LLSD args;
-		args["AVATAR_NAME"] = childGetValue("target_avatar_name").asString();
+		args["AVATAR_NAME"] = getChild<LLUICtrl>("target_avatar_name")->getValue().asString();
 		LLSD payload;
 		payload["avatar_id"] = mTargetAvatar;
 		payload["flags"] = (S32)mSimWideDeletesFlags;
@@ -1097,7 +1097,7 @@ void LLPanelObjectTools::onClickDeleteAllOwnedBy()
 		mSimWideDeletesFlags = 0;
 
 		LLSD args;
-		args["AVATAR_NAME"] = childGetValue("target_avatar_name").asString();
+		args["AVATAR_NAME"] = getChild<LLUICtrl>("target_avatar_name")->getValue().asString();
 		LLSD payload;
 		payload["avatar_id"] = mTargetAvatar;
 		payload["flags"] = (S32)mSimWideDeletesFlags;
@@ -1148,14 +1148,14 @@ void LLPanelObjectTools::onClickSetBySelection(void* data)
 	args["[OBJECT]"] = node->mName;
 	args["[OWNER]"] = owner_name;
 	std::string name = LLTrans::getString("GodToolsObjectOwnedBy", args);
-	panelp->childSetValue("target_avatar_name", name);
+	panelp->getChild<LLUICtrl>("target_avatar_name")->setValue(name);
 }
 
 void LLPanelObjectTools::callbackAvatarID(const std::vector<std::string>& names, const uuid_vec_t& ids)
 {
 	if (ids.empty() || names.empty()) return;
 	mTargetAvatar = ids[0];
-	childSetValue("target_avatar_name", names[0]);
+	getChild<LLUICtrl>("target_avatar_name")->setValue(names[0]);
 	refresh();
 }
 
@@ -1163,7 +1163,7 @@ void LLPanelObjectTools::onChangeAnything()
 {
 	if (gAgent.isGodlike())
 	{
-		childEnable("Apply");
+		getChildView("Apply")->setEnabled(TRUE);
 	}
 }
 
@@ -1175,7 +1175,7 @@ void LLPanelObjectTools::onApplyChanges()
 	if (region && gAgent.isGodlike())
 	{
 		// TODO -- implement this
-		childDisable("Apply");
+		getChildView("Apply")->setEnabled(FALSE);
 		god_tools->sendGodUpdateRegionInfo();
 		//LLFloaterReg::getTypedInstance<LLFloaterGodTools>("god_tools")->sendGodUpdateRegionInfo();
 	}
@@ -1208,7 +1208,7 @@ BOOL LLPanelRequestTools::postBuild()
 
 void LLPanelRequestTools::refresh()
 {
-	std::string buffer = childGetValue("destination");
+	std::string buffer = getChild<LLUICtrl>("destination")->getValue();
 	LLCtrlListInterface *list = childGetListInterface("destination");
 	if (!list) return;
 
@@ -1263,12 +1263,12 @@ void LLPanelRequestTools::sendRequest(const std::string& request,
 
 void LLPanelRequestTools::onClickRequest()
 {
-	const std::string dest = childGetValue("destination").asString();
+	const std::string dest = getChild<LLUICtrl>("destination")->getValue().asString();
 	if(dest == SELECTION)
 	{
-		std::string req =childGetValue("request");
+		std::string req =getChild<LLUICtrl>("request")->getValue();
 		req = req.substr(0, req.find_first_of(" "));
-		std::string param = childGetValue("parameter");
+		std::string param = getChild<LLUICtrl>("parameter")->getValue();
 		LLSelectMgr::getInstance()->sendGodlikeRequest(req, param);
 	}
 	else if(dest == AGENT_REGION)
@@ -1307,7 +1307,7 @@ void LLPanelRequestTools::sendRequest(const LLHost& host)
 {
 
 	// intercept viewer local actions here
-	std::string req = childGetValue("request");
+	std::string req = getChild<LLUICtrl>("request")->getValue();
 	if (req == "terrain download")
 	{
 		gXferManager->requestFile(std::string("terrain.raw"), std::string("terrain.raw"), LL_PATH_NONE,
@@ -1319,7 +1319,7 @@ void LLPanelRequestTools::sendRequest(const LLHost& host)
 	else
 	{
 		req = req.substr(0, req.find_first_of(" "));
-		sendRequest(req, childGetValue("parameter").asString(), host);
+		sendRequest(req, getChild<LLUICtrl>("parameter")->getValue().asString(), host);
 	}
 }
 
diff --git a/indra/newview/llfloatergroups.cpp b/indra/newview/llfloatergroups.cpp
index 3952c546708c58099be351d2923f4806457f33ad..0bd8215e5cdb2115d2ba2c64b0bff3b0cd4263ca 100644
--- a/indra/newview/llfloatergroups.cpp
+++ b/indra/newview/llfloatergroups.cpp
@@ -98,7 +98,7 @@ BOOL LLFloaterGroupPicker::postBuild()
 
 	setDefaultBtn("OK");
 
-	childEnable("OK");
+	getChildView("OK")->setEnabled(TRUE);
 
 	return TRUE;
 }
@@ -179,8 +179,8 @@ void LLPanelGroups::reset()
 	{
 		group_list->operateOnAll(LLCtrlListInterface::OP_DELETE);
 	}
-	childSetTextArg("groupcount", "[COUNT]", llformat("%d",gAgent.mGroups.count()));
-	childSetTextArg("groupcount", "[MAX]", llformat("%d",MAX_AGENT_GROUPS));
+	getChild<LLUICtrl>("groupcount")->setTextArg("[COUNT]", llformat("%d",gAgent.mGroups.count()));
+	getChild<LLUICtrl>("groupcount")->setTextArg("[MAX]", llformat("%d",MAX_AGENT_GROUPS));
 
 	init_group_list(getChild<LLScrollListCtrl>("group list"), gAgent.getGroupID());
 	enableButtons();
@@ -190,8 +190,8 @@ BOOL LLPanelGroups::postBuild()
 {
 	childSetCommitCallback("group list", onGroupList, this);
 
-	childSetTextArg("groupcount", "[COUNT]", llformat("%d",gAgent.mGroups.count()));
-	childSetTextArg("groupcount", "[MAX]", llformat("%d",MAX_AGENT_GROUPS));
+	getChild<LLUICtrl>("groupcount")->setTextArg("[COUNT]", llformat("%d",gAgent.mGroups.count()));
+	getChild<LLUICtrl>("groupcount")->setTextArg("[MAX]", llformat("%d",MAX_AGENT_GROUPS));
 
 	LLScrollListCtrl *list = getChild<LLScrollListCtrl>("group list");
 	if (list)
@@ -231,25 +231,25 @@ void LLPanelGroups::enableButtons()
 
 	if(group_id != gAgent.getGroupID())
 	{
-		childEnable("Activate");
+		getChildView("Activate")->setEnabled(TRUE);
 	}
 	else
 	{
-		childDisable("Activate");
+		getChildView("Activate")->setEnabled(FALSE);
 	}
 	if (group_id.notNull())
 	{
-		childEnable("Info");
-		childEnable("IM");
-		childEnable("Leave");
+		getChildView("Info")->setEnabled(TRUE);
+		getChildView("IM")->setEnabled(TRUE);
+		getChildView("Leave")->setEnabled(TRUE);
 	}
 	else
 	{
-		childDisable("Info");
-		childDisable("IM");
-		childDisable("Leave");
+		getChildView("Info")->setEnabled(FALSE);
+		getChildView("IM")->setEnabled(FALSE);
+		getChildView("Leave")->setEnabled(FALSE);
 	}
-	childSetEnabled("Create", gAgent.canJoinGroups());
+	getChildView("Create")->setEnabled(gAgent.canJoinGroups());
 }
 
 
diff --git a/indra/newview/llfloaterhardwaresettings.cpp b/indra/newview/llfloaterhardwaresettings.cpp
index 480e4ce3a4b1e9afcb7ea325cd6600ad2f333d36..a97e00122a8c09804055ca99479441d8f9cac78d 100644
--- a/indra/newview/llfloaterhardwaresettings.cpp
+++ b/indra/newview/llfloaterhardwaresettings.cpp
@@ -87,7 +87,7 @@ void LLFloaterHardwareSettings::refresh()
 	mFogRatio = gSavedSettings.getF32("RenderFogRatio");
 	mProbeHardwareOnStartup = gSavedSettings.getBOOL("ProbeHardwareOnStartup");
 
-	childSetValue("fsaa", (LLSD::Integer) mFSAASamples);
+	getChild<LLUICtrl>("fsaa")->setValue((LLSD::Integer) mFSAASamples);
 	refreshEnabledState();
 }
 
@@ -101,13 +101,13 @@ void LLFloaterHardwareSettings::refreshEnabledState()
 	if (!LLFeatureManager::getInstance()->isFeatureAvailable("RenderVBOEnable") ||
 		!gGLManager.mHasVertexBufferObject)
 	{
-		childSetEnabled("vbo", FALSE);
+		getChildView("vbo")->setEnabled(FALSE);
 	}
 
 	// if no windlight shaders, turn off nighttime brightness, gamma, and fog distance
-	childSetEnabled("gamma", !gPipeline.canUseWindLightShaders());
-	childSetEnabled("(brightness, lower is brighter)", !gPipeline.canUseWindLightShaders());
-	childSetEnabled("fog", !gPipeline.canUseWindLightShaders());
+	getChildView("gamma")->setEnabled(!gPipeline.canUseWindLightShaders());
+	getChildView("(brightness, lower is brighter)")->setEnabled(!gPipeline.canUseWindLightShaders());
+	getChildView("fog")->setEnabled(!gPipeline.canUseWindLightShaders());
 
 }
 
@@ -130,9 +130,9 @@ void LLFloaterHardwareSettings::apply()
 {
 	// Anisotropic rendering
 	BOOL old_anisotropic = LLImageGL::sGlobalUseAnisotropic;
-	LLImageGL::sGlobalUseAnisotropic = childGetValue("ani");
+	LLImageGL::sGlobalUseAnisotropic = getChild<LLUICtrl>("ani")->getValue();
 
-	U32 fsaa = (U32) childGetValue("fsaa").asInteger();
+	U32 fsaa = (U32) getChild<LLUICtrl>("fsaa")->getValue().asInteger();
 	U32 old_fsaa = gSavedSettings.getU32("RenderFSAASamples");
 
 	BOOL logged_in = (LLStartUp::getStartupState() >= STATE_STARTED);
diff --git a/indra/newview/llfloaterhelpbrowser.cpp b/indra/newview/llfloaterhelpbrowser.cpp
index f3c6b286ab3f84d39b512b6036da7b5de292bfd8..6aa1e9243802e4ac042e6183935041dd6e0b3940 100644
--- a/indra/newview/llfloaterhelpbrowser.cpp
+++ b/indra/newview/llfloaterhelpbrowser.cpp
@@ -92,11 +92,11 @@ void LLFloaterHelpBrowser::handleMediaEvent(LLPluginClassMedia* self, EMediaEven
 		break;
 
 	case MEDIA_EVENT_NAVIGATE_BEGIN:
-		childSetText("status_text", getString("loading_text"));
+		getChild<LLUICtrl>("status_text")->setValue(getString("loading_text"));
 		break;
 		
 	case MEDIA_EVENT_NAVIGATE_COMPLETE:
-		childSetText("status_text", getString("done_text"));
+		getChild<LLUICtrl>("status_text")->setValue(getString("done_text"));
 		break;
 
 	default:
diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp
index 8a20712ea851a29dde628ceff372cd4adb465ed7..aa5cb47a78f17fe96711d0e1dadbdf369846f694 100644
--- a/indra/newview/llfloaterimagepreview.cpp
+++ b/indra/newview/llfloaterimagepreview.cpp
@@ -109,7 +109,7 @@ BOOL LLFloaterImagePreview::postBuild()
 		PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
 	mPreviewImageRect.set(0.f, 1.f, 1.f, 0.f);
 
-	childHide("bad_image_text");
+	getChildView("bad_image_text")->setVisible(FALSE);
 
 	if (mRawImagep.notNull() && gAgent.getRegion() != NULL)
 	{
@@ -120,19 +120,19 @@ BOOL LLFloaterImagePreview::postBuild()
 		mSculptedPreview->setPreviewTarget(mRawImagep, 2.0f);
 
 		if (mRawImagep->getWidth() * mRawImagep->getHeight () <= LL_IMAGE_REZ_LOSSLESS_CUTOFF * LL_IMAGE_REZ_LOSSLESS_CUTOFF)
-			childEnable("lossless_check");
+			getChildView("lossless_check")->setEnabled(TRUE);
 	}
 	else
 	{
 		mAvatarPreview = NULL;
 		mSculptedPreview = NULL;
-		childShow("bad_image_text");
-		childDisable("clothing_type_combo");
-		childDisable("ok_btn");
+		getChildView("bad_image_text")->setVisible(TRUE);
+		getChildView("clothing_type_combo")->setEnabled(FALSE);
+		getChildView("ok_btn")->setEnabled(FALSE);
 
 		if(!mImageLoadError.empty())
 		{
-			childSetValue("bad_image_text",mImageLoadError.c_str());
+			getChild<LLUICtrl>("bad_image_text")->setValue(mImageLoadError.c_str());
 		}
 	}
 	
diff --git a/indra/newview/llfloaterinspect.cpp b/indra/newview/llfloaterinspect.cpp
index 13ca7638c52bb10f80d55d8e71745184759868eb..4d4681a68dc0cf2b33e9160a7afb8154bdc862c6 100644
--- a/indra/newview/llfloaterinspect.cpp
+++ b/indra/newview/llfloaterinspect.cpp
@@ -154,8 +154,8 @@ void LLFloaterInspect::onSelectObject()
 {
 	if(LLFloaterInspect::getSelectedUUID() != LLUUID::null)
 	{
-		childSetEnabled("button owner", true);
-		childSetEnabled("button creator", true);
+		getChildView("button owner")->setEnabled(true);
+		getChildView("button creator")->setEnabled(true);
 	}
 }
 
@@ -178,8 +178,8 @@ void LLFloaterInspect::refresh()
 	LLUUID creator_id;
 	std::string creator_name;
 	S32 pos = mObjectList->getScrollPos();
-	childSetEnabled("button owner", false);
-	childSetEnabled("button creator", false);
+	getChildView("button owner")->setEnabled(false);
+	getChildView("button creator")->setEnabled(false);
 	LLUUID selected_uuid;
 	S32 selected_index = mObjectList->getFirstSelectedIndex();
 	if(selected_index > -1)
diff --git a/indra/newview/llfloaterjoystick.cpp b/indra/newview/llfloaterjoystick.cpp
index 78bc63ac8c47fe827dc3fe2668cb42f16fdfa5b4..9c7957603edca128a31c339d59ae75ca91520d99 100644
--- a/indra/newview/llfloaterjoystick.cpp
+++ b/indra/newview/llfloaterjoystick.cpp
@@ -58,11 +58,11 @@ LLFloaterJoystick::LLFloaterJoystick(const LLSD& data)
 void LLFloaterJoystick::draw()
 {
 	bool joystick_inited = LLViewerJoystick::getInstance()->isJoystickInitialized();
-	childSetEnabled("enable_joystick", joystick_inited);
-	childSetEnabled("joystick_type", joystick_inited);
+	getChildView("enable_joystick")->setEnabled(joystick_inited);
+	getChildView("joystick_type")->setEnabled(joystick_inited);
 	std::string desc = LLViewerJoystick::getInstance()->getDescription();
 	if (desc.empty()) desc = getString("NoDevice");
-	childSetText("joystick_type", desc);
+	getChild<LLUICtrl>("joystick_type")->setValue(desc);
 
 	LLViewerJoystick* joystick(LLViewerJoystick::getInstance());
 	for (U32 i = 0; i < 6; i++)
diff --git a/indra/newview/llfloaterlagmeter.cpp b/indra/newview/llfloaterlagmeter.cpp
index 100cbdb217f98965a8cea4afe43f2880b7392e13..9a2c34b40fa8cb17814e2dc2af4f1af3779f6163 100644
--- a/indra/newview/llfloaterlagmeter.cpp
+++ b/indra/newview/llfloaterlagmeter.cpp
@@ -329,9 +329,9 @@ void LLFloaterLagMeter::updateControls(bool shrink)
 		setRect(r);
 		reshape(mMaxWidth, getRect().getHeight());
 		
-		childSetText("client", getString("client_text_msg", mStringArgs) + ":");
-		childSetText("network", getString("network_text_msg",mStringArgs) + ":");
-		childSetText("server", getString("server_text_msg", mStringArgs) + ":");
+		getChild<LLUICtrl>("client")->setValue(getString("client_text_msg", mStringArgs) + ":");
+		getChild<LLUICtrl>("network")->setValue(getString("network_text_msg",mStringArgs) + ":");
+		getChild<LLUICtrl>("server")->setValue(getString("server_text_msg", mStringArgs) + ":");
 
 		// usually "<<"
 		button->setLabel( getString("smaller_label", mStringArgs) );
@@ -344,9 +344,9 @@ void LLFloaterLagMeter::updateControls(bool shrink)
 		setRect(r);
 		reshape(mMinWidth, getRect().getHeight());
 		
-		childSetText("client", getString("client_text_msg", mStringArgs) );
-		childSetText("network",getString("network_text_msg",mStringArgs) );
-		childSetText("server", getString("server_text_msg", mStringArgs) );
+		getChild<LLUICtrl>("client")->setValue(getString("client_text_msg", mStringArgs) );
+		getChild<LLUICtrl>("network")->setValue(getString("network_text_msg",mStringArgs) );
+		getChild<LLUICtrl>("server")->setValue(getString("server_text_msg", mStringArgs) );
 
 		// usually ">>"
 		button->setLabel( getString("bigger_label", mStringArgs) );
@@ -356,15 +356,15 @@ void LLFloaterLagMeter::updateControls(bool shrink)
 
 //	self->mClientText->setVisible(self->mShrunk);
 //	self->mClientCause->setVisible(self->mShrunk);
-//	self->childSetVisible("client_help", self->mShrunk);
+//	self->getChildView("client_help")->setVisible( self->mShrunk);
 
 //	self->mNetworkText->setVisible(self->mShrunk);
 //	self->mNetworkCause->setVisible(self->mShrunk);
-//	self->childSetVisible("network_help", self->mShrunk);
+//	self->getChildView("network_help")->setVisible( self->mShrunk);
 
 //	self->mServerText->setVisible(self->mShrunk);
 //	self->mServerCause->setVisible(self->mShrunk);
-//	self->childSetVisible("server_help", self->mShrunk);
+//	self->getChildView("server_help")->setVisible( self->mShrunk);
 
 //	self->mShrunk = !self->mShrunk;
 }
diff --git a/indra/newview/llfloaterlandholdings.cpp b/indra/newview/llfloaterlandholdings.cpp
index 19552ca9c93e5692f3494c69bcaa071f5468c7c2..3c8ee6eb9e584e1f133d616f3c3965a3cce62ba6 100644
--- a/indra/newview/llfloaterlandholdings.cpp
+++ b/indra/newview/llfloaterlandholdings.cpp
@@ -145,8 +145,8 @@ void LLFloaterLandHoldings::refresh()
 		enable_btns = TRUE;
 	}
 
-	childSetEnabled("Teleport", enable_btns);
-	childSetEnabled("Show on Map", enable_btns);
+	getChildView("Teleport")->setEnabled(enable_btns);
+	getChildView("Show on Map")->setEnabled(enable_btns);
 
 	refreshAggregates();
 }
@@ -334,7 +334,7 @@ void LLFloaterLandHoldings::refreshAggregates()
 	S32 current_area = gStatusBar->getSquareMetersCommitted();
 	S32 available_area = gStatusBar->getSquareMetersLeft();
 
-	childSetTextArg("allowed_text", "[AREA]", llformat("%d",allowed_area));
-	childSetTextArg("current_text", "[AREA]", llformat("%d",current_area));
-	childSetTextArg("available_text", "[AREA]", llformat("%d",available_area));
+	getChild<LLUICtrl>("allowed_text")->setTextArg("[AREA]", llformat("%d",allowed_area));
+	getChild<LLUICtrl>("current_text")->setTextArg("[AREA]", llformat("%d",current_area));
+	getChild<LLUICtrl>("available_text")->setTextArg("[AREA]", llformat("%d",available_area));
 }
diff --git a/indra/newview/llfloatermediabrowser.cpp b/indra/newview/llfloatermediabrowser.cpp
index 5673550fbe403338895f36469c27029a8aab005d..5405de2f9ab9cd4d53eecfb11ddcdd3821fc022d 100644
--- a/indra/newview/llfloatermediabrowser.cpp
+++ b/indra/newview/llfloatermediabrowser.cpp
@@ -65,12 +65,12 @@ LLFloaterMediaBrowser::LLFloaterMediaBrowser(const LLSD& key)
 
 void LLFloaterMediaBrowser::draw()
 {
-	childSetEnabled("go", !mAddressCombo->getValue().asString().empty());
+	getChildView("go")->setEnabled(!mAddressCombo->getValue().asString().empty());
 	LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
 	if(parcel)
 	{
-		childSetVisible("parcel_owner_controls", LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_CHANGE_MEDIA));
-		childSetEnabled("assign", !mAddressCombo->getValue().asString().empty());
+		getChildView("parcel_owner_controls")->setVisible( LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_CHANGE_MEDIA));
+		getChildView("assign")->setEnabled(!mAddressCombo->getValue().asString().empty());
 	}
 	bool show_time_controls = false;
 	bool media_playing = false;
@@ -83,17 +83,17 @@ void LLFloaterMediaBrowser::draw()
 			media_playing = media_plugin->getStatus() == LLPluginClassMediaOwner::MEDIA_PLAYING;
 		}
 	}
-	childSetVisible("rewind", show_time_controls);
-	childSetVisible("play", show_time_controls && ! media_playing);
-	childSetVisible("pause", show_time_controls && media_playing);
-	childSetVisible("stop", show_time_controls);
-	childSetVisible("seek", show_time_controls);
+	getChildView("rewind")->setVisible( show_time_controls);
+	getChildView("play")->setVisible( show_time_controls && ! media_playing);
+	getChildView("pause")->setVisible( show_time_controls && media_playing);
+	getChildView("stop")->setVisible( show_time_controls);
+	getChildView("seek")->setVisible( show_time_controls);
 
-	childSetEnabled("play", ! media_playing);
-	childSetEnabled("stop", media_playing);
+	getChildView("play")->setEnabled(! media_playing);
+	getChildView("stop")->setEnabled(media_playing);
 
-	childSetEnabled("back", mBrowser->canNavigateBack());
-	childSetEnabled("forward", mBrowser->canNavigateForward());
+	getChildView("back")->setEnabled(mBrowser->canNavigateBack());
+	getChildView("forward")->setEnabled(mBrowser->canNavigateForward());
 
 	LLFloater::draw();
 }
@@ -173,8 +173,8 @@ void LLFloaterMediaBrowser::handleMediaEvent(LLPluginClassMedia* self, EMediaEve
 	else if(event == MEDIA_EVENT_NAVIGATE_COMPLETE)
 	{
 		// This is the event these flags are sent with.
-		childSetEnabled("back", self->getHistoryBackAvailable());
-		childSetEnabled("forward", self->getHistoryForwardAvailable());
+		getChildView("back")->setEnabled(self->getHistoryBackAvailable());
+		getChildView("forward")->setEnabled(self->getHistoryForwardAvailable());
 	}
 }
 void LLFloaterMediaBrowser::setCurrentURL(const std::string& url)
@@ -192,9 +192,9 @@ void LLFloaterMediaBrowser::setCurrentURL(const std::string& url)
 		LLURLHistory::removeURL("browser", mCurrentURL);
 		LLURLHistory::addURL("browser", mCurrentURL);
 	}
-	childSetEnabled("back", mBrowser->canNavigateBack());
-	childSetEnabled("forward", mBrowser->canNavigateForward());
-	childSetEnabled("reload", TRUE);
+	getChildView("back")->setEnabled(mBrowser->canNavigateBack());
+	getChildView("forward")->setEnabled(mBrowser->canNavigateForward());
+	getChildView("reload")->setEnabled(TRUE);
 }
 
 void LLFloaterMediaBrowser::onOpen(const LLSD& media_url)
diff --git a/indra/newview/llfloatermemleak.cpp b/indra/newview/llfloatermemleak.cpp
index 529bd68e03725b7c6b5919cdfdbd45debca70587..51843c683369bd17ef76da16572426614dbe191d 100644
--- a/indra/newview/llfloatermemleak.cpp
+++ b/indra/newview/llfloatermemleak.cpp
@@ -64,7 +64,7 @@ LLFloaterMemLeak::LLFloaterMemLeak(const LLSD& key)
 BOOL LLFloaterMemLeak::postBuild(void) 
 {	
 	F32 a, b ;
-	a = childGetValue("leak_speed").asReal();
+	a = getChild<LLUICtrl>("leak_speed")->getValue().asReal();
 	if(a > (F32)(0xFFFFFFFF))
 	{
 		sMemLeakingSpeed = 0xFFFFFFFF ;
@@ -73,7 +73,7 @@ BOOL LLFloaterMemLeak::postBuild(void)
 	{
 		sMemLeakingSpeed = (U32)a ;
 	}
-	b = childGetValue("max_leak").asReal();
+	b = getChild<LLUICtrl>("max_leak")->getValue().asReal();
 	if(b > (F32)0xFFF)
 	{
 		sMaxLeakedMem = 0xFFFFFFFF ;
@@ -150,7 +150,7 @@ void LLFloaterMemLeak::idle()
 void LLFloaterMemLeak::onChangeLeakingSpeed()
 {
 	F32 tmp ;
-	tmp =childGetValue("leak_speed").asReal();
+	tmp =getChild<LLUICtrl>("leak_speed")->getValue().asReal();
 
 	if(tmp > (F32)0xFFFFFFFF)
 	{
@@ -167,7 +167,7 @@ void LLFloaterMemLeak::onChangeMaxMemLeaking()
 {
 
 	F32 tmp ;
-	tmp =childGetValue("max_leak").asReal();
+	tmp =getChild<LLUICtrl>("max_leak")->getValue().asReal();
 	if(tmp > (F32)0xFFF)
 	{
 		sMaxLeakedMem = 0xFFFFFFFF ;
@@ -206,22 +206,22 @@ void LLFloaterMemLeak::draw()
 	{
 		std::string bytes_string;
 		LLResMgr::getInstance()->getIntegerString(bytes_string, sTotalLeaked >> 10 );
-		childSetTextArg("total_leaked_label", "[SIZE]", bytes_string);
+		getChild<LLUICtrl>("total_leaked_label")->setTextArg("[SIZE]", bytes_string);
 	}
 	else
 	{
-		childSetTextArg("total_leaked_label", "[SIZE]", LLStringExplicit("0"));
+		getChild<LLUICtrl>("total_leaked_label")->setTextArg("[SIZE]", LLStringExplicit("0"));
 	}
 
 	if(sbAllocationFailed)
 	{
-		childSetTextArg("note_label_1", "[NOTE1]", LLStringExplicit("Memory leaking simulation stops. Reduce leaking speed or"));
-		childSetTextArg("note_label_2", "[NOTE2]", LLStringExplicit("increase max leaked memory, then press Start to continue."));
+		getChild<LLUICtrl>("note_label_1")->setTextArg("[NOTE1]", LLStringExplicit("Memory leaking simulation stops. Reduce leaking speed or"));
+		getChild<LLUICtrl>("note_label_2")->setTextArg("[NOTE2]", LLStringExplicit("increase max leaked memory, then press Start to continue."));
 	}
 	else
 	{
-		childSetTextArg("note_label_1", "[NOTE1]", LLStringExplicit(""));
-		childSetTextArg("note_label_2", "[NOTE2]", LLStringExplicit(""));
+		getChild<LLUICtrl>("note_label_1")->setTextArg("[NOTE1]", LLStringExplicit(""));
+		getChild<LLUICtrl>("note_label_2")->setTextArg("[NOTE2]", LLStringExplicit(""));
 	}
 
 	LLFloater::draw();
diff --git a/indra/newview/llfloaternamedesc.cpp b/indra/newview/llfloaternamedesc.cpp
index 159ce41b790053ab015009dad22cca20c3fbc623..dc9b883fb2e9648da1754425d9f256b433693602 100644
--- a/indra/newview/llfloaternamedesc.cpp
+++ b/indra/newview/llfloaternamedesc.cpp
@@ -105,7 +105,7 @@ BOOL LLFloaterNameDesc::postBuild()
 	r.setLeftTopAndSize( PREVIEW_HPAD, y, line_width, PREVIEW_LINE_HEIGHT );    
 
 	getChild<LLUICtrl>("name_form")->setCommitCallback(boost::bind(&LLFloaterNameDesc::doCommit, this));
-	childSetValue("name_form", LLSD(asset_name));
+	getChild<LLUICtrl>("name_form")->setValue(LLSD(asset_name));
 
 	LLLineEditor *NameEditor = getChild<LLLineEditor>("name_form");
 	if (NameEditor)
@@ -131,7 +131,7 @@ BOOL LLFloaterNameDesc::postBuild()
 	// Cancel button
 	getChild<LLUICtrl>("cancel_btn")->setCommitCallback(boost::bind(&LLFloaterNameDesc::onBtnCancel, this));
 
-	childSetLabelArg("ok_btn", "[AMOUNT]", llformat("%d", LLGlobalEconomy::Singleton::getInstance()->getPriceUpload() ));
+	getChild<LLUICtrl>("ok_btn")->setLabelArg("[AMOUNT]", llformat("%d", LLGlobalEconomy::Singleton::getInstance()->getPriceUpload() ));
 	
 	setDefaultBtn("ok_btn");
 	
@@ -167,15 +167,15 @@ void LLFloaterNameDesc::doCommit()
 //-----------------------------------------------------------------------------
 void LLFloaterNameDesc::onBtnOK( )
 {
-	childDisable("ok_btn"); // don't allow inadvertent extra uploads
+	getChildView("ok_btn")->setEnabled(FALSE); // don't allow inadvertent extra uploads
 	
 	LLAssetStorage::LLStoreAssetCallback callback = NULL;
 	S32 expected_upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload(); // kinda hack - assumes that unsubclassed LLFloaterNameDesc is only used for uploading chargeable assets, which it is right now (it's only used unsubclassed for the sound upload dialog, and THAT should be a subclass).
 	void *nruserdata = NULL;
 	std::string display_name = LLStringUtil::null;
 	upload_new_resource(mFilenameAndPath, // file
-			    childGetValue("name_form").asString(), 
-			    childGetValue("description_form").asString(), 
+			    getChild<LLUICtrl>("name_form")->getValue().asString(), 
+			    getChild<LLUICtrl>("description_form")->getValue().asString(), 
 			    0, LLFolderType::FT_NONE, LLInventoryType::IT_NONE,
 			    LLFloaterPerms::getNextOwnerPerms(), LLFloaterPerms::getGroupPerms(), LLFloaterPerms::getEveryonePerms(),
 			    display_name, callback, expected_upload_cost, nruserdata);
diff --git a/indra/newview/llfloateropenobject.cpp b/indra/newview/llfloateropenobject.cpp
index d39ed774914f4a1323219fe0aae662f6da8d3c78..a2a3d300e74212b7a6ec73b468ab206fdc9d382f 100644
--- a/indra/newview/llfloateropenobject.cpp
+++ b/indra/newview/llfloateropenobject.cpp
@@ -75,7 +75,7 @@ LLFloaterOpenObject::~LLFloaterOpenObject()
 // virtual
 BOOL LLFloaterOpenObject::postBuild()
 {
-	childSetTextArg("object_name", "[DESC]", std::string("Object") ); // *Note: probably do not want to translate this
+	getChild<LLUICtrl>("object_name")->setTextArg("[DESC]", std::string("Object") ); // *Note: probably do not want to translate this
 	mPanelInventoryObject = getChild<LLPanelObjectInventory>("object_contents");
 	
 	refresh();
@@ -119,9 +119,9 @@ void LLFloaterOpenObject::refresh()
 		enabled = FALSE;
 	}
 	
-	childSetTextArg("object_name", "[DESC]", name);
-	childSetEnabled("copy_to_inventory_button", enabled);
-	childSetEnabled("copy_and_wear_button", enabled);
+	getChild<LLUICtrl>("object_name")->setTextArg("[DESC]", name);
+	getChildView("copy_to_inventory_button")->setEnabled(enabled);
+	getChildView("copy_and_wear_button")->setEnabled(enabled);
 
 }
 
diff --git a/indra/newview/llfloaterpay.cpp b/indra/newview/llfloaterpay.cpp
index ba7526ccd51bf8d56e5b443ea312bcf6f58d8e74..c1640e2609820d65bd0be890874b174edd46ac1c 100644
--- a/indra/newview/llfloaterpay.cpp
+++ b/indra/newview/llfloaterpay.cpp
@@ -158,7 +158,7 @@ BOOL LLFloaterPay::postBuild()
 	mCallbackData.push_back(info);
 
 	childSetAction("fastpay 1",&LLFloaterPay::onGive,info);
-	childSetVisible("fastpay 1", FALSE);
+	getChildView("fastpay 1")->setVisible( FALSE);
 
 	mQuickPayButton[i] = getChild<LLButton>("fastpay 1");
 	mQuickPayInfo[i] = info;
@@ -168,7 +168,7 @@ BOOL LLFloaterPay::postBuild()
 	mCallbackData.push_back(info);
 
 	childSetAction("fastpay 5",&LLFloaterPay::onGive,info);
-	childSetVisible("fastpay 5", FALSE);
+	getChildView("fastpay 5")->setVisible( FALSE);
 
 	mQuickPayButton[i] = getChild<LLButton>("fastpay 5");
 	mQuickPayInfo[i] = info;
@@ -178,7 +178,7 @@ BOOL LLFloaterPay::postBuild()
 	mCallbackData.push_back(info);
 
 	childSetAction("fastpay 10",&LLFloaterPay::onGive,info);
-	childSetVisible("fastpay 10", FALSE);
+	getChildView("fastpay 10")->setVisible( FALSE);
 
 	mQuickPayButton[i] = getChild<LLButton>("fastpay 10");
 	mQuickPayInfo[i] = info;
@@ -188,14 +188,14 @@ BOOL LLFloaterPay::postBuild()
 	mCallbackData.push_back(info);
 
 	childSetAction("fastpay 20",&LLFloaterPay::onGive,info);
-	childSetVisible("fastpay 20", FALSE);
+	getChildView("fastpay 20")->setVisible( FALSE);
 
 	mQuickPayButton[i] = getChild<LLButton>("fastpay 20");
 	mQuickPayInfo[i] = info;
 	++i;
 
 
-	childSetVisible("amount text", FALSE);	
+	getChildView("amount text")->setVisible( FALSE);	
 
 	std::string last_amount;
 	if(sLastAmount > 0)
@@ -203,19 +203,19 @@ BOOL LLFloaterPay::postBuild()
 		last_amount = llformat("%d", sLastAmount);
 	}
 
-	childSetVisible("amount", FALSE);
+	getChildView("amount")->setVisible( FALSE);
 
 	getChild<LLLineEditor>("amount")->setKeystrokeCallback(&LLFloaterPay::onKeystroke, this);
-	childSetText("amount", last_amount);
-	childSetPrevalidate("amount", LLTextValidate::validateNonNegativeS32);
+	getChild<LLUICtrl>("amount")->setValue(last_amount);
+	getChild<LLLineEditor>("amount")->setPrevalidate(LLTextValidate::validateNonNegativeS32);
 
 	info = new LLGiveMoneyInfo(this, 0);
 	mCallbackData.push_back(info);
 
 	childSetAction("pay btn",&LLFloaterPay::onGive,info);
 	setDefaultBtn("pay btn");
-	childSetVisible("pay btn", FALSE);
-	childSetEnabled("pay btn", (sLastAmount > 0));
+	getChildView("pay btn")->setVisible( FALSE);
+	getChildView("pay btn")->setEnabled((sLastAmount > 0));
 
 	childSetAction("cancel btn",&LLFloaterPay::onCancel,this);
 
@@ -249,27 +249,27 @@ void LLFloaterPay::processPayPriceReply(LLMessageSystem* msg, void **userdata)
 		
 		if (PAY_PRICE_HIDE == price)
 		{
-			self->childSetVisible("amount", FALSE);
-			self->childSetVisible("pay btn", FALSE);
-			self->childSetVisible("amount text", FALSE);
+			self->getChildView("amount")->setVisible( FALSE);
+			self->getChildView("pay btn")->setVisible( FALSE);
+			self->getChildView("amount text")->setVisible( FALSE);
 		}
 		else if (PAY_PRICE_DEFAULT == price)
 		{			
-			self->childSetVisible("amount", TRUE);
-			self->childSetVisible("pay btn", TRUE);
-			self->childSetVisible("amount text", TRUE);
+			self->getChildView("amount")->setVisible( TRUE);
+			self->getChildView("pay btn")->setVisible( TRUE);
+			self->getChildView("amount text")->setVisible( TRUE);
 		}
 		else
 		{
 			// PAY_PRICE_HIDE and PAY_PRICE_DEFAULT are negative values
 			// So we take the absolute value here after we have checked for those cases
 			
-			self->childSetVisible("amount", TRUE);
-			self->childSetVisible("pay btn", TRUE);
-			self->childSetEnabled("pay btn", TRUE);
-			self->childSetVisible("amount text", TRUE);
+			self->getChildView("amount")->setVisible( TRUE);
+			self->getChildView("pay btn")->setVisible( TRUE);
+			self->getChildView("pay btn")->setEnabled(TRUE);
+			self->getChildView("amount text")->setVisible( TRUE);
 
-			self->childSetText("amount", llformat("%d", llabs(price)));
+			self->getChild<LLUICtrl>("amount")->setValue(llformat("%d", llabs(price)));
 		}
 
 		S32 num_blocks = msg->getNumberOfBlocksFast(_PREHASH_ButtonData);
@@ -292,7 +292,7 @@ void LLFloaterPay::processPayPriceReply(LLMessageSystem* msg, void **userdata)
 				self->mQuickPayButton[i]->setLabelUnselected(button_str);
 				self->mQuickPayButton[i]->setVisible(TRUE);
 				self->mQuickPayInfo[i]->mAmount = pay_button;
-				self->childSetVisible("fastpay text",TRUE);
+				self->getChildView("fastpay text")->setVisible(TRUE);
 
 				if ( pay_button > max_pay_amount )
 				{
@@ -399,7 +399,7 @@ void LLFloaterPay::payViaObject(money_callback callback, LLSafeHandle<LLObjectSe
 	BOOL is_group = FALSE;
 	node->mPermissions->getOwnership(owner_id, is_group);
 	
-	floater->childSetText("object_name_text",node->mName);
+	floater->getChild<LLUICtrl>("object_name_text")->setValue(node->mName);
 
 	floater->finishPayUI(owner_id, is_group);
 }
@@ -415,11 +415,11 @@ void LLFloaterPay::payDirectly(money_callback callback,
 	floater->setCallback(callback);
 	floater->mObjectSelection = NULL;
 	
-	floater->childSetVisible("amount", TRUE);
-	floater->childSetVisible("pay btn", TRUE);
-	floater->childSetVisible("amount text", TRUE);
+	floater->getChildView("amount")->setVisible( TRUE);
+	floater->getChildView("pay btn")->setVisible( TRUE);
+	floater->getChildView("amount text")->setVisible( TRUE);
 
-	floater->childSetVisible("fastpay text",TRUE);
+	floater->getChildView("fastpay text")->setVisible(TRUE);
 	for(S32 i=0;i<MAX_PAY_BUTTONS;++i)
 	{
 		floater->mQuickPayButton[i]->setVisible(TRUE);
@@ -434,7 +434,7 @@ void LLFloaterPay::finishPayUI(const LLUUID& target_id, BOOL is_group)
 
 	// Make sure the amount field has focus
 
-	childSetFocus("amount", TRUE);
+	getChild<LLUICtrl>("amount")->setFocus( TRUE);
 	
 	LLLineEditor* amount = getChild<LLLineEditor>("amount");
 	amount->selectAll();
@@ -455,8 +455,8 @@ void LLFloaterPay::onCacheOwnerName(const LLUUID& owner_id,
 		setTitle(getString("payee_resident"));
 	}
 	
-	childSetTextArg("payee_name", "[FIRST]", firstname);
-	childSetTextArg("payee_name", "[LAST]", lastname);
+	getChild<LLUICtrl>("payee_name")->setTextArg("[FIRST]", firstname);
+	getChild<LLUICtrl>("payee_name")->setTextArg("[LAST]", lastname);
 }
 
 // static
@@ -476,8 +476,8 @@ void LLFloaterPay::onKeystroke(LLLineEditor*, void* data)
 	if(self)
 	{
 		// enable the Pay button when amount is non-empty and positive, disable otherwise
-		std::string amtstr = self->childGetText("amount");
-		self->childSetEnabled("pay btn", !amtstr.empty() && atoi(amtstr.c_str()) > 0);
+		std::string amtstr = self->getChild<LLUICtrl>("amount")->getValue().asString();
+		self->getChildView("pay btn")->setEnabled(!amtstr.empty() && atoi(amtstr.c_str()) > 0);
 	}
 }
 
@@ -500,7 +500,7 @@ void LLFloaterPay::give(S32 amount)
 		// text field.
 		if(amount == 0)
 		{
-			amount = atoi(childGetText("amount").c_str());
+			amount = atoi(getChild<LLUICtrl>("amount")->getValue().asString().c_str());
 		}
 		sLastAmount = amount;
 
diff --git a/indra/newview/llfloaterpostcard.cpp b/indra/newview/llfloaterpostcard.cpp
index 8da44e203509428171ea76b7bfe7ab31257e6f7a..dc4553ef96f0d0e5a3622a577e3a071d33c8b408 100644
--- a/indra/newview/llfloaterpostcard.cpp
+++ b/indra/newview/llfloaterpostcard.cpp
@@ -99,16 +99,16 @@ BOOL LLFloaterPostcard::postBuild()
 	childSetAction("cancel_btn", onClickCancel, this);
 	childSetAction("send_btn", onClickSend, this);
 
-	childDisable("from_form");
+	getChildView("from_form")->setEnabled(FALSE);
 
 	std::string name_string;
 	LLAgentUI::buildFullname(name_string);
-	childSetValue("name_form", LLSD(name_string));
+	getChild<LLUICtrl>("name_form")->setValue(LLSD(name_string));
 
 	// For the first time a user focusess to .the msg box, all text will be selected.
 	getChild<LLUICtrl>("msg_form")->setFocusChangedCallback(boost::bind(onMsgFormFocusRecieved, _1, this));
 	
-	childSetFocus("to_form", TRUE);
+	getChild<LLUICtrl>("to_form")->setFocus(TRUE);
 
     return TRUE;
 }
@@ -215,8 +215,8 @@ void LLFloaterPostcard::onClickSend(void* data)
 	{
 		LLFloaterPostcard *self = (LLFloaterPostcard *)data;
 
-		std::string from(self->childGetValue("from_form").asString());
-		std::string to(self->childGetValue("to_form").asString());
+		std::string from(self->getChild<LLUICtrl>("from_form")->getValue().asString());
+		std::string to(self->getChild<LLUICtrl>("to_form")->getValue().asString());
 		
 		boost::regex emailFormat("[A-Za-z0-9.%+-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}(,[ \t]*[A-Za-z0-9.%+-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,})*");
 		
@@ -232,7 +232,7 @@ void LLFloaterPostcard::onClickSend(void* data)
 			return;
 		}
 
-		std::string subject(self->childGetValue("subject_form").asString());
+		std::string subject(self->getChild<LLUICtrl>("subject_form")->getValue().asString());
 		if(subject.empty() || !self->mHasFirstMsgFocus)
 		{
 			LLNotificationsUtil::add("PromptMissingSubjMsg", LLSD(), LLSD(), boost::bind(&LLFloaterPostcard::missingSubjMsgAlertCallback, self, _1, _2));
@@ -275,11 +275,11 @@ void LLFloaterPostcard::uploadCallback(const LLUUID& asset_id, void *user_data,
 		msg->addUUID("SessionID", gAgent.getSessionID());
 		msg->addUUID("AssetID", self->mAssetID);
 		msg->addVector3d("PosGlobal", self->mPosTakenGlobal);
-		msg->addString("To", self->childGetValue("to_form").asString());
-		msg->addString("From", self->childGetValue("from_form").asString());
-		msg->addString("Name", self->childGetValue("name_form").asString());
-		msg->addString("Subject", self->childGetValue("subject_form").asString());
-		msg->addString("Msg", self->childGetValue("msg_form").asString());
+		msg->addString("To", self->getChild<LLUICtrl>("to_form")->getValue().asString());
+		msg->addString("From", self->getChild<LLUICtrl>("from_form")->getValue().asString());
+		msg->addString("Name", self->getChild<LLUICtrl>("name_form")->getValue().asString());
+		msg->addString("Subject", self->getChild<LLUICtrl>("subject_form")->getValue().asString());
+		msg->addString("Msg", self->getChild<LLUICtrl>("msg_form")->getValue().asString());
 		msg->addBOOL("AllowPublish", FALSE);
 		msg->addBOOL("MaturePublish", FALSE);
 		gAgent.sendReliableMessage();
@@ -296,11 +296,11 @@ void LLFloaterPostcard::updateUserInfo(const std::string& email)
 		 iter != inst_list.end(); ++iter)
 	{
 		LLFloater* instance = *iter;
-		const std::string& text = instance->childGetValue("from_form").asString();
+		const std::string& text = instance->getChild<LLUICtrl>("from_form")->getValue().asString();
 		if (text.empty())
 		{
 			// there's no text in this field yet, pre-populate
-			instance->childSetValue("from_form", LLSD(email));
+			instance->getChild<LLUICtrl>("from_form")->setValue(LLSD(email));
 		}
 	}
 }
@@ -325,17 +325,17 @@ bool LLFloaterPostcard::missingSubjMsgAlertCallback(const LLSD& notification, co
 	if(0 == option)
 	{
 		// User clicked OK
-		if((childGetValue("subject_form").asString()).empty())
+		if((getChild<LLUICtrl>("subject_form")->getValue().asString()).empty())
 		{
 			// Stuff the subject back into the form.
-			childSetValue("subject_form", getString("default_subject"));
+			getChild<LLUICtrl>("subject_form")->setValue(getString("default_subject"));
 		}
 
 		if(!mHasFirstMsgFocus)
 		{
 			// The user never switched focus to the messagee window. 
 			// Using the default string.
-			childSetValue("msg_form", getString("default_message"));
+			getChild<LLUICtrl>("msg_form")->setValue(getString("default_message"));
 		}
 
 		sendPostcard();
@@ -357,11 +357,11 @@ void LLFloaterPostcard::sendPostcard()
 		LLSD body = LLSD::emptyMap();
 		// the capability already encodes: agent ID, region ID
 		body["pos-global"] = mPosTakenGlobal.getValue();
-		body["to"] = childGetValue("to_form").asString();
-		body["from"] = childGetValue("from_form").asString();
-		body["name"] = childGetValue("name_form").asString();
-		body["subject"] = childGetValue("subject_form").asString();
-		body["msg"] = childGetValue("msg_form").asString();
+		body["to"] = getChild<LLUICtrl>("to_form")->getValue().asString();
+		body["from"] = getChild<LLUICtrl>("from_form")->getValue().asString();
+		body["name"] = getChild<LLUICtrl>("name_form")->getValue().asString();
+		body["subject"] = getChild<LLUICtrl>("subject_form")->getValue().asString();
+		body["msg"] = getChild<LLUICtrl>("msg_form")->getValue().asString();
 		LLHTTPClient::post(url, body, new LLSendPostcardResponder(body, mAssetID, LLAssetType::AT_IMAGE_JPEG));
 	} 
 	else
diff --git a/indra/newview/llfloaterpostprocess.cpp b/indra/newview/llfloaterpostprocess.cpp
index 87a12d3d66c5726333a7810b51568c7bde5e0f48..06c0a94afab66a1c91247ad64d16030387a974f5 100644
--- a/indra/newview/llfloaterpostprocess.cpp
+++ b/indra/newview/llfloaterpostprocess.cpp
@@ -212,25 +212,25 @@ void LLFloaterPostProcess::syncMenu()
 	comboBox->selectByValue(gPostProcess->getSelectedEffect());
 
 	/// Sync Color Filter Menu
-	childSetValue("ColorFilterToggle", gPostProcess->tweaks.useColorFilter());
-	//childSetValue("ColorFilterGamma", gPostProcess->tweaks.gamma());
-	childSetValue("ColorFilterBrightness", gPostProcess->tweaks.brightness());
-	childSetValue("ColorFilterSaturation", gPostProcess->tweaks.saturation());
-	childSetValue("ColorFilterContrast", gPostProcess->tweaks.contrast());
-	childSetValue("ColorFilterBaseR", gPostProcess->tweaks.contrastBaseR());
-	childSetValue("ColorFilterBaseG", gPostProcess->tweaks.contrastBaseG());
-	childSetValue("ColorFilterBaseB", gPostProcess->tweaks.contrastBaseB());
-	childSetValue("ColorFilterBaseI", gPostProcess->tweaks.contrastBaseIntensity());
+	getChild<LLUICtrl>("ColorFilterToggle")->setValue(gPostProcess->tweaks.useColorFilter());
+	//getChild<LLUICtrl>("ColorFilterGamma")->setValue(gPostProcess->tweaks.gamma());
+	getChild<LLUICtrl>("ColorFilterBrightness")->setValue(gPostProcess->tweaks.brightness());
+	getChild<LLUICtrl>("ColorFilterSaturation")->setValue(gPostProcess->tweaks.saturation());
+	getChild<LLUICtrl>("ColorFilterContrast")->setValue(gPostProcess->tweaks.contrast());
+	getChild<LLUICtrl>("ColorFilterBaseR")->setValue(gPostProcess->tweaks.contrastBaseR());
+	getChild<LLUICtrl>("ColorFilterBaseG")->setValue(gPostProcess->tweaks.contrastBaseG());
+	getChild<LLUICtrl>("ColorFilterBaseB")->setValue(gPostProcess->tweaks.contrastBaseB());
+	getChild<LLUICtrl>("ColorFilterBaseI")->setValue(gPostProcess->tweaks.contrastBaseIntensity());
 	
 	/// Sync Night Vision Menu
-	childSetValue("NightVisionToggle", gPostProcess->tweaks.useNightVisionShader());
-	childSetValue("NightVisionBrightMult", gPostProcess->tweaks.brightMult());
-	childSetValue("NightVisionNoiseSize", gPostProcess->tweaks.noiseSize());
-	childSetValue("NightVisionNoiseStrength", gPostProcess->tweaks.noiseStrength());
+	getChild<LLUICtrl>("NightVisionToggle")->setValue(gPostProcess->tweaks.useNightVisionShader());
+	getChild<LLUICtrl>("NightVisionBrightMult")->setValue(gPostProcess->tweaks.brightMult());
+	getChild<LLUICtrl>("NightVisionNoiseSize")->setValue(gPostProcess->tweaks.noiseSize());
+	getChild<LLUICtrl>("NightVisionNoiseStrength")->setValue(gPostProcess->tweaks.noiseStrength());
 
 	/// Sync Bloom Menu
-	childSetValue("BloomToggle", LLSD(gPostProcess->tweaks.useBloomShader()));
-	childSetValue("BloomExtract", gPostProcess->tweaks.extractLow());
-	childSetValue("BloomSize", gPostProcess->tweaks.bloomWidth());
-	childSetValue("BloomStrength", gPostProcess->tweaks.bloomStrength());
+	getChild<LLUICtrl>("BloomToggle")->setValue(LLSD(gPostProcess->tweaks.useBloomShader()));
+	getChild<LLUICtrl>("BloomExtract")->setValue(gPostProcess->tweaks.extractLow());
+	getChild<LLUICtrl>("BloomSize")->setValue(gPostProcess->tweaks.bloomWidth());
+	getChild<LLUICtrl>("BloomStrength")->setValue(gPostProcess->tweaks.bloomStrength());
 }
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index ab32c2f6bfd9d034324f9894e268295102e63711..7791c037d38a1a90f5ca3647aafd0fd4f39299bf 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -144,7 +144,7 @@ LLVoiceSetKeyDialog::LLVoiceSetKeyDialog(const LLSD& key)
 BOOL LLVoiceSetKeyDialog::postBuild()
 {
 	childSetAction("Cancel", onCancel, this);
-	childSetFocus("Cancel");
+	getChild<LLUICtrl>("Cancel")->setFocus(TRUE);
 	
 	gFocusMgr.setKeystrokesOnly(TRUE);
 	
@@ -330,7 +330,7 @@ BOOL LLFloaterPreference::postBuild()
 		tabcontainer->selectFirstTab();
 
 	std::string cache_location = gDirUtilp->getExpandedFilename(LL_PATH_CACHE, "");
-	childSetText("cache_location", cache_location);
+	getChild<LLUICtrl>("cache_location")->setValue(cache_location);
 
 	// if floater is opened before login set default localized busy message
 	if (LLStartUp::getStartupState() < STATE_STARTED)
@@ -426,28 +426,28 @@ void LLFloaterPreference::apply()
 	fov_slider->setMaxValue(LLViewerCamera::getInstance()->getMaxView());
 	
 	std::string cache_location = gDirUtilp->getExpandedFilename(LL_PATH_CACHE, "");
-	childSetText("cache_location", cache_location);		
+	getChild<LLUICtrl>("cache_location")->setValue(cache_location);		
 	
-	LLViewerMedia::setCookiesEnabled(childGetValue("cookies_enabled"));
+	LLViewerMedia::setCookiesEnabled(getChild<LLUICtrl>("cookies_enabled")->getValue());
 	
 	if(hasChild("web_proxy_enabled") &&hasChild("web_proxy_editor") && hasChild("web_proxy_port"))
 	{
-		bool proxy_enable = childGetValue("web_proxy_enabled");
-		std::string proxy_address = childGetValue("web_proxy_editor");
-		int proxy_port = childGetValue("web_proxy_port");
+		bool proxy_enable = getChild<LLUICtrl>("web_proxy_enabled")->getValue();
+		std::string proxy_address = getChild<LLUICtrl>("web_proxy_editor")->getValue();
+		int proxy_port = getChild<LLUICtrl>("web_proxy_port")->getValue();
 		LLViewerMedia::setProxyConfig(proxy_enable, proxy_address, proxy_port);
 	}
 	
 //	LLWString busy_response = utf8str_to_wstring(getChild<LLUICtrl>("busy_response")->getValue().asString());
 //	LLWStringUtil::replaceTabsWithSpaces(busy_response, 4);
 
-	gSavedSettings.setBOOL("PlainTextChatHistory", childGetValue("plain_text_chat_history").asBoolean());
+	gSavedSettings.setBOOL("PlainTextChatHistory", getChild<LLUICtrl>("plain_text_chat_history")->getValue().asBoolean());
 	
 	if(mGotPersonalInfo)
 	{ 
 //		gSavedSettings.setString("BusyModeResponse2", std::string(wstring_to_utf8str(busy_response)));
-		bool new_im_via_email = childGetValue("send_im_to_email").asBoolean();
-		bool new_hide_online = childGetValue("online_visibility").asBoolean();		
+		bool new_im_via_email = getChild<LLUICtrl>("send_im_to_email")->getValue().asBoolean();
+		bool new_hide_online = getChild<LLUICtrl>("online_visibility")->getValue().asBoolean();		
 	
 		if((new_im_via_email != mOriginalIMViaEmail)
 			||(new_hide_online != mOriginalHideOnlineStatus))
@@ -545,13 +545,13 @@ void LLFloaterPreference::onOpen(const LLSD& key)
 				maturity_list->deleteItems(LLSD(SIM_ACCESS_ADULT));
 			}
 		}
-		childSetVisible("maturity_desired_combobox", true);
-		childSetVisible("maturity_desired_textbox", false);
+		getChildView("maturity_desired_combobox")->setVisible( true);
+		getChildView("maturity_desired_textbox")->setVisible( false);
 	}
 	else
 	{
-		childSetText("maturity_desired_textbox",  maturity_combo->getSelectedItemLabel());
-		childSetVisible("maturity_desired_combobox", false);
+		getChild<LLUICtrl>("maturity_desired_textbox")->setValue(maturity_combo->getSelectedItemLabel());
+		getChildView("maturity_desired_combobox")->setVisible( false);
 	}
 
 	// Display selected maturity icons.
@@ -930,7 +930,7 @@ void LLFloaterPreference::refreshEnabledState()
 	// now turn off any features that are unavailable
 	disableUnavailableSettings();
 
-	childSetEnabled ("block_list", LLLoginInstance::getInstance()->authSuccess());
+	getChildView("block_list")->setEnabled(LLLoginInstance::getInstance()->authSuccess());
 }
 
 void LLFloaterPreference::disableUnavailableSettings()
@@ -1101,7 +1101,7 @@ void LLFloaterPreference::onClickSetKey()
 
 void LLFloaterPreference::setKey(KEY key)
 {
-	childSetValue("modifier_combo", LLKeyboard::stringFromKey(key));
+	getChild<LLUICtrl>("modifier_combo")->setValue(LLKeyboard::stringFromKey(key));
 	// update the control right away since we no longer wait for apply
 	getChild<LLUICtrl>("modifier_combo")->onCommit();
 }
@@ -1214,46 +1214,46 @@ void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im
 	if(visibility == VISIBILITY_DEFAULT)
 	{
 		mOriginalHideOnlineStatus = false;
-		childEnable("online_visibility"); 	 
+		getChildView("online_visibility")->setEnabled(TRUE); 	 
 	}
 	else if(visibility == VISIBILITY_HIDDEN)
 	{
 		mOriginalHideOnlineStatus = true;
-		childEnable("online_visibility"); 	 
+		getChildView("online_visibility")->setEnabled(TRUE); 	 
 	}
 	else
 	{
 		mOriginalHideOnlineStatus = true;
 	}
 	
-	childEnable("include_im_in_chat_history");
-	childEnable("show_timestamps_check_im");
-	childEnable("friends_online_notify_checkbox");
-	
-	childSetValue("online_visibility", mOriginalHideOnlineStatus); 	 
-	childSetLabelArg("online_visibility", "[DIR_VIS]", mDirectoryVisibility);
-	childEnable("send_im_to_email");
-	childSetValue("send_im_to_email", im_via_email);
-	childEnable("plain_text_chat_history");
-	childSetValue("plain_text_chat_history", gSavedSettings.getBOOL("PlainTextChatHistory"));
-	childEnable("log_instant_messages");
-//	childEnable("log_chat");
-//	childEnable("busy_response");
-//	childEnable("log_instant_messages_timestamp");
-//	childEnable("log_chat_timestamp");
-	childEnable("log_chat_IM");
-	childEnable("log_date_timestamp");
-	
-//	childSetText("busy_response", gSavedSettings.getString("BusyModeResponse2"));
-	
-	childEnable("log_nearby_chat");
-	childEnable("log_instant_messages");
-	childEnable("show_timestamps_check_im");
-	childDisable("log_path_string");// LineEditor becomes readonly in this case.
-	childEnable("log_path_button");
+	getChildView("include_im_in_chat_history")->setEnabled(TRUE);
+	getChildView("show_timestamps_check_im")->setEnabled(TRUE);
+	getChildView("friends_online_notify_checkbox")->setEnabled(TRUE);
+	
+	getChild<LLUICtrl>("online_visibility")->setValue(mOriginalHideOnlineStatus); 	 
+	getChild<LLUICtrl>("online_visibility")->setLabelArg("[DIR_VIS]", mDirectoryVisibility);
+	getChildView("send_im_to_email")->setEnabled(TRUE);
+	getChild<LLUICtrl>("send_im_to_email")->setValue(im_via_email);
+	getChildView("plain_text_chat_history")->setEnabled(TRUE);
+	getChild<LLUICtrl>("plain_text_chat_history")->setValue(gSavedSettings.getBOOL("PlainTextChatHistory"));
+	getChildView("log_instant_messages")->setEnabled(TRUE);
+//	getChildView("log_chat")->setEnabled(TRUE);
+//	getChildView("busy_response")->setEnabled(TRUE);
+//	getChildView("log_instant_messages_timestamp")->setEnabled(TRUE);
+//	getChildView("log_chat_timestamp")->setEnabled(TRUE);
+	getChildView("log_chat_IM")->setEnabled(TRUE);
+	getChildView("log_date_timestamp")->setEnabled(TRUE);
+	
+//	getChild<LLUICtrl>("busy_response")->setValue(gSavedSettings.getString("BusyModeResponse2"));
+	
+	getChildView("log_nearby_chat")->setEnabled(TRUE);
+	getChildView("log_instant_messages")->setEnabled(TRUE);
+	getChildView("show_timestamps_check_im")->setEnabled(TRUE);
+	getChildView("log_path_string")->setEnabled(FALSE);// LineEditor becomes readonly in this case.
+	getChildView("log_path_button")->setEnabled(TRUE);
 	
 	std::string display_email(email);
-	childSetText("email_address",display_email);
+	getChild<LLUICtrl>("email_address")->setValue(display_email);
 
 }
 
@@ -1352,8 +1352,8 @@ BOOL LLPanelPreference::postBuild()
 	if(hasChild("voice_unavailable"))
 	{
 		BOOL voice_disabled = gSavedSettings.getBOOL("CmdLineDisableVoice");
-		childSetVisible("voice_unavailable", voice_disabled);
-		childSetVisible("enable_voice_check", !voice_disabled);
+		getChildView("voice_unavailable")->setVisible( voice_disabled);
+		getChildView("enable_voice_check")->setVisible( !voice_disabled);
 	}
 	
 	//////////////////////PanelSkins ///////////////////
@@ -1373,8 +1373,8 @@ BOOL LLPanelPreference::postBuild()
 
 	if(hasChild("online_visibility") && hasChild("send_im_to_email"))
 	{
-		childSetText("email_address",getString("log_in_to_change") );
-//		childSetText("busy_response", getString("log_in_to_change"));		
+		getChild<LLUICtrl>("email_address")->setValue(getString("log_in_to_change") );
+//		getChild<LLUICtrl>("busy_response")->setValue(getString("log_in_to_change"));		
 	}
 	
 	//////////////////////PanelPrivacy ///////////////////
@@ -1398,9 +1398,9 @@ BOOL LLPanelPreference::postBuild()
 	if (hasChild("modifier_combo"))
 	{
 		//localizing if push2talk button is set to middle mouse
-		if (MIDDLE_MOUSE_CV == childGetValue("modifier_combo").asString())
+		if (MIDDLE_MOUSE_CV == getChild<LLUICtrl>("modifier_combo")->getValue().asString())
 		{
-			childSetValue("modifier_combo", getString("middle_mouse"));
+			getChild<LLUICtrl>("modifier_combo")->setValue(getString("middle_mouse"));
 		}
 	}
 
diff --git a/indra/newview/llfloaterproperties.cpp b/indra/newview/llfloaterproperties.cpp
index 30b654de24edfbeb20182a21fbbd60896f78b875..b6a98bdada8eead2d1721e1e8d71304614dfb793 100644
--- a/indra/newview/llfloaterproperties.cpp
+++ b/indra/newview/llfloaterproperties.cpp
@@ -130,9 +130,9 @@ BOOL LLFloaterProperties::postBuild()
 {
 	// build the UI
 	// item name & description
-	childSetPrevalidate("LabelItemName",&LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("LabelItemName")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);
 	getChild<LLUICtrl>("LabelItemName")->setCommitCallback(boost::bind(&LLFloaterProperties::onCommitName,this));
-	childSetPrevalidate("LabelItemDesc",&LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("LabelItemDesc")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);
 	getChild<LLUICtrl>("LabelItemDesc")->setCommitCallback(boost::bind(&LLFloaterProperties:: onCommitDescription, this));
 	// Creator information
 	getChild<LLUICtrl>("BtnCreator")->setCommitCallback(boost::bind(&LLFloaterProperties::onClickCreator,this));
@@ -201,7 +201,7 @@ void LLFloaterProperties::refresh()
 		};
 		for(size_t t=0; t<LL_ARRAY_SIZE(enableNames); ++t)
 		{
-			childSetEnabled(enableNames[t],false);
+			getChildView(enableNames[t])->setEnabled(false);
 		}
 		const char* hideNames[]={
 			"BaseMaskDebug",
@@ -212,7 +212,7 @@ void LLFloaterProperties::refresh()
 		};
 		for(size_t t=0; t<LL_ARRAY_SIZE(hideNames); ++t)
 		{
-			childSetVisible(hideNames[t],false);
+			getChildView(hideNames[t])->setVisible(false);
 		}
 	}
 }
@@ -265,13 +265,13 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 											   GP_OBJECT_MANIPULATE)
 		&& is_obj_modify && is_complete;
 
-	childSetEnabled("LabelItemNameTitle",TRUE);
-	childSetEnabled("LabelItemName",is_modifiable && !is_calling_card); // for now, don't allow rename of calling cards
-	childSetText("LabelItemName",item->getName());
-	childSetEnabled("LabelItemDescTitle",TRUE);
-	childSetEnabled("LabelItemDesc",is_modifiable);
-	childSetVisible("IconLocked",!is_modifiable);
-	childSetText("LabelItemDesc",item->getDescription());
+	getChildView("LabelItemNameTitle")->setEnabled(TRUE);
+	getChildView("LabelItemName")->setEnabled(is_modifiable && !is_calling_card); // for now, don't allow rename of calling cards
+	getChild<LLUICtrl>("LabelItemName")->setValue(item->getName());
+	getChildView("LabelItemDescTitle")->setEnabled(TRUE);
+	getChildView("LabelItemDesc")->setEnabled(is_modifiable);
+	getChildView("IconLocked")->setVisible(!is_modifiable);
+	getChild<LLUICtrl>("LabelItemDesc")->setValue(item->getDescription());
 
 	//////////////////
 	// CREATOR NAME //
@@ -283,17 +283,17 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 	{
 		std::string name;
 		gCacheName->getFullName(item->getCreatorUUID(), name);
-		childSetEnabled("BtnCreator",TRUE);
-		childSetEnabled("LabelCreatorTitle",TRUE);
-		childSetEnabled("LabelCreatorName",TRUE);
-		childSetText("LabelCreatorName",name);
+		getChildView("BtnCreator")->setEnabled(TRUE);
+		getChildView("LabelCreatorTitle")->setEnabled(TRUE);
+		getChildView("LabelCreatorName")->setEnabled(TRUE);
+		getChild<LLUICtrl>("LabelCreatorName")->setValue(name);
 	}
 	else
 	{
-		childSetEnabled("BtnCreator",FALSE);
-		childSetEnabled("LabelCreatorTitle",FALSE);
-		childSetEnabled("LabelCreatorName",FALSE);
-		childSetText("LabelCreatorName",getString("unknown"));
+		getChildView("BtnCreator")->setEnabled(FALSE);
+		getChildView("LabelCreatorTitle")->setEnabled(FALSE);
+		getChildView("LabelCreatorName")->setEnabled(FALSE);
+		getChild<LLUICtrl>("LabelCreatorName")->setValue(getString("unknown"));
 	}
 
 	////////////////
@@ -310,17 +310,17 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 		{
 			gCacheName->getFullName(perm.getOwner(), name);
 		}
-		childSetEnabled("BtnOwner",TRUE);
-		childSetEnabled("LabelOwnerTitle",TRUE);
-		childSetEnabled("LabelOwnerName",TRUE);
-		childSetText("LabelOwnerName",name);
+		getChildView("BtnOwner")->setEnabled(TRUE);
+		getChildView("LabelOwnerTitle")->setEnabled(TRUE);
+		getChildView("LabelOwnerName")->setEnabled(TRUE);
+		getChild<LLUICtrl>("LabelOwnerName")->setValue(name);
 	}
 	else
 	{
-		childSetEnabled("BtnOwner",FALSE);
-		childSetEnabled("LabelOwnerTitle",FALSE);
-		childSetEnabled("LabelOwnerName",FALSE);
-		childSetText("LabelOwnerName",getString("public"));
+		getChildView("BtnOwner")->setEnabled(FALSE);
+		getChildView("LabelOwnerTitle")->setEnabled(FALSE);
+		getChildView("LabelOwnerName")->setEnabled(FALSE);
+		getChild<LLUICtrl>("LabelOwnerName")->setValue(getString("public"));
 	}
 	
 	//////////////////
@@ -330,7 +330,7 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 	time_t time_utc = item->getCreationDate();
 	if (0 == time_utc)
 	{
-		childSetText("LabelAcquiredDate",getString("unknown"));
+		getChild<LLUICtrl>("LabelAcquiredDate")->setValue(getString("unknown"));
 	}
 	else
 	{
@@ -338,7 +338,7 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 		LLSD substitution;
 		substitution["datetime"] = (S32) time_utc;
 		LLStringUtil::format (timeStr, substitution);
-		childSetText ("LabelAcquiredDate", timeStr);
+		getChild<LLUICtrl>("LabelAcquiredDate")->setValue(timeStr);
 	}
 
 	///////////////////////
@@ -346,11 +346,11 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 	///////////////////////
 	if(can_agent_manipulate)
 	{
-		childSetText("OwnerLabel",getString("you_can"));
+		getChild<LLUICtrl>("OwnerLabel")->setValue(getString("you_can"));
 	}
 	else
 	{
-		childSetText("OwnerLabel",getString("owner_can"));
+		getChild<LLUICtrl>("OwnerLabel")->setValue(getString("owner_can"));
 	}
 
 	U32 base_mask		= perm.getMaskBase();
@@ -359,13 +359,13 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 	U32 everyone_mask	= perm.getMaskEveryone();
 	U32 next_owner_mask	= perm.getMaskNextOwner();
 
-	childSetEnabled("OwnerLabel",TRUE);
-	childSetEnabled("CheckOwnerModify",FALSE);
-	childSetValue("CheckOwnerModify",LLSD((BOOL)(owner_mask & PERM_MODIFY)));
-	childSetEnabled("CheckOwnerCopy",FALSE);
-	childSetValue("CheckOwnerCopy",LLSD((BOOL)(owner_mask & PERM_COPY)));
-	childSetEnabled("CheckOwnerTransfer",FALSE);
-	childSetValue("CheckOwnerTransfer",LLSD((BOOL)(owner_mask & PERM_TRANSFER)));
+	getChildView("OwnerLabel")->setEnabled(TRUE);
+	getChildView("CheckOwnerModify")->setEnabled(FALSE);
+	getChild<LLUICtrl>("CheckOwnerModify")->setValue(LLSD((BOOL)(owner_mask & PERM_MODIFY)));
+	getChildView("CheckOwnerCopy")->setEnabled(FALSE);
+	getChild<LLUICtrl>("CheckOwnerCopy")->setValue(LLSD((BOOL)(owner_mask & PERM_COPY)));
+	getChildView("CheckOwnerTransfer")->setEnabled(FALSE);
+	getChild<LLUICtrl>("CheckOwnerTransfer")->setValue(LLSD((BOOL)(owner_mask & PERM_TRANSFER)));
 
 	///////////////////////
 	// DEBUG PERMISSIONS //
@@ -389,39 +389,39 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 
 		perm_string = "B: ";
 		perm_string += mask_to_string(base_mask);
-		childSetText("BaseMaskDebug",perm_string);
-		childSetVisible("BaseMaskDebug",TRUE);
+		getChild<LLUICtrl>("BaseMaskDebug")->setValue(perm_string);
+		getChildView("BaseMaskDebug")->setVisible(TRUE);
 		
 		perm_string = "O: ";
 		perm_string += mask_to_string(owner_mask);
-		childSetText("OwnerMaskDebug",perm_string);
-		childSetVisible("OwnerMaskDebug",TRUE);
+		getChild<LLUICtrl>("OwnerMaskDebug")->setValue(perm_string);
+		getChildView("OwnerMaskDebug")->setVisible(TRUE);
 		
 		perm_string = "G";
 		perm_string += overwrite_group ? "*: " : ": ";
 		perm_string += mask_to_string(group_mask);
-		childSetText("GroupMaskDebug",perm_string);
-		childSetVisible("GroupMaskDebug",TRUE);
+		getChild<LLUICtrl>("GroupMaskDebug")->setValue(perm_string);
+		getChildView("GroupMaskDebug")->setVisible(TRUE);
 		
 		perm_string = "E";
 		perm_string += overwrite_everyone ? "*: " : ": ";
 		perm_string += mask_to_string(everyone_mask);
-		childSetText("EveryoneMaskDebug",perm_string);
-		childSetVisible("EveryoneMaskDebug",TRUE);
+		getChild<LLUICtrl>("EveryoneMaskDebug")->setValue(perm_string);
+		getChildView("EveryoneMaskDebug")->setVisible(TRUE);
 		
 		perm_string = "N";
 		perm_string += slam_perm ? "*: " : ": ";
 		perm_string += mask_to_string(next_owner_mask);
-		childSetText("NextMaskDebug",perm_string);
-		childSetVisible("NextMaskDebug",TRUE);
+		getChild<LLUICtrl>("NextMaskDebug")->setValue(perm_string);
+		getChildView("NextMaskDebug")->setVisible(TRUE);
 	}
 	else
 	{
-		childSetVisible("BaseMaskDebug",FALSE);
-		childSetVisible("OwnerMaskDebug",FALSE);
-		childSetVisible("GroupMaskDebug",FALSE);
-		childSetVisible("EveryoneMaskDebug",FALSE);
-		childSetVisible("NextMaskDebug",FALSE);
+		getChildView("BaseMaskDebug")->setVisible(FALSE);
+		getChildView("OwnerMaskDebug")->setVisible(FALSE);
+		getChildView("GroupMaskDebug")->setVisible(FALSE);
+		getChildView("EveryoneMaskDebug")->setVisible(FALSE);
+		getChildView("NextMaskDebug")->setVisible(FALSE);
 	}
 
 	/////////////
@@ -431,18 +431,18 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 	// Check for ability to change values.
 	if (is_link || cannot_restrict_permissions)
 	{
-		childSetEnabled("CheckShareWithGroup",FALSE);
-		childSetEnabled("CheckEveryoneCopy",FALSE);
+		getChildView("CheckShareWithGroup")->setEnabled(FALSE);
+		getChildView("CheckEveryoneCopy")->setEnabled(FALSE);
 	}
 	else if (is_obj_modify && can_agent_manipulate)
 	{
-		childSetEnabled("CheckShareWithGroup",TRUE);
-		childSetEnabled("CheckEveryoneCopy",(owner_mask & PERM_COPY) && (owner_mask & PERM_TRANSFER));
+		getChildView("CheckShareWithGroup")->setEnabled(TRUE);
+		getChildView("CheckEveryoneCopy")->setEnabled((owner_mask & PERM_COPY) && (owner_mask & PERM_TRANSFER));
 	}
 	else
 	{
-		childSetEnabled("CheckShareWithGroup",FALSE);
-		childSetEnabled("CheckEveryoneCopy",FALSE);
+		getChildView("CheckShareWithGroup")->setEnabled(FALSE);
+		getChildView("CheckEveryoneCopy")->setEnabled(FALSE);
 	}
 
 	// Set values.
@@ -452,7 +452,7 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 
 	if (is_group_copy && is_group_modify && is_group_move)
 	{
-		childSetValue("CheckShareWithGroup",LLSD((BOOL)TRUE));
+		getChild<LLUICtrl>("CheckShareWithGroup")->setValue(LLSD((BOOL)TRUE));
 
 		LLCheckBoxCtrl* ctl = getChild<LLCheckBoxCtrl>("CheckShareWithGroup");
 		if(ctl)
@@ -462,7 +462,7 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 	}
 	else if (!is_group_copy && !is_group_modify && !is_group_move)
 	{
-		childSetValue("CheckShareWithGroup",LLSD((BOOL)FALSE));
+		getChild<LLUICtrl>("CheckShareWithGroup")->setValue(LLSD((BOOL)FALSE));
 		LLCheckBoxCtrl* ctl = getChild<LLCheckBoxCtrl>("CheckShareWithGroup");
 		if(ctl)
 		{
@@ -479,7 +479,7 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 		}
 	}
 	
-	childSetValue("CheckEveryoneCopy",LLSD((BOOL)(everyone_mask & PERM_COPY)));
+	getChild<LLUICtrl>("CheckEveryoneCopy")->setValue(LLSD((BOOL)(everyone_mask & PERM_COPY)));
 
 	///////////////
 	// SALE INFO //
@@ -491,40 +491,40 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 	if (is_obj_modify && can_agent_sell 
 		&& gAgent.allowOperation(PERM_TRANSFER, perm, GP_OBJECT_MANIPULATE))
 	{
-		childSetEnabled("SaleLabel",is_complete);
-		childSetEnabled("CheckPurchase",is_complete);
+		getChildView("SaleLabel")->setEnabled(is_complete);
+		getChildView("CheckPurchase")->setEnabled(is_complete);
 
-		childSetEnabled("NextOwnerLabel",TRUE);
-		childSetEnabled("CheckNextOwnerModify",(base_mask & PERM_MODIFY) && !cannot_restrict_permissions);
-		childSetEnabled("CheckNextOwnerCopy",(base_mask & PERM_COPY) && !cannot_restrict_permissions);
-		childSetEnabled("CheckNextOwnerTransfer",(next_owner_mask & PERM_COPY) && !cannot_restrict_permissions);
+		getChildView("NextOwnerLabel")->setEnabled(TRUE);
+		getChildView("CheckNextOwnerModify")->setEnabled((base_mask & PERM_MODIFY) && !cannot_restrict_permissions);
+		getChildView("CheckNextOwnerCopy")->setEnabled((base_mask & PERM_COPY) && !cannot_restrict_permissions);
+		getChildView("CheckNextOwnerTransfer")->setEnabled((next_owner_mask & PERM_COPY) && !cannot_restrict_permissions);
 
-		childSetEnabled("RadioSaleType",is_complete && is_for_sale);
-		childSetEnabled("TextPrice",is_complete && is_for_sale);
-		childSetEnabled("Edit Cost",is_complete && is_for_sale);
+		getChildView("RadioSaleType")->setEnabled(is_complete && is_for_sale);
+		getChildView("TextPrice")->setEnabled(is_complete && is_for_sale);
+		getChildView("Edit Cost")->setEnabled(is_complete && is_for_sale);
 	}
 	else
 	{
-		childSetEnabled("SaleLabel",FALSE);
-		childSetEnabled("CheckPurchase",FALSE);
+		getChildView("SaleLabel")->setEnabled(FALSE);
+		getChildView("CheckPurchase")->setEnabled(FALSE);
 
-		childSetEnabled("NextOwnerLabel",FALSE);
-		childSetEnabled("CheckNextOwnerModify",FALSE);
-		childSetEnabled("CheckNextOwnerCopy",FALSE);
-		childSetEnabled("CheckNextOwnerTransfer",FALSE);
+		getChildView("NextOwnerLabel")->setEnabled(FALSE);
+		getChildView("CheckNextOwnerModify")->setEnabled(FALSE);
+		getChildView("CheckNextOwnerCopy")->setEnabled(FALSE);
+		getChildView("CheckNextOwnerTransfer")->setEnabled(FALSE);
 
-		childSetEnabled("RadioSaleType",FALSE);
-		childSetEnabled("TextPrice",FALSE);
-		childSetEnabled("Edit Cost",FALSE);
+		getChildView("RadioSaleType")->setEnabled(FALSE);
+		getChildView("TextPrice")->setEnabled(FALSE);
+		getChildView("Edit Cost")->setEnabled(FALSE);
 	}
 
 	// Set values.
-	childSetValue("CheckPurchase", is_for_sale);
-	childSetEnabled("combobox sale copy", is_for_sale);
-	childSetEnabled("Edit Cost", is_for_sale);
-	childSetValue("CheckNextOwnerModify",LLSD(BOOL(next_owner_mask & PERM_MODIFY)));
-	childSetValue("CheckNextOwnerCopy",LLSD(BOOL(next_owner_mask & PERM_COPY)));
-	childSetValue("CheckNextOwnerTransfer",LLSD(BOOL(next_owner_mask & PERM_TRANSFER)));
+	getChild<LLUICtrl>("CheckPurchase")->setValue(is_for_sale);
+	getChildView("combobox sale copy")->setEnabled(is_for_sale);
+	getChildView("Edit Cost")->setEnabled(is_for_sale);
+	getChild<LLUICtrl>("CheckNextOwnerModify")->setValue(LLSD(BOOL(next_owner_mask & PERM_MODIFY)));
+	getChild<LLUICtrl>("CheckNextOwnerCopy")->setValue(LLSD(BOOL(next_owner_mask & PERM_COPY)));
+	getChild<LLUICtrl>("CheckNextOwnerTransfer")->setValue(LLSD(BOOL(next_owner_mask & PERM_TRANSFER)));
 
 	LLRadioGroup* radioSaleType = getChild<LLRadioGroup>("RadioSaleType");
 	if (is_for_sale)
@@ -532,12 +532,12 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
 		radioSaleType->setSelectedIndex((S32)sale_info.getSaleType() - 1);
 		S32 numerical_price;
 		numerical_price = sale_info.getSalePrice();
-		childSetText("Edit Cost",llformat("%d",numerical_price));
+		getChild<LLUICtrl>("Edit Cost")->setValue(llformat("%d",numerical_price));
 	}
 	else
 	{
 		radioSaleType->setSelectedIndex(-1);
-		childSetText("Edit Cost",llformat("%d",0));
+		getChild<LLUICtrl>("Edit Cost")->setValue(llformat("%d",0));
 	}
 }
 
@@ -758,10 +758,10 @@ void LLFloaterProperties::updateSaleInfo()
 	LLSaleInfo sale_info(item->getSaleInfo());
 	if(!gAgent.allowOperation(PERM_TRANSFER, item->getPermissions(), GP_OBJECT_SET_SALE))
 	{
-		childSetValue("CheckPurchase",LLSD((BOOL)FALSE));
+		getChild<LLUICtrl>("CheckPurchase")->setValue(LLSD((BOOL)FALSE));
 	}
 
-	if((BOOL)childGetValue("CheckPurchase"))
+	if((BOOL)getChild<LLUICtrl>("CheckPurchase")->getValue())
 	{
 		// turn on sale info
 		LLSaleInfo::EForSale sale_type = LLSaleInfo::FS_COPY;
diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp
index f7c8855bf6571d2f3583143bb22559e9ea25b871..230d4be85b858705a1e5d1586f63966e9101ced7 100644
--- a/indra/newview/llfloaterreporter.cpp
+++ b/indra/newview/llfloaterreporter.cpp
@@ -128,7 +128,7 @@ BOOL LLFloaterReporter::postBuild()
 {
 	LLSLURL slurl;
 	LLAgentUI::buildSLURL(slurl);
-	childSetText("abuse_location_edit", slurl.getSLURLString());
+	getChild<LLUICtrl>("abuse_location_edit")->setValue(slurl.getSLURLString());
 
 	enableControls(TRUE);
 
@@ -137,7 +137,7 @@ BOOL LLFloaterReporter::postBuild()
 	LLViewerRegion *regionp = gAgent.getRegion();
 	if (regionp)
 	{
-		childSetText("sim_field", regionp->getName());
+		getChild<LLUICtrl>("sim_field")->setValue(regionp->getName());
 		pos -= regionp->getOriginGlobal();
 	}
 	setPosBox(pos);
@@ -148,13 +148,13 @@ BOOL LLFloaterReporter::postBuild()
 	setVisible(TRUE);
 
 	// Default text to be blank
-	childSetText("object_name", LLStringUtil::null);
-	childSetText("owner_name", LLStringUtil::null);
+	getChild<LLUICtrl>("object_name")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("owner_name")->setValue(LLStringUtil::null);
 	mOwnerName = LLStringUtil::null;
 
-	childSetFocus("summary_edit");
+	getChild<LLUICtrl>("summary_edit")->setFocus(TRUE);
 
-	mDefaultSummary = childGetText("details_edit");
+	mDefaultSummary = getChild<LLUICtrl>("details_edit")->getValue().asString();
 
 	// send a message and ask for information about this region - 
 	// result comes back in processRegionInfo(..)
@@ -184,7 +184,7 @@ BOOL LLFloaterReporter::postBuild()
 	// grab the user's name
 	std::string fullname;
 	LLAgentUI::buildFullname(fullname);
-	childSetText("reporter_field", fullname);
+	getChild<LLUICtrl>("reporter_field")->setValue(fullname);
 	
 	center();
 
@@ -212,22 +212,22 @@ LLFloaterReporter::~LLFloaterReporter()
 // virtual
 void LLFloaterReporter::draw()
 {
-	childSetEnabled("screen_check", TRUE );
+	getChildView("screen_check")->setEnabled(TRUE );
 
 	LLFloater::draw();
 }
 
 void LLFloaterReporter::enableControls(BOOL enable)
 {
-	childSetEnabled("category_combo", enable);
-	childSetEnabled("chat_check", enable);
-	childSetEnabled("screen_check",	enable);
-	childDisable("screenshot");
-	childSetEnabled("pick_btn",		enable);
-	childSetEnabled("summary_edit",	enable);
-	childSetEnabled("details_edit",	enable);
-	childSetEnabled("send_btn",		enable);
-	childSetEnabled("cancel_btn",	enable);
+	getChildView("category_combo")->setEnabled(enable);
+	getChildView("chat_check")->setEnabled(enable);
+	getChildView("screen_check")->setEnabled(enable);
+	getChildView("screenshot")->setEnabled(FALSE);
+	getChildView("pick_btn")->setEnabled(enable);
+	getChildView("summary_edit")->setEnabled(enable);
+	getChildView("details_edit")->setEnabled(enable);
+	getChildView("send_btn")->setEnabled(enable);
+	getChildView("cancel_btn")->setEnabled(enable);
 }
 
 void LLFloaterReporter::getObjectInfo(const LLUUID& object_id)
@@ -259,7 +259,7 @@ void LLFloaterReporter::getObjectInfo(const LLUUID& object_id)
 			LLViewerRegion *regionp = objectp->getRegion();
 			if (regionp)
 			{
-				childSetText("sim_field", regionp->getName());
+				getChild<LLUICtrl>("sim_field")->setValue(regionp->getName());
 				LLVector3d global_pos;
 				global_pos.setVec(objectp->getPositionRegion());
 				setPosBox(global_pos);
@@ -313,7 +313,7 @@ void LLFloaterReporter::callbackAvatarID(const std::vector<std::string>& names,
 {
 	if (ids.empty() || names.empty()) return;
 
-	childSetText("abuser_name_edit", names[0] );
+	getChild<LLUICtrl>("abuser_name_edit")->setValue(names[0] );
 
 	mAbuserID = ids[0];
 
@@ -328,9 +328,9 @@ void LLFloaterReporter::setFromAvatar(const LLUUID& avatar_id, const std::string
 
 	std::string avatar_link =
 	  LLSLURL("agent", mObjectID, "inspect").getSLURLString();
-	childSetText("owner_name", avatar_link);
-	childSetText("object_name", avatar_name);
-	childSetText("abuser_name_edit", avatar_name);
+	getChild<LLUICtrl>("owner_name")->setValue(avatar_link);
+	getChild<LLUICtrl>("object_name")->setValue(avatar_name);
+	getChild<LLUICtrl>("abuser_name_edit")->setValue(avatar_name);
 }
 
 // static
@@ -354,9 +354,9 @@ void LLFloaterReporter::onClickSend(void *userdata)
 			if ( ! self->mCopyrightWarningSeen )
 			{
 
-				std::string details_lc = self->childGetText("details_edit");
+				std::string details_lc = self->getChild<LLUICtrl>("details_edit")->getValue().asString();
 				LLStringUtil::toLower( details_lc );
-				std::string summary_lc = self->childGetText("summary_edit");
+				std::string summary_lc = self->getChild<LLUICtrl>("summary_edit")->getValue().asString();
 				LLStringUtil::toLower( summary_lc );
 				if ( details_lc.find( "copyright" ) != std::string::npos ||
 					summary_lc.find( "copyright" ) != std::string::npos  ||
@@ -387,10 +387,10 @@ void LLFloaterReporter::onClickSend(void *userdata)
 		}
 		else
 		{
-			if(self->childGetValue("screen_check"))
+			if(self->getChild<LLUICtrl>("screen_check")->getValue())
 			{
-				self->childDisable("send_btn");
-				self->childDisable("cancel_btn");
+				self->getChildView("send_btn")->setEnabled(FALSE);
+				self->getChildView("cancel_btn")->setEnabled(FALSE);
 				// the callback from uploading the image calls sendReportViaLegacy()
 				self->uploadImage();
 			}
@@ -428,8 +428,8 @@ void LLFloaterReporter::onClickObjPicker(void *userdata)
 	LLToolObjPicker::getInstance()->setExitCallback(LLFloaterReporter::closePickTool, self);
 	LLToolMgr::getInstance()->setTransientTool(LLToolObjPicker::getInstance());
 	self->mPicking = TRUE;
-	self->childSetText("object_name", LLStringUtil::null);
-	self->childSetText("owner_name", LLStringUtil::null);
+	self->getChild<LLUICtrl>("object_name")->setValue(LLStringUtil::null);
+	self->getChild<LLUICtrl>("owner_name")->setValue(LLStringUtil::null);
 	self->mOwnerName = LLStringUtil::null;
 	LLButton* pick_btn = self->getChild<LLButton>("pick_btn");
 	if (pick_btn) pick_btn->setToggleState(TRUE);
@@ -475,7 +475,7 @@ void LLFloaterReporter::show(const LLUUID& object_id, const std::string& avatar_
 	// grab the user's name
 	std::string fullname;
 	LLAgentUI::buildFullname(fullname);
-	f->childSetText("reporter_field", fullname);
+	f->getChild<LLUICtrl>("reporter_field")->setValue(fullname);
 
 	if (avatar_name.empty())
 		// Request info for this object
@@ -504,11 +504,11 @@ void LLFloaterReporter::showFromAvatar(const LLUUID& avatar_id, const std::strin
 
 void LLFloaterReporter::setPickedObjectProperties(const std::string& object_name, const std::string& owner_name, const LLUUID owner_id)
 {
-	childSetText("object_name", object_name);
+	getChild<LLUICtrl>("object_name")->setValue(object_name);
 	std::string owner_link =
 		LLSLURL("agent", owner_id, "inspect").getSLURLString();
-	childSetText("owner_name", owner_link);
-	childSetText("abuser_name_edit", owner_name);
+	getChild<LLUICtrl>("owner_name")->setValue(owner_link);
+	getChild<LLUICtrl>("abuser_name_edit")->setValue(owner_name);
 	mAbuserID = owner_id;
 	mOwnerName = owner_name;
 }
@@ -517,7 +517,7 @@ void LLFloaterReporter::setPickedObjectProperties(const std::string& object_name
 bool LLFloaterReporter::validateReport()
 {
 	// Ensure user selected a category from the list
-	LLSD category_sd = childGetValue("category_combo");
+	LLSD category_sd = getChild<LLUICtrl>("category_combo")->getValue();
 	U8 category = (U8)category_sd.asInteger();
 	if (category == 0)
 	{
@@ -526,32 +526,32 @@ bool LLFloaterReporter::validateReport()
 	}
 
 
-	if ( childGetText("abuser_name_edit").empty() )
+	if ( getChild<LLUICtrl>("abuser_name_edit")->getValue().asString().empty() )
 	{
 		LLNotificationsUtil::add("HelpReportAbuseAbuserNameEmpty");
 		return false;
 	};
 
-	if ( childGetText("abuse_location_edit").empty() )
+	if ( getChild<LLUICtrl>("abuse_location_edit")->getValue().asString().empty() )
 	{
 		LLNotificationsUtil::add("HelpReportAbuseAbuserLocationEmpty");
 		return false;
 	};
 
-	if ( childGetText("abuse_location_edit").empty() )
+	if ( getChild<LLUICtrl>("abuse_location_edit")->getValue().asString().empty() )
 	{
 		LLNotificationsUtil::add("HelpReportAbuseAbuserLocationEmpty");
 		return false;
 	};
 
 
-	if ( childGetText("summary_edit").empty() )
+	if ( getChild<LLUICtrl>("summary_edit")->getValue().asString().empty() )
 	{
 		LLNotificationsUtil::add("HelpReportAbuseSummaryEmpty");
 		return false;
 	};
 
-	if ( childGetText("details_edit") == mDefaultSummary )
+	if ( getChild<LLUICtrl>("details_edit")->getValue().asString() == mDefaultSummary )
 	{
 		LLNotificationsUtil::add("HelpReportAbuseDetailsEmpty");
 		return false;
@@ -597,17 +597,17 @@ LLSD LLFloaterReporter::gatherReport()
 
 	summary << ""
 		<< " |" << regionp->getName() << "|"								// region reporter is currently in.
-		<< " (" << childGetText("abuse_location_edit") << ")"				// region abuse occured in (freeform text - no LLRegionPicker tool)
+		<< " (" << getChild<LLUICtrl>("abuse_location_edit")->getValue().asString() << ")"				// region abuse occured in (freeform text - no LLRegionPicker tool)
 		<< " [" << category_name << "] "									// updated category
-		<< " {" << childGetText("abuser_name_edit") << "} "					// name of abuse entered in report (chosen using LLAvatarPicker)
-		<< " \"" << childGetValue("summary_edit").asString() << "\"";		// summary as entered
+		<< " {" << getChild<LLUICtrl>("abuser_name_edit")->getValue().asString() << "} "					// name of abuse entered in report (chosen using LLAvatarPicker)
+		<< " \"" << getChild<LLUICtrl>("summary_edit")->getValue().asString() << "\"";		// summary as entered
 
 
 	std::ostringstream details;
 
 	details << "V" << LLVersionInfo::getVersion() << std::endl << std::endl;	// client version moved to body of email for abuse reports
 
-	std::string object_name = childGetText("object_name");
+	std::string object_name = getChild<LLUICtrl>("object_name")->getValue().asString();
 	if (!object_name.empty() && !mOwnerName.empty())
 	{
 		details << "Object: " << object_name << "\n";
@@ -615,10 +615,10 @@ LLSD LLFloaterReporter::gatherReport()
 	}
 
 
-	details << "Abuser name: " << childGetText("abuser_name_edit") << " \n";
-	details << "Abuser location: " << childGetText("abuse_location_edit") << " \n";
+	details << "Abuser name: " << getChild<LLUICtrl>("abuser_name_edit")->getValue().asString() << " \n";
+	details << "Abuser location: " << getChild<LLUICtrl>("abuse_location_edit")->getValue().asString() << " \n";
 
-	details << childGetValue("details_edit").asString();
+	details << getChild<LLUICtrl>("details_edit")->getValue().asString();
 
 	std::string version_string;
 	version_string = llformat(
@@ -632,14 +632,14 @@ LLSD LLFloaterReporter::gatherReport()
 	// only send a screenshot ID if we're asked to and the email is 
 	// going to LL - Estate Owners cannot see the screenshot asset
 	LLUUID screenshot_id = LLUUID::null;
-	if (childGetValue("screen_check"))
+	if (getChild<LLUICtrl>("screen_check")->getValue())
 	{
-		screenshot_id = childGetValue("screenshot");
+		screenshot_id = getChild<LLUICtrl>("screenshot")->getValue();
 	};
 
 	LLSD report = LLSD::emptyMap();
 	report["report-type"] = (U8) mReportType;
-	report["category"] = childGetValue("category_combo");
+	report["category"] = getChild<LLUICtrl>("category_combo")->getValue();
 	report["position"] = mPosition.getValue();
 	report["check-flags"] = (U8)0; // this is not used
 	report["screenshot-id"] = screenshot_id;
@@ -721,7 +721,7 @@ class LLUserReportResponder : public LLHTTPClient::Responder
 
 void LLFloaterReporter::sendReportViaCaps(std::string url, std::string sshot_url, const LLSD& report)
 {
-	if(childGetValue("screen_check").asBoolean() && !sshot_url.empty())
+	if(getChild<LLUICtrl>("screen_check")->getValue().asBoolean() && !sshot_url.empty())
 	{
 		// try to upload screenshot
 		LLHTTPClient::post(sshot_url, report, new LLUserReportScreenshotResponder(report, 
@@ -853,7 +853,7 @@ void LLFloaterReporter::setPosBox(const LLVector3d &pos)
 		mPosition.mV[VX],
 		mPosition.mV[VY],
 		mPosition.mV[VZ]);
-	childSetText("pos_field", pos_string);
+	getChild<LLUICtrl>("pos_field")->setValue(pos_string);
 }
 
 // void LLFloaterReporter::setDescription(const std::string& description, LLMeanCollisionData *mcd)
@@ -861,7 +861,7 @@ void LLFloaterReporter::setPosBox(const LLVector3d &pos)
 // 	LLFloaterReporter *self = LLFloaterReg::findTypedInstance<LLFloaterReporter>("reporter");
 // 	if (self)
 // 	{
-// 		self->childSetText("details_edit", description);
+// 		self->getChild<LLUICtrl>("details_edit")->setValue(description);
 
 // 		for_each(self->mMCDList.begin(), self->mMCDList.end(), DeletePointer());
 // 		self->mMCDList.clear();
diff --git a/indra/newview/llfloaterscriptlimits.cpp b/indra/newview/llfloaterscriptlimits.cpp
index 0a5499b1666ebea49f38c382b9827a79b4e1cb22..e0f646349e3898eb6b26b81da79c7605f087a6cf 100644
--- a/indra/newview/llfloaterscriptlimits.cpp
+++ b/indra/newview/llfloaterscriptlimits.cpp
@@ -298,7 +298,7 @@ void fetchScriptLimitsRegionSummaryResponder::result(const LLSD& content_ref)
 			LLPanelScriptLimitsRegionMemory* panel_memory = (LLPanelScriptLimitsRegionMemory*)tab->getChild<LLPanel>("script_limits_region_memory_panel");
 			if(panel_memory)
 			{
-				panel_memory->childSetValue("loading_text", LLSD(std::string("")));
+				panel_memory->getChild<LLUICtrl>("loading_text")->setValue(LLSD(std::string("")));
 
 				LLButton* btn = panel_memory->getChild<LLButton>("refresh_list_btn");
 				if(btn)
@@ -495,7 +495,7 @@ void fetchScriptLimitsAttachmentInfoResponder::result(const LLSD& content_ref)
 			LLPanelScriptLimitsAttachment* panel = (LLPanelScriptLimitsAttachment*)tab->getChild<LLPanel>("script_limits_my_avatar_panel");
 			if(panel)
 			{
-				panel->childSetValue("loading_text", LLSD(std::string("")));
+				panel->getChild<LLUICtrl>("loading_text")->setValue(LLSD(std::string("")));
 
 				LLButton* btn = panel->getChild<LLButton>("refresh_list_btn");
 				if(btn)
@@ -560,12 +560,12 @@ void LLPanelScriptLimitsRegionMemory::processParcelInfo(const LLParcelData& parc
 	if(!getLandScriptResources())
 	{
 		std::string msg_error = LLTrans::getString("ScriptLimitsRequestError");
-		childSetValue("loading_text", LLSD(msg_error));
+		getChild<LLUICtrl>("loading_text")->setValue(LLSD(msg_error));
 	}
 	else
 	{
 		std::string msg_waiting = LLTrans::getString("ScriptLimitsRequestWaiting");
-		childSetValue("loading_text", LLSD(msg_waiting));
+		getChild<LLUICtrl>("loading_text")->setValue(LLSD(msg_waiting));
 	}
 }
 
@@ -585,7 +585,7 @@ void LLPanelScriptLimitsRegionMemory::setParcelID(const LLUUID& parcel_id)
 	else
 	{
 		std::string msg_error = LLTrans::getString("ScriptLimitsRequestError");
-		childSetValue("loading_text", LLSD(msg_error));
+		getChild<LLUICtrl>("loading_text")->setValue(LLSD(msg_error));
 	}
 }
 
@@ -641,7 +641,7 @@ void LLPanelScriptLimitsRegionMemory::setRegionDetails(LLSD content)
 	LLStringUtil::format_map_t args_parcels;
 	args_parcels["[PARCELS]"] = llformat ("%d", number_parcels);
 	std::string msg_parcels = LLTrans::getString("ScriptLimitsParcelsOwned", args_parcels);
-	childSetValue("parcels_listed", LLSD(msg_parcels));
+	getChild<LLUICtrl>("parcels_listed")->setValue(LLSD(msg_parcels));
 
 	uuid_vec_t names_requested;
 
@@ -818,7 +818,7 @@ void LLPanelScriptLimitsRegionMemory::setRegionSummary(LLSD content)
 		args_parcel_memory["[MAX]"] = llformat ("%d", mParcelMemoryMax);
 		args_parcel_memory["[AVAILABLE]"] = llformat ("%d", parcel_memory_available);
 		std::string msg_parcel_memory = LLTrans::getString("ScriptLimitsMemoryUsed", args_parcel_memory);
-		childSetValue("memory_used", LLSD(msg_parcel_memory));
+		getChild<LLUICtrl>("memory_used")->setValue(LLSD(msg_parcel_memory));
 	}
 
 	if((mParcelURLsUsed >= 0) && (mParcelURLsMax >= 0))
@@ -830,7 +830,7 @@ void LLPanelScriptLimitsRegionMemory::setRegionSummary(LLSD content)
 		args_parcel_urls["[MAX]"] = llformat ("%d", mParcelURLsMax);
 		args_parcel_urls["[AVAILABLE]"] = llformat ("%d", parcel_urls_available);
 		std::string msg_parcel_urls = LLTrans::getString("ScriptLimitsURLsUsed", args_parcel_urls);
-		childSetValue("urls_used", LLSD(msg_parcel_urls));
+		getChild<LLUICtrl>("urls_used")->setValue(LLSD(msg_parcel_urls));
 	}
 }
 
@@ -841,7 +841,7 @@ BOOL LLPanelScriptLimitsRegionMemory::postBuild()
 	childSetAction("return_btn", onClickReturn, this);
 		
 	std::string msg_waiting = LLTrans::getString("ScriptLimitsRequestWaiting");
-	childSetValue("loading_text", LLSD(msg_waiting));
+	getChild<LLUICtrl>("loading_text")->setValue(LLSD(msg_waiting));
 
 	LLScrollListCtrl *list = getChild<LLScrollListCtrl>("scripts_list");
 	if(!list)
@@ -866,7 +866,7 @@ BOOL LLPanelScriptLimitsRegionMemory::StartRequestChain()
 	LLFloaterLand* instance = LLFloaterReg::getTypedInstance<LLFloaterLand>("about_land");
 	if(!instance)
 	{
-		childSetValue("loading_text", LLSD(std::string("")));
+		getChild<LLUICtrl>("loading_text")->setValue(LLSD(std::string("")));
 		//might have to do parent post build here
 		//if not logic below could use early outs
 		return FALSE;
@@ -885,7 +885,7 @@ BOOL LLPanelScriptLimitsRegionMemory::StartRequestChain()
 		if(region_id != current_region_id)
 		{
 			std::string msg_wrong_region = LLTrans::getString("ScriptLimitsRequestWrongRegion");
-			childSetValue("loading_text", LLSD(msg_wrong_region));
+			getChild<LLUICtrl>("loading_text")->setValue(LLSD(msg_wrong_region));
 			return FALSE;
 		}
 		
@@ -914,13 +914,13 @@ BOOL LLPanelScriptLimitsRegionMemory::StartRequestChain()
 					<< " does not support RemoteParcelRequest" << llendl;
 					
 			std::string msg_waiting = LLTrans::getString("ScriptLimitsRequestError");
-			childSetValue("loading_text", LLSD(msg_waiting));
+			getChild<LLUICtrl>("loading_text")->setValue(LLSD(msg_waiting));
 		}
 	}
 	else
 	{
 		std::string msg_waiting = LLTrans::getString("ScriptLimitsRequestNoParcelSelected");
-		childSetValue("loading_text", LLSD(msg_waiting));
+		getChild<LLUICtrl>("loading_text")->setValue(LLSD(msg_waiting));
 	}
 
 	return LLPanelScriptLimitsInfo::postBuild();
@@ -942,9 +942,9 @@ void LLPanelScriptLimitsRegionMemory::clearList()
 	
 	LLStringUtil::format_map_t args_parcel_memory;
 	std::string msg_empty_string("");
-	childSetValue("memory_used", LLSD(msg_empty_string));
-	childSetValue("urls_used", LLSD(msg_empty_string));
-	childSetValue("parcels_listed", LLSD(msg_empty_string));
+	getChild<LLUICtrl>("memory_used")->setValue(LLSD(msg_empty_string));
+	getChild<LLUICtrl>("urls_used")->setValue(LLSD(msg_empty_string));
+	getChild<LLUICtrl>("parcels_listed")->setValue(LLSD(msg_empty_string));
 
 	mObjectListItems.clear();
 }
@@ -1213,7 +1213,7 @@ void LLPanelScriptLimitsAttachment::setAttachmentDetails(LLSD content)
 	
 	setAttachmentSummary(content);
 
-	childSetValue("loading_text", LLSD(std::string("")));
+	getChild<LLUICtrl>("loading_text")->setValue(LLSD(std::string("")));
 
 	LLButton* btn = getChild<LLButton>("refresh_list_btn");
 	if(btn)
@@ -1227,7 +1227,7 @@ BOOL LLPanelScriptLimitsAttachment::postBuild()
 	childSetAction("refresh_list_btn", onClickRefresh, this);
 		
 	std::string msg_waiting = LLTrans::getString("ScriptLimitsRequestWaiting");
-	childSetValue("loading_text", LLSD(msg_waiting));
+	getChild<LLUICtrl>("loading_text")->setValue(LLSD(msg_waiting));
 	return requestAttachmentDetails();
 }
 
@@ -1241,7 +1241,7 @@ void LLPanelScriptLimitsAttachment::clearList()
 	}
 
 	std::string msg_waiting = LLTrans::getString("ScriptLimitsRequestWaiting");
-	childSetValue("loading_text", LLSD(msg_waiting));
+	getChild<LLUICtrl>("loading_text")->setValue(LLSD(msg_waiting));
 }
 
 void LLPanelScriptLimitsAttachment::setAttachmentSummary(LLSD content)
@@ -1291,7 +1291,7 @@ void LLPanelScriptLimitsAttachment::setAttachmentSummary(LLSD content)
 		args_attachment_memory["[MAX]"] = llformat ("%d", mAttachmentMemoryMax);
 		args_attachment_memory["[AVAILABLE]"] = llformat ("%d", attachment_memory_available);
 		std::string msg_attachment_memory = LLTrans::getString("ScriptLimitsMemoryUsed", args_attachment_memory);
-		childSetValue("memory_used", LLSD(msg_attachment_memory));
+		getChild<LLUICtrl>("memory_used")->setValue(LLSD(msg_attachment_memory));
 	}
 
 	if((mAttachmentURLsUsed >= 0) && (mAttachmentURLsMax >= 0))
@@ -1303,7 +1303,7 @@ void LLPanelScriptLimitsAttachment::setAttachmentSummary(LLSD content)
 		args_attachment_urls["[MAX]"] = llformat ("%d", mAttachmentURLsMax);
 		args_attachment_urls["[AVAILABLE]"] = llformat ("%d", attachment_urls_available);
 		std::string msg_attachment_urls = LLTrans::getString("ScriptLimitsURLsUsed", args_attachment_urls);
-		childSetValue("urls_used", LLSD(msg_attachment_urls));
+		getChild<LLUICtrl>("urls_used")->setValue(LLSD(msg_attachment_urls));
 	}
 }
 
diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp
index 76caa0cf9193cffefd1e5dae811b794693c0a9a0..381b2dee3324b4d43b57a570e195fdcd934ad617 100644
--- a/indra/newview/llfloatersearch.cpp
+++ b/indra/newview/llfloatersearch.cpp
@@ -128,11 +128,11 @@ void LLFloaterSearch::handleMediaEvent(LLPluginClassMedia *self, EMediaEvent eve
 	switch (event) 
 	{
 	case MEDIA_EVENT_NAVIGATE_BEGIN:
-		childSetText("status_text", getString("loading_text"));
+		getChild<LLUICtrl>("status_text")->setValue(getString("loading_text"));
 		break;
 		
 	case MEDIA_EVENT_NAVIGATE_COMPLETE:
-		childSetText("status_text", getString("done_text"));
+		getChild<LLUICtrl>("status_text")->setValue(getString("done_text"));
 		break;
 
 	default:
@@ -146,7 +146,7 @@ void LLFloaterSearch::godLevelChanged(U8 godlevel)
 	// changes god level, then give them a warning (we don't refresh
 	// the search as this might undo any page navigation or
 	// AJAX-driven changes since the last search).
-	childSetVisible("refresh_search", (godlevel != mSearchGodLevel));
+	getChildView("refresh_search")->setVisible( (godlevel != mSearchGodLevel));
 }
 
 void LLFloaterSearch::search(const LLSD &key)
@@ -157,7 +157,7 @@ void LLFloaterSearch::search(const LLSD &key)
 	}
 
 	// reset the god level warning as we're sending the latest state
-	childHide("refresh_search");
+	getChildView("refresh_search")->setVisible(FALSE);
 	mSearchGodLevel = gAgent.getGodLevel();
 
 	// work out the subdir to use based on the requested category
diff --git a/indra/newview/llfloatersellland.cpp b/indra/newview/llfloatersellland.cpp
index 9dddbd998af6af42914c595aa466feabe20fbe10..b10a297bb84e2a7a7d0f4158eae61dd3b471a46c 100644
--- a/indra/newview/llfloatersellland.cpp
+++ b/indra/newview/llfloatersellland.cpp
@@ -163,7 +163,7 @@ BOOL LLFloaterSellLandUI::postBuild()
 {
 	childSetCommitCallback("sell_to", onChangeValue, this);
 	childSetCommitCallback("price", onChangeValue, this);
-	childSetPrevalidate("price", LLTextValidate::validateNonNegativeS32);
+	getChild<LLLineEditor>("price")->setPrevalidate(LLTextValidate::validateNonNegativeS32);
 	childSetCommitCallback("sell_objects", onChangeValue, this);
 	childSetAction("sell_to_select_agent", boost::bind( &LLFloaterSellLandUI::doSelectAgent, this));
 	childSetAction("cancel_btn", doCancel, this);
@@ -207,20 +207,20 @@ void LLFloaterSellLandUI::updateParcelInfo()
 	mParcelSoldWithObjects = parcelp->getSellWithObjects();
 	if (mParcelIsForSale)
 	{
-		childSetValue("price", mParcelPrice);
+		getChild<LLUICtrl>("price")->setValue(mParcelPrice);
 		if (mParcelSoldWithObjects)
 		{
-			childSetValue("sell_objects", "yes");
+			getChild<LLUICtrl>("sell_objects")->setValue("yes");
 		}
 		else
 		{
-			childSetValue("sell_objects", "no");
+			getChild<LLUICtrl>("sell_objects")->setValue("no");
 		}
 	}
 	else
 	{
-		childSetValue("price", "");
-		childSetValue("sell_objects", "none");
+		getChild<LLUICtrl>("price")->setValue("");
+		getChild<LLUICtrl>("sell_objects")->setValue("none");
 	}
 
 	mParcelSnapshot = parcelp->getSnapshotID();
@@ -232,7 +232,7 @@ void LLFloaterSellLandUI::updateParcelInfo()
 	{
 		std::string name;
 		gCacheName->getFullName(mAuthorizedBuyer, name);
-		childSetText("sell_to_agent", name);
+		getChild<LLUICtrl>("sell_to_agent")->setValue(name);
 	}
 }
 
@@ -253,7 +253,7 @@ void LLFloaterSellLandUI::setBadge(const char* id, Badge badge)
 		case BADGE_ERROR:	badgeName = badgeError;	break;
 	}
 	
-	childSetValue(id, badgeName);
+	getChild<LLUICtrl>(id)->setValue(badgeName);
 }
 
 void LLFloaterSellLandUI::refreshUI()
@@ -264,10 +264,10 @@ void LLFloaterSellLandUI::refreshUI()
 	LLTextureCtrl* snapshot = getChild<LLTextureCtrl>("info_image");
 	snapshot->setImageAssetID(mParcelSnapshot);
 
-	childSetText("info_parcel", parcelp->getName());
-	childSetTextArg("info_size", "[AREA]", llformat("%d", mParcelActualArea));
+	getChild<LLUICtrl>("info_parcel")->setValue(parcelp->getName());
+	getChild<LLUICtrl>("info_size")->setTextArg("[AREA]", llformat("%d", mParcelActualArea));
 
-	std::string price_str = childGetValue("price").asString();
+	std::string price_str = getChild<LLUICtrl>("price")->getValue().asString();
 	bool valid_price = false;
 	valid_price = (price_str != "") && LLTextValidate::validateNonNegativeS32(utf8str_to_wstring(price_str));
 
@@ -275,14 +275,14 @@ void LLFloaterSellLandUI::refreshUI()
 	{
 		F32 per_meter_price = 0;
 		per_meter_price = F32(mParcelPrice) / F32(mParcelActualArea);
-		childSetTextArg("price_per_m", "[PER_METER]", llformat("%0.2f", per_meter_price));
-		childShow("price_per_m");
+		getChild<LLUICtrl>("price_per_m")->setTextArg("[PER_METER]", llformat("%0.2f", per_meter_price));
+		getChildView("price_per_m")->setVisible(TRUE);
 
 		setBadge("step_price", BADGE_OK);
 	}
 	else
 	{
-		childHide("price_per_m");
+		getChildView("price_per_m")->setVisible(FALSE);
 
 		if ("" == price_str)
 		{
@@ -296,26 +296,26 @@ void LLFloaterSellLandUI::refreshUI()
 
 	if (mSellToBuyer)
 	{
-		childSetValue("sell_to", "user");
-		childShow("sell_to_agent");
-		childShow("sell_to_select_agent");
+		getChild<LLUICtrl>("sell_to")->setValue("user");
+		getChildView("sell_to_agent")->setVisible(TRUE);
+		getChildView("sell_to_select_agent")->setVisible(TRUE);
 	}
 	else
 	{
 		if (mChoseSellTo)
 		{
-			childSetValue("sell_to", "anyone");
+			getChild<LLUICtrl>("sell_to")->setValue("anyone");
 		}
 		else
 		{
-			childSetValue("sell_to", "select");
+			getChild<LLUICtrl>("sell_to")->setValue("select");
 		}
-		childHide("sell_to_agent");
-		childHide("sell_to_select_agent");
+		getChildView("sell_to_agent")->setVisible(FALSE);
+		getChildView("sell_to_select_agent")->setVisible(FALSE);
 	}
 
 	// Must select Sell To: Anybody, or User (with a specified username)
-	std::string sell_to = childGetValue("sell_to").asString();
+	std::string sell_to = getChild<LLUICtrl>("sell_to")->getValue().asString();
 	bool valid_sell_to = "select" != sell_to &&
 		("user" != sell_to || mAuthorizedBuyer.notNull());
 
@@ -328,7 +328,7 @@ void LLFloaterSellLandUI::refreshUI()
 		setBadge("step_sell_to", BADGE_OK);
 	}
 
-	bool valid_sell_objects = ("none" != childGetValue("sell_objects").asString());
+	bool valid_sell_objects = ("none" != getChild<LLUICtrl>("sell_objects")->getValue().asString());
 
 	if (!valid_sell_objects)
 	{
@@ -341,11 +341,11 @@ void LLFloaterSellLandUI::refreshUI()
 
 	if (valid_sell_to && valid_price && valid_sell_objects)
 	{
-		childEnable("sell_btn");
+		getChildView("sell_btn")->setEnabled(TRUE);
 	}
 	else
 	{
-		childDisable("sell_btn");
+		getChildView("sell_btn")->setEnabled(FALSE);
 	}
 }
 
@@ -354,7 +354,7 @@ void LLFloaterSellLandUI::onChangeValue(LLUICtrl *ctrl, void *userdata)
 {
 	LLFloaterSellLandUI *self = (LLFloaterSellLandUI *)userdata;
 
-	std::string sell_to = self->childGetValue("sell_to").asString();
+	std::string sell_to = self->getChild<LLUICtrl>("sell_to")->getValue().asString();
 
 	if (sell_to == "user")
 	{
@@ -371,9 +371,9 @@ void LLFloaterSellLandUI::onChangeValue(LLUICtrl *ctrl, void *userdata)
 		self->mSellToBuyer = false;
 	}
 
-	self->mParcelPrice = self->childGetValue("price");
+	self->mParcelPrice = self->getChild<LLUICtrl>("price")->getValue();
 
-	if ("yes" == self->childGetValue("sell_objects").asString())
+	if ("yes" == self->getChild<LLUICtrl>("sell_objects")->getValue().asString())
 	{
 		self->mParcelSoldWithObjects = true;
 	}
@@ -402,7 +402,7 @@ void LLFloaterSellLandUI::callbackAvatarPick(const std::vector<std::string>& nam
 
 	mAuthorizedBuyer = ids[0];
 
-	childSetText("sell_to_agent", names[0]);
+	getChild<LLUICtrl>("sell_to_agent")->setValue(names[0]);
 
 	refreshUI();
 }
@@ -445,13 +445,13 @@ void LLFloaterSellLandUI::doSellLand(void *userdata)
 	LLParcel* parcel = self->mParcelSelection->getParcel();
 
 	// Do a confirmation
-	S32 sale_price = self->childGetValue("price");
+	S32 sale_price = self->getChild<LLUICtrl>("price")->getValue();
 	S32 area = parcel->getArea();
 	std::string authorizedBuyerName = "Anyone";
 	bool sell_to_anyone = true;
-	if ("user" == self->childGetValue("sell_to").asString())
+	if ("user" == self->getChild<LLUICtrl>("sell_to")->getValue().asString())
 	{
-		authorizedBuyerName = self->childGetText("sell_to_agent");
+		authorizedBuyerName = self->getChild<LLUICtrl>("sell_to_agent")->getValue().asString();
 		sell_to_anyone = false;
 	}
 
@@ -498,7 +498,7 @@ bool LLFloaterSellLandUI::onConfirmSale(const LLSD& notification, const LLSD& re
 	{
 		return false;
 	}
-	S32  sale_price	= childGetValue("price");
+	S32  sale_price	= getChild<LLUICtrl>("price")->getValue();
 
 	// Valid extracted data
 	if (sale_price < 0)
@@ -520,12 +520,12 @@ bool LLFloaterSellLandUI::onConfirmSale(const LLSD& notification, const LLSD& re
 	parcel->setParcelFlag(PF_FOR_SALE, TRUE);
 	parcel->setSalePrice(sale_price);
 	bool sell_with_objects = false;
-	if ("yes" == childGetValue("sell_objects").asString())
+	if ("yes" == getChild<LLUICtrl>("sell_objects")->getValue().asString())
 	{
 		sell_with_objects = true;
 	}
 	parcel->setSellWithObjects(sell_with_objects);
-	if ("user" == childGetValue("sell_to").asString())
+	if ("user" == getChild<LLUICtrl>("sell_to")->getValue().asString())
 	{
 		parcel->setAuthorizedBuyerID(mAuthorizedBuyer);
 	}
diff --git a/indra/newview/llfloatersettingsdebug.cpp b/indra/newview/llfloatersettingsdebug.cpp
index a6ffa5ec09d699a2a8ee298b277498f10079d67d..77e0e4e6770235798664407a1c8ea8bd20835731 100644
--- a/indra/newview/llfloatersettingsdebug.cpp
+++ b/indra/newview/llfloatersettingsdebug.cpp
@@ -127,49 +127,49 @@ void LLFloaterSettingsDebug::onCommitSettings()
 	switch(controlp->type())
 	{		
 	  case TYPE_U32:
-		controlp->set(childGetValue("val_spinner_1"));
+		controlp->set(getChild<LLUICtrl>("val_spinner_1")->getValue());
 		break;
 	  case TYPE_S32:
-		controlp->set(childGetValue("val_spinner_1"));
+		controlp->set(getChild<LLUICtrl>("val_spinner_1")->getValue());
 		break;
 	  case TYPE_F32:
-		controlp->set(LLSD(childGetValue("val_spinner_1").asReal()));
+		controlp->set(LLSD(getChild<LLUICtrl>("val_spinner_1")->getValue().asReal()));
 		break;
 	  case TYPE_BOOLEAN:
-		controlp->set(childGetValue("boolean_combo"));
+		controlp->set(getChild<LLUICtrl>("boolean_combo")->getValue());
 		break;
 	  case TYPE_STRING:
-		controlp->set(LLSD(childGetValue("val_text").asString()));
+		controlp->set(LLSD(getChild<LLUICtrl>("val_text")->getValue().asString()));
 		break;
 	  case TYPE_VEC3:
-		vector.mV[VX] = (F32)childGetValue("val_spinner_1").asReal();
-		vector.mV[VY] = (F32)childGetValue("val_spinner_2").asReal();
-		vector.mV[VZ] = (F32)childGetValue("val_spinner_3").asReal();
+		vector.mV[VX] = (F32)getChild<LLUICtrl>("val_spinner_1")->getValue().asReal();
+		vector.mV[VY] = (F32)getChild<LLUICtrl>("val_spinner_2")->getValue().asReal();
+		vector.mV[VZ] = (F32)getChild<LLUICtrl>("val_spinner_3")->getValue().asReal();
 		controlp->set(vector.getValue());
 		break;
 	  case TYPE_VEC3D:
-		vectord.mdV[VX] = childGetValue("val_spinner_1").asReal();
-		vectord.mdV[VY] = childGetValue("val_spinner_2").asReal();
-		vectord.mdV[VZ] = childGetValue("val_spinner_3").asReal();
+		vectord.mdV[VX] = getChild<LLUICtrl>("val_spinner_1")->getValue().asReal();
+		vectord.mdV[VY] = getChild<LLUICtrl>("val_spinner_2")->getValue().asReal();
+		vectord.mdV[VZ] = getChild<LLUICtrl>("val_spinner_3")->getValue().asReal();
 		controlp->set(vectord.getValue());
 		break;
 	  case TYPE_RECT:
-		rect.mLeft = childGetValue("val_spinner_1").asInteger();
-		rect.mRight = childGetValue("val_spinner_2").asInteger();
-		rect.mBottom = childGetValue("val_spinner_3").asInteger();
-		rect.mTop = childGetValue("val_spinner_4").asInteger();
+		rect.mLeft = getChild<LLUICtrl>("val_spinner_1")->getValue().asInteger();
+		rect.mRight = getChild<LLUICtrl>("val_spinner_2")->getValue().asInteger();
+		rect.mBottom = getChild<LLUICtrl>("val_spinner_3")->getValue().asInteger();
+		rect.mTop = getChild<LLUICtrl>("val_spinner_4")->getValue().asInteger();
 		controlp->set(rect.getValue());
 		break;
 	  case TYPE_COL4:
-		col3.setValue(childGetValue("val_color_swatch"));
-		col4 = LLColor4(col3, (F32)childGetValue("val_spinner_4").asReal());
+		col3.setValue(getChild<LLUICtrl>("val_color_swatch")->getValue());
+		col4 = LLColor4(col3, (F32)getChild<LLUICtrl>("val_spinner_4")->getValue().asReal());
 		controlp->set(col4.getValue());
 		break;
 	  case TYPE_COL3:
-		controlp->set(childGetValue("val_color_swatch"));
-		//col3.mV[VRED] = (F32)floaterp->childGetValue("val_spinner_1").asC();
-		//col3.mV[VGREEN] = (F32)floaterp->childGetValue("val_spinner_2").asReal();
-		//col3.mV[VBLUE] = (F32)floaterp->childGetValue("val_spinner_3").asReal();
+		controlp->set(getChild<LLUICtrl>("val_color_swatch")->getValue());
+		//col3.mV[VRED] = (F32)floaterp->getChild<LLUICtrl>("val_spinner_1")->getValue().asC();
+		//col3.mV[VGREEN] = (F32)floaterp->getChild<LLUICtrl>("val_spinner_2")->getValue().asReal();
+		//col3.mV[VBLUE] = (F32)floaterp->getChild<LLUICtrl>("val_spinner_3")->getValue().asReal();
 		//controlp->set(col3.getValue());
 		break;
 	  default:
@@ -211,7 +211,7 @@ void LLFloaterSettingsDebug::updateControl(LLControlVariable* controlp)
 	spinner3->setVisible(FALSE);
 	spinner4->setVisible(FALSE);
 	color_swatch->setVisible(FALSE);
-	childSetVisible("val_text", FALSE);
+	getChildView("val_text")->setVisible( FALSE);
 	mComment->setText(LLStringUtil::null);
 
 	if (controlp)
@@ -219,7 +219,7 @@ void LLFloaterSettingsDebug::updateControl(LLControlVariable* controlp)
 		eControlType type = controlp->type();
 
 		//hide combo box only for non booleans, otherwise this will result in the combo box closing every frame
-		childSetVisible("boolean_combo", type == TYPE_BOOLEAN);
+		getChildView("boolean_combo")->setVisible( type == TYPE_BOOLEAN);
 		
 
 		mComment->setText(controlp->getComment());
@@ -285,23 +285,23 @@ void LLFloaterSettingsDebug::updateControl(LLControlVariable* controlp)
 			}
 			break;
 		  case TYPE_BOOLEAN:
-			if (!childHasFocus("boolean_combo"))
+			if (!getChild<LLUICtrl>("boolean_combo")->hasFocus())
 			{
 				if (sd.asBoolean())
 				{
-					childSetValue("boolean_combo", LLSD("true"));
+					getChild<LLUICtrl>("boolean_combo")->setValue(LLSD("true"));
 				}
 				else
 				{
-					childSetValue("boolean_combo", LLSD(""));
+					getChild<LLUICtrl>("boolean_combo")->setValue(LLSD(""));
 				}
 			}
 			break;
 		  case TYPE_STRING:
-			childSetVisible("val_text", TRUE);
-			if (!childHasFocus("val_text"))
+			getChildView("val_text")->setVisible( TRUE);
+			if (!getChild<LLUICtrl>("val_text")->hasFocus())
 			{
-				childSetValue("val_text", sd);
+				getChild<LLUICtrl>("val_text")->setValue(sd);
 			}
 			break;
 		  case TYPE_VEC3:
diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp
index 43ea6143b10512a6ecdea04c5de4154b55cab19d..e8a89bb70551fdbcc353d61055ebddd533b2bb56 100644
--- a/indra/newview/llfloatersnapshot.cpp
+++ b/indra/newview/llfloatersnapshot.cpp
@@ -1141,7 +1141,7 @@ LLSnapshotLivePreview* LLFloaterSnapshot::Impl::getPreviewView(LLFloaterSnapshot
 LLSnapshotLivePreview::ESnapshotType LLFloaterSnapshot::Impl::getTypeIndex(LLFloaterSnapshot* floater)
 {
 	LLSnapshotLivePreview::ESnapshotType index = LLSnapshotLivePreview::SNAPSHOT_POSTCARD;
-	LLSD value = floater->childGetValue("snapshot_type_radio");
+	LLSD value = floater->getChild<LLUICtrl>("snapshot_type_radio")->getValue();
 
 	const std::string id = value.asString();
 	if (id == "postcard")
@@ -1211,7 +1211,7 @@ LLFloaterSnapshot::ESnapshotFormat LLFloaterSnapshot::Impl::getFormatIndex(LLFlo
 LLViewerWindow::ESnapshotType LLFloaterSnapshot::Impl::getLayerType(LLFloaterSnapshot* floater)
 {
 	LLViewerWindow::ESnapshotType type = LLViewerWindow::SNAPSHOT_TYPE_COLOR;
-	LLSD value = floater->childGetValue("layer_types");
+	LLSD value = floater->getChild<LLUICtrl>("layer_types")->getValue();
 	const std::string id = value.asString();
 	if (id == "colors")
 		type = LLViewerWindow::SNAPSHOT_TYPE_COLOR;
@@ -1254,7 +1254,7 @@ void LLFloaterSnapshot::Impl::updateLayout(LLFloaterSnapshot* floaterp)
 		previewp->setSize(gViewerWindow->getWindowWidthRaw(), gViewerWindow->getWindowHeightRaw());
 	}
 
-	bool use_freeze_frame = floaterp->childGetValue("freeze_frame_check").asBoolean();
+	bool use_freeze_frame = floaterp->getChild<LLUICtrl>("freeze_frame_check")->getValue().asBoolean();
 
 	if (use_freeze_frame)
 	{
@@ -1328,11 +1328,11 @@ void LLFloaterSnapshot::Impl::updateControls(LLFloaterSnapshot* floater)
 	ESnapshotFormat shot_format = (ESnapshotFormat)gSavedSettings.getS32("SnapshotFormat");
 	LLViewerWindow::ESnapshotType layer_type = getLayerType(floater);
 
-	floater->childSetVisible("share_to_web", gSavedSettings.getBOOL("SnapshotSharingEnabled"));
+	floater->getChildView("share_to_web")->setVisible( gSavedSettings.getBOOL("SnapshotSharingEnabled"));
 
-	floater->childSetVisible("postcard_size_combo", FALSE);
-	floater->childSetVisible("texture_size_combo", FALSE);
-	floater->childSetVisible("local_size_combo", FALSE);
+	floater->getChildView("postcard_size_combo")->setVisible( FALSE);
+	floater->getChildView("texture_size_combo")->setVisible( FALSE);
+	floater->getChildView("local_size_combo")->setVisible( FALSE);
 
 	floater->getChild<LLComboBox>("postcard_size_combo")->selectNthItem(gSavedSettings.getS32("SnapshotPostcardLastResolution"));
 	floater->getChild<LLComboBox>("texture_size_combo")->selectNthItem(gSavedSettings.getS32("SnapshotTextureLastResolution"));
@@ -1340,12 +1340,12 @@ void LLFloaterSnapshot::Impl::updateControls(LLFloaterSnapshot* floater)
 	floater->getChild<LLComboBox>("local_format_combo")->selectNthItem(gSavedSettings.getS32("SnapshotFormat"));
 
 	// *TODO: Separate settings for Web images from postcards
-	floater->childSetVisible("send_btn",			shot_type == LLSnapshotLivePreview::SNAPSHOT_POSTCARD ||
+	floater->getChildView("send_btn")->setVisible(	shot_type == LLSnapshotLivePreview::SNAPSHOT_POSTCARD ||
 													shot_type == LLSnapshotLivePreview::SNAPSHOT_WEB);
-	floater->childSetVisible("upload_btn",			shot_type == LLSnapshotLivePreview::SNAPSHOT_TEXTURE);
-	floater->childSetVisible("save_btn",			shot_type == LLSnapshotLivePreview::SNAPSHOT_LOCAL);
-	floater->childSetEnabled("keep_aspect_check",	shot_type != LLSnapshotLivePreview::SNAPSHOT_TEXTURE && !floater->impl.mAspectRatioCheckOff);
-	floater->childSetEnabled("layer_types",			shot_type == LLSnapshotLivePreview::SNAPSHOT_LOCAL);
+	floater->getChildView("upload_btn")->setVisible(shot_type == LLSnapshotLivePreview::SNAPSHOT_TEXTURE);
+	floater->getChildView("save_btn")->setVisible(	shot_type == LLSnapshotLivePreview::SNAPSHOT_LOCAL);
+	floater->getChildView("keep_aspect_check")->setEnabled(shot_type != LLSnapshotLivePreview::SNAPSHOT_TEXTURE && !floater->impl.mAspectRatioCheckOff);
+	floater->getChildView("layer_types")->setEnabled(shot_type == LLSnapshotLivePreview::SNAPSHOT_LOCAL);
 
 	BOOL is_advance = gSavedSettings.getBOOL("AdvanceSnapshot");
 	BOOL is_local = shot_type == LLSnapshotLivePreview::SNAPSHOT_LOCAL;
@@ -1353,33 +1353,33 @@ void LLFloaterSnapshot::Impl::updateControls(LLFloaterSnapshot* floater)
 						shot_type == LLSnapshotLivePreview::SNAPSHOT_WEB ||
 					   (is_local && shot_format == LLFloaterSnapshot::SNAPSHOT_FORMAT_JPEG));
 
-	floater->childSetVisible("more_btn", !is_advance); // the only item hidden in advanced mode
-	floater->childSetVisible("less_btn",				is_advance);
-	floater->childSetVisible("type_label2",				is_advance);
-	floater->childSetVisible("format_label",			is_advance && is_local);
-	floater->childSetVisible("local_format_combo",		is_advance && is_local);
-	floater->childSetVisible("layer_types",				is_advance);
-	floater->childSetVisible("layer_type_label",		is_advance);
-	floater->childSetVisible("snapshot_width",			is_advance);
-	floater->childSetVisible("snapshot_height",			is_advance);
-	floater->childSetVisible("keep_aspect_check",		is_advance);
-	floater->childSetVisible("ui_check",				is_advance);
-	floater->childSetVisible("hud_check",				is_advance);
-	floater->childSetVisible("keep_open_check",			is_advance);
-	floater->childSetVisible("freeze_frame_check",		is_advance);
-	floater->childSetVisible("auto_snapshot_check",		is_advance);
-	floater->childSetVisible("image_quality_slider",	is_advance && show_slider);
+	floater->getChildView("more_btn")->setVisible( !is_advance); // the only item hidden in advanced mode
+	floater->getChildView("less_btn")->setVisible(				is_advance);
+	floater->getChildView("type_label2")->setVisible(				is_advance);
+	floater->getChildView("format_label")->setVisible(			is_advance && is_local);
+	floater->getChildView("local_format_combo")->setVisible(		is_advance && is_local);
+	floater->getChildView("layer_types")->setVisible(				is_advance);
+	floater->getChildView("layer_type_label")->setVisible(		is_advance);
+	floater->getChildView("snapshot_width")->setVisible(			is_advance);
+	floater->getChildView("snapshot_height")->setVisible(			is_advance);
+	floater->getChildView("keep_aspect_check")->setVisible(		is_advance);
+	floater->getChildView("ui_check")->setVisible(				is_advance);
+	floater->getChildView("hud_check")->setVisible(				is_advance);
+	floater->getChildView("keep_open_check")->setVisible(			is_advance);
+	floater->getChildView("freeze_frame_check")->setVisible(		is_advance);
+	floater->getChildView("auto_snapshot_check")->setVisible(		is_advance);
+	floater->getChildView("image_quality_slider")->setVisible(	is_advance && show_slider);
 
 	LLSnapshotLivePreview* previewp = getPreviewView(floater);
 	BOOL got_bytes = previewp && previewp->getDataSize() > 0;
 	BOOL got_snap = previewp && previewp->getSnapshotUpToDate();
 
 	// *TODO: Separate maximum size for Web images from postcards
-	floater->childSetEnabled("send_btn",   (shot_type == LLSnapshotLivePreview::SNAPSHOT_POSTCARD ||
+	floater->getChildView("send_btn")->setEnabled((shot_type == LLSnapshotLivePreview::SNAPSHOT_POSTCARD ||
 											shot_type == LLSnapshotLivePreview::SNAPSHOT_WEB) &&
 											got_snap && previewp->getDataSize() <= MAX_POSTCARD_DATASIZE);
-	floater->childSetEnabled("upload_btn", shot_type == LLSnapshotLivePreview::SNAPSHOT_TEXTURE  && got_snap);
-	floater->childSetEnabled("save_btn",   shot_type == LLSnapshotLivePreview::SNAPSHOT_LOCAL    && got_snap);
+	floater->getChildView("upload_btn")->setEnabled(shot_type == LLSnapshotLivePreview::SNAPSHOT_TEXTURE  && got_snap);
+	floater->getChildView("save_btn")->setEnabled(shot_type == LLSnapshotLivePreview::SNAPSHOT_LOCAL    && got_snap);
 
 	LLLocale locale(LLLocale::USER_LOCALE);
 	std::string bytes_string;
@@ -1388,10 +1388,10 @@ void LLFloaterSnapshot::Impl::updateControls(LLFloaterSnapshot* floater)
 		LLResMgr::getInstance()->getIntegerString(bytes_string, (previewp->getDataSize()) >> 10 );
 	}
 	S32 upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload();
-	floater->childSetLabelArg("texture", "[AMOUNT]", llformat("%d",upload_cost));
-	floater->childSetLabelArg("upload_btn", "[AMOUNT]", llformat("%d",upload_cost));
-	floater->childSetTextArg("file_size_label", "[SIZE]", got_snap ? bytes_string : floater->getString("unknown"));
-	floater->childSetColor("file_size_label", 
+	floater->getChild<LLUICtrl>("texture")->setLabelArg("[AMOUNT]", llformat("%d",upload_cost));
+	floater->getChild<LLUICtrl>("upload_btn")->setLabelArg("[AMOUNT]", llformat("%d",upload_cost));
+	floater->getChild<LLUICtrl>("file_size_label")->setTextArg("[SIZE]", got_snap ? bytes_string : floater->getString("unknown"));
+	floater->getChild<LLUICtrl>("file_size_label")->setColor(
 		shot_type == LLSnapshotLivePreview::SNAPSHOT_POSTCARD 
 		&& got_bytes
 		&& previewp->getDataSize() > MAX_POSTCARD_DATASIZE ? LLUIColor(LLColor4::red) : LLUIColorTable::instance().getColor( "LabelTextColor" ));
@@ -1402,7 +1402,7 @@ void LLFloaterSnapshot::Impl::updateControls(LLFloaterSnapshot* floater)
 	  case LLSnapshotLivePreview::SNAPSHOT_WEB:
 	  case LLSnapshotLivePreview::SNAPSHOT_POSTCARD:
 		layer_type = LLViewerWindow::SNAPSHOT_TYPE_COLOR;
-		floater->childSetValue("layer_types", "colors");
+		floater->getChild<LLUICtrl>("layer_types")->setValue("colors");
 		if(is_advance)
 		{			
 			setResolution(floater, "postcard_size_combo");
@@ -1410,7 +1410,7 @@ void LLFloaterSnapshot::Impl::updateControls(LLFloaterSnapshot* floater)
 		break;
 	  case LLSnapshotLivePreview::SNAPSHOT_TEXTURE:
 		layer_type = LLViewerWindow::SNAPSHOT_TYPE_COLOR;
-		floater->childSetValue("layer_types", "colors");
+		floater->getChild<LLUICtrl>("layer_types")->setValue("colors");
 		if(is_advance)
 		{
 			setResolution(floater, "texture_size_combo");			
@@ -1710,7 +1710,7 @@ void LLFloaterSnapshot::Impl::checkAspectRatio(LLFloaterSnapshot *view, S32 inde
 	if(0 == index) //current window size
 	{
 		view->impl.mAspectRatioCheckOff = true ;
-		view->childSetEnabled("keep_aspect_check", FALSE) ;
+		view->getChildView("keep_aspect_check")->setEnabled(FALSE) ;
 
 		if(previewp)
 		{
@@ -1722,7 +1722,7 @@ void LLFloaterSnapshot::Impl::checkAspectRatio(LLFloaterSnapshot *view, S32 inde
 		view->impl.mAspectRatioCheckOff = false ;
 		//if(LLSnapshotLivePreview::SNAPSHOT_TEXTURE != gSavedSettings.getS32("LastSnapshotType"))
 		{
-			view->childSetEnabled("keep_aspect_check", TRUE) ;
+			view->getChildView("keep_aspect_check")->setEnabled(TRUE) ;
 
 			if(previewp)
 			{
@@ -1733,7 +1733,7 @@ void LLFloaterSnapshot::Impl::checkAspectRatio(LLFloaterSnapshot *view, S32 inde
 	else
 	{
 		view->impl.mAspectRatioCheckOff = true ;
-		view->childSetEnabled("keep_aspect_check", FALSE) ;
+		view->getChildView("keep_aspect_check")->setEnabled(FALSE) ;
 
 		if(previewp)
 		{
@@ -1822,10 +1822,10 @@ void LLFloaterSnapshot::Impl::updateResolution(LLUICtrl* ctrl, void* data, BOOL
 			resetSnapshotSizeOnUI(view, width, height) ;
 		}
 		
-		if(view->childGetValue("snapshot_width").asInteger() != width || view->childGetValue("snapshot_height").asInteger() != height)
+		if(view->getChild<LLUICtrl>("snapshot_width")->getValue().asInteger() != width || view->getChild<LLUICtrl>("snapshot_height")->getValue().asInteger() != height)
 		{
-			view->childSetValue("snapshot_width", width);
-			view->childSetValue("snapshot_height", height);
+			view->getChild<LLUICtrl>("snapshot_width")->setValue(width);
+			view->getChild<LLUICtrl>("snapshot_height")->setValue(height);
 		}
 
 		if(original_width != width || original_height != height)
@@ -2008,8 +2008,8 @@ void LLFloaterSnapshot::Impl::onCommitCustomResolution(LLUICtrl *ctrl, void* dat
 	LLFloaterSnapshot *view = (LLFloaterSnapshot *)data;		
 	if (view)
 	{
-		S32 w = llfloor((F32)view->childGetValue("snapshot_width").asReal());
-		S32 h = llfloor((F32)view->childGetValue("snapshot_height").asReal());
+		S32 w = llfloor((F32)view->getChild<LLUICtrl>("snapshot_width")->getValue().asReal());
+		S32 h = llfloor((F32)view->getChild<LLUICtrl>("snapshot_height")->getValue().asReal());
 
 		LLSnapshotLivePreview* previewp = getPreviewView(view);
 		if (previewp)
@@ -2118,34 +2118,34 @@ BOOL LLFloaterSnapshot::postBuild()
 	childSetAction("discard_btn", Impl::onClickDiscard, this);
 
 	childSetCommitCallback("image_quality_slider", Impl::onCommitQuality, this);
-	childSetValue("image_quality_slider", gSavedSettings.getS32("SnapshotQuality"));
+	getChild<LLUICtrl>("image_quality_slider")->setValue(gSavedSettings.getS32("SnapshotQuality"));
 
 	childSetCommitCallback("snapshot_width", Impl::onCommitCustomResolution, this);
 	childSetCommitCallback("snapshot_height", Impl::onCommitCustomResolution, this);
 
 	childSetCommitCallback("ui_check", Impl::onClickUICheck, this);
-	childSetValue("ui_check", gSavedSettings.getBOOL("RenderUIInSnapshot"));
+	getChild<LLUICtrl>("ui_check")->setValue(gSavedSettings.getBOOL("RenderUIInSnapshot"));
 
 	childSetCommitCallback("hud_check", Impl::onClickHUDCheck, this);
-	childSetValue("hud_check", gSavedSettings.getBOOL("RenderHUDInSnapshot"));
+	getChild<LLUICtrl>("hud_check")->setValue(gSavedSettings.getBOOL("RenderHUDInSnapshot"));
 
 	childSetCommitCallback("keep_open_check", Impl::onClickKeepOpenCheck, this);
-	childSetValue("keep_open_check", !gSavedSettings.getBOOL("CloseSnapshotOnKeep"));
+	getChild<LLUICtrl>("keep_open_check")->setValue(!gSavedSettings.getBOOL("CloseSnapshotOnKeep"));
 
 	childSetCommitCallback("keep_aspect_check", Impl::onClickKeepAspectCheck, this);
-	childSetValue("keep_aspect_check", gSavedSettings.getBOOL("KeepAspectForSnapshot"));
+	getChild<LLUICtrl>("keep_aspect_check")->setValue(gSavedSettings.getBOOL("KeepAspectForSnapshot"));
 
 	childSetCommitCallback("layer_types", Impl::onCommitLayerTypes, this);
-	childSetValue("layer_types", "colors");
-	childSetEnabled("layer_types", FALSE);
+	getChild<LLUICtrl>("layer_types")->setValue("colors");
+	getChildView("layer_types")->setEnabled(FALSE);
 
-	childSetValue("snapshot_width", gSavedSettings.getS32(lastSnapshotWidthName()));
-	childSetValue("snapshot_height", gSavedSettings.getS32(lastSnapshotHeightName()));
+	getChild<LLUICtrl>("snapshot_width")->setValue(gSavedSettings.getS32(lastSnapshotWidthName()));
+	getChild<LLUICtrl>("snapshot_height")->setValue(gSavedSettings.getS32(lastSnapshotHeightName()));
 
-	childSetValue("freeze_frame_check", gSavedSettings.getBOOL("UseFreezeFrame"));
+	getChild<LLUICtrl>("freeze_frame_check")->setValue(gSavedSettings.getBOOL("UseFreezeFrame"));
 	childSetCommitCallback("freeze_frame_check", Impl::onCommitFreezeFrame, this);
 
-	childSetValue("auto_snapshot_check", gSavedSettings.getBOOL("AutoSnapshot"));
+	getChild<LLUICtrl>("auto_snapshot_check")->setValue(gSavedSettings.getBOOL("AutoSnapshot"));
 	childSetCommitCallback("auto_snapshot_check", Impl::onClickAutoSnap, this);
 
 	childSetCommitCallback("postcard_size_combo", Impl::onCommitResolution, this);
diff --git a/indra/newview/llfloatertelehub.cpp b/indra/newview/llfloatertelehub.cpp
index 816181643f194bffbe5cd5f957bc0d2fafcad5f5..6bd1e70f13cb3173b9bdd9c79281da842c495475 100644
--- a/indra/newview/llfloatertelehub.cpp
+++ b/indra/newview/llfloatertelehub.cpp
@@ -112,19 +112,19 @@ void LLFloaterTelehub::refresh()
 	
 	BOOL have_selection = (object != NULL);
 	BOOL all_volume = LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME );
-	childSetEnabled("connect_btn", have_selection && all_volume);
+	getChildView("connect_btn")->setEnabled(have_selection && all_volume);
 
 	BOOL have_telehub = mTelehubObjectID.notNull();
-	childSetEnabled("disconnect_btn", have_telehub);
+	getChildView("disconnect_btn")->setEnabled(have_telehub);
 
 	BOOL space_avail = (mNumSpawn < MAX_SPAWNPOINTS_PER_TELEHUB);
-	childSetEnabled("add_spawn_point_btn", have_selection && all_volume && space_avail);
+	getChildView("add_spawn_point_btn")->setEnabled(have_selection && all_volume && space_avail);
 
 	LLScrollListCtrl* list = getChild<LLScrollListCtrl>("spawn_points_list");
 	if (list)
 	{
 		BOOL enable_remove = (list->getFirstSelected() != NULL);
-		childSetEnabled("remove_spawn_point_btn", enable_remove);
+		getChildView("remove_spawn_point_btn")->setEnabled(enable_remove);
 	}
 }
 
@@ -255,18 +255,18 @@ void LLFloaterTelehub::unpackTelehubInfo(LLMessageSystem* msg)
 
 	if (mTelehubObjectID.isNull())
 	{
-		childSetVisible("status_text_connected", false);
-		childSetVisible("status_text_not_connected", true);
-		childSetVisible("help_text_connected", false);
-		childSetVisible("help_text_not_connected", true);
+		getChildView("status_text_connected")->setVisible( false);
+		getChildView("status_text_not_connected")->setVisible( true);
+		getChildView("help_text_connected")->setVisible( false);
+		getChildView("help_text_not_connected")->setVisible( true);
 	}
 	else
 	{
-		childSetTextArg("status_text_connected", "[OBJECT]", mTelehubObjectName);
-		childSetVisible("status_text_connected", true);
-		childSetVisible("status_text_not_connected", false);
-		childSetVisible("help_text_connected", true);
-		childSetVisible("help_text_not_connected", false);
+		getChild<LLUICtrl>("status_text_connected")->setTextArg("[OBJECT]", mTelehubObjectName);
+		getChildView("status_text_connected")->setVisible( true);
+		getChildView("status_text_not_connected")->setVisible( false);
+		getChildView("help_text_connected")->setVisible( true);
+		getChildView("help_text_not_connected")->setVisible( false);
 	}
 
 	LLScrollListCtrl* list = getChild<LLScrollListCtrl>("spawn_points_list");
diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp
index 565f0619a51fc1880582d519a1e19ee04a50869e..0988588d9cfb24d4a051adcee8269c4a4bb8905e 100644
--- a/indra/newview/llfloatertools.cpp
+++ b/indra/newview/llfloatertools.cpp
@@ -228,13 +228,13 @@ BOOL	LLFloaterTools::postBuild()
 	mTitleMedia			= getChild<LLMediaCtrl>("title_media");
 	
 	mCheckSelectIndividual	= getChild<LLCheckBoxCtrl>("checkbox edit linked parts");	
-	childSetValue("checkbox edit linked parts",(BOOL)gSavedSettings.getBOOL("EditLinkedParts"));
+	getChild<LLUICtrl>("checkbox edit linked parts")->setValue((BOOL)gSavedSettings.getBOOL("EditLinkedParts"));
 	mCheckSnapToGrid		= getChild<LLCheckBoxCtrl>("checkbox snap to grid");
-	childSetValue("checkbox snap to grid",(BOOL)gSavedSettings.getBOOL("SnapEnabled"));
+	getChild<LLUICtrl>("checkbox snap to grid")->setValue((BOOL)gSavedSettings.getBOOL("SnapEnabled"));
 	mCheckStretchUniform	= getChild<LLCheckBoxCtrl>("checkbox uniform");
-	childSetValue("checkbox uniform",(BOOL)gSavedSettings.getBOOL("ScaleUniform"));
+	getChild<LLUICtrl>("checkbox uniform")->setValue((BOOL)gSavedSettings.getBOOL("ScaleUniform"));
 	mCheckStretchTexture	= getChild<LLCheckBoxCtrl>("checkbox stretch textures");
-	childSetValue("checkbox stretch textures",(BOOL)gSavedSettings.getBOOL("ScaleStretchTextures"));
+	getChild<LLUICtrl>("checkbox stretch textures")->setValue((BOOL)gSavedSettings.getBOOL("ScaleStretchTextures"));
 	mComboGridMode			= getChild<LLComboBox>("combobox grid mode");
 	mCheckStretchUniformLabel = getChild<LLTextBox>("checkbox uniform label");
 
@@ -254,21 +254,21 @@ BOOL	LLFloaterTools::postBuild()
 		}
 	}
 	mCheckCopySelection = getChild<LLCheckBoxCtrl>("checkbox copy selection");
-	childSetValue("checkbox copy selection",(BOOL)gSavedSettings.getBOOL("CreateToolCopySelection"));
+	getChild<LLUICtrl>("checkbox copy selection")->setValue((BOOL)gSavedSettings.getBOOL("CreateToolCopySelection"));
 	mCheckSticky = getChild<LLCheckBoxCtrl>("checkbox sticky");
-	childSetValue("checkbox sticky",(BOOL)gSavedSettings.getBOOL("CreateToolKeepSelected"));
+	getChild<LLUICtrl>("checkbox sticky")->setValue((BOOL)gSavedSettings.getBOOL("CreateToolKeepSelected"));
 	mCheckCopyCenters = getChild<LLCheckBoxCtrl>("checkbox copy centers");
-	childSetValue("checkbox copy centers",(BOOL)gSavedSettings.getBOOL("CreateToolCopyCenters"));
+	getChild<LLUICtrl>("checkbox copy centers")->setValue((BOOL)gSavedSettings.getBOOL("CreateToolCopyCenters"));
 	mCheckCopyRotates = getChild<LLCheckBoxCtrl>("checkbox copy rotates");
-	childSetValue("checkbox copy rotates",(BOOL)gSavedSettings.getBOOL("CreateToolCopyRotates"));
+	getChild<LLUICtrl>("checkbox copy rotates")->setValue((BOOL)gSavedSettings.getBOOL("CreateToolCopyRotates"));
 
 	mRadioGroupLand			= getChild<LLRadioGroup>("land_radio_group");
 	mBtnApplyToSelection	= getChild<LLButton>("button apply to selection");
 	mSliderDozerSize		= getChild<LLSlider>("slider brush size");
-	childSetValue( "slider brush size", gSavedSettings.getF32("LandBrushSize"));
+	getChild<LLUICtrl>("slider brush size")->setValue(gSavedSettings.getF32("LandBrushSize"));
 	mSliderDozerForce		= getChild<LLSlider>("slider force");
 	// the setting stores the actual force multiplier, but the slider is logarithmic, so we convert here
-	childSetValue( "slider force", log10(gSavedSettings.getF32("LandBrushForce")));
+	getChild<LLUICtrl>("slider force")->setValue(log10(gSavedSettings.getF32("LandBrushForce")));
 
 	mTab = getChild<LLTabContainer>("Object Info Tabs");
 	if(mTab)
@@ -421,25 +421,25 @@ void LLFloaterTools::refresh()
 	LLLocale locale(LLLocale::USER_LOCALE);
 	std::string obj_count_string;
 	LLResMgr::getInstance()->getIntegerString(obj_count_string, LLSelectMgr::getInstance()->getSelection()->getRootObjectCount());
-	childSetTextArg("obj_count",  "[COUNT]", obj_count_string);	
+	getChild<LLUICtrl>("obj_count")->setTextArg("[COUNT]", obj_count_string);	
 	std::string prim_count_string;
 	LLResMgr::getInstance()->getIntegerString(prim_count_string, LLSelectMgr::getInstance()->getSelection()->getObjectCount());
-	childSetTextArg("prim_count", "[COUNT]", prim_count_string);
+	getChild<LLUICtrl>("prim_count")->setTextArg("[COUNT]", prim_count_string);
 
 	// calculate selection rendering cost
 	if (sShowObjectCost)
 	{
 		std::string prim_cost_string;
 		LLResMgr::getInstance()->getIntegerString(prim_cost_string, calcRenderCost());
-		childSetTextArg("RenderingCost", "[COUNT]", prim_cost_string);
+		getChild<LLUICtrl>("RenderingCost")->setTextArg("[COUNT]", prim_cost_string);
 	}
 
 
 	// disable the object and prim counts if nothing selected
 	bool have_selection = ! LLSelectMgr::getInstance()->getSelection()->isEmpty();
-	childSetEnabled("obj_count", have_selection);
-	childSetEnabled("prim_count", have_selection);
-	childSetEnabled("RenderingCost", have_selection && sShowObjectCost);
+	getChildView("obj_count")->setEnabled(have_selection);
+	getChildView("prim_count")->setEnabled(have_selection);
+	getChildView("RenderingCost")->setEnabled(have_selection && sShowObjectCost);
 
 	// Refresh child tabs
 	mPanelPermissions->refresh();
@@ -507,8 +507,8 @@ void LLFloaterTools::updatePopup(LLCoordGL center, MASK mask)
 	mBtnFocus	->setToggleState( focus_visible );
 
 	mRadioGroupFocus->setVisible( focus_visible );
-	childSetVisible("slider zoom", focus_visible);
-	childSetEnabled("slider zoom", gCameraBtnZoom);
+	getChildView("slider zoom")->setVisible( focus_visible);
+	getChildView("slider zoom")->setEnabled(gCameraBtnZoom);
 
 	if (!gCameraBtnOrbit &&
 		!gCameraBtnPan &&
@@ -533,7 +533,7 @@ void LLFloaterTools::updatePopup(LLCoordGL center, MASK mask)
 	}
 
 	// multiply by correction factor because volume sliders go [0, 0.5]
-	childSetValue( "slider zoom", gAgentCamera.getCameraZoomFraction() * 0.5f);
+	getChild<LLUICtrl>("slider zoom")->setValue(gAgentCamera.getCameraZoomFraction() * 0.5f);
 
 	// Move buttons
 	BOOL move_visible = (tool == LLToolGrab::getInstance());
@@ -571,7 +571,7 @@ void LLFloaterTools::updatePopup(LLCoordGL center, MASK mask)
 	mBtnEdit	->setToggleState( edit_visible );
 	mRadioGroupEdit->setVisible( edit_visible );
 	bool linked_parts = gSavedSettings.getBOOL("EditLinkedParts");
-	childSetVisible("RenderingCost", !linked_parts && (edit_visible || focus_visible || move_visible) && sShowObjectCost);
+	getChildView("RenderingCost")->setVisible( !linked_parts && (edit_visible || focus_visible || move_visible) && sShowObjectCost);
 
 	if (mCheckSelectIndividual)
 	{
@@ -714,17 +714,17 @@ void LLFloaterTools::updatePopup(LLCoordGL center, MASK mask)
 	if (mSliderDozerSize)
 	{
 		mSliderDozerSize	->setVisible( land_visible );
-		childSetVisible("Bulldozer:", land_visible);
-		childSetVisible("Dozer Size:", land_visible);
+		getChildView("Bulldozer:")->setVisible( land_visible);
+		getChildView("Dozer Size:")->setVisible( land_visible);
 	}
 	if (mSliderDozerForce)
 	{
 		mSliderDozerForce	->setVisible( land_visible );
-		childSetVisible("Strength:", land_visible);
+		getChildView("Strength:")->setVisible( land_visible);
 	}
 
-	childSetVisible("obj_count", !land_visible);
-	childSetVisible("prim_count", !land_visible);
+	getChildView("obj_count")->setVisible( !land_visible);
+	getChildView("prim_count")->setVisible( !land_visible);
 	mTab->setVisible(!land_visible);
 	mPanelLandInfo->setVisible(land_visible);
 }
@@ -1091,7 +1091,7 @@ void LLFloaterTools::getMediaState()
 		  &&first_object->permModify() 
 	      ))
 	{
-		childSetEnabled("Add_Media",  FALSE);
+		getChildView("Add_Media")->setEnabled(FALSE);
 		media_info->clear();
 		clearMediaSettings();
 		return;
@@ -1102,7 +1102,7 @@ void LLFloaterTools::getMediaState()
 	
 	if(!has_media_capability)
 	{
-		childSetEnabled("Add_Media",  FALSE);
+		getChildView("Add_Media")->setEnabled(FALSE);
 		LL_WARNS("LLFloaterTools: media") << "Media not enabled (no capability) in this region!" << LL_ENDL;
 		clearMediaSettings();
 		return;
@@ -1194,7 +1194,7 @@ void LLFloaterTools::getMediaState()
 	// update UI depending on whether "object" (prim or face) has media
 	// and whether or not you are allowed to edit it.
 	
-	childSetEnabled("Add_Media",  editable);
+	getChildView("Add_Media")->setEnabled(editable);
 	// IF all the faces have media (or all dont have media)
 	if ( LLFloaterMediaSettings::getInstance()->mIdenticalHasMediaInfo )
 	{
@@ -1221,10 +1221,10 @@ void LLFloaterTools::getMediaState()
 			mNeedMediaTitle = false;
 		}
 		
-		childSetEnabled("media_tex",  bool_has_media && editable);
-		childSetEnabled( "edit_media", bool_has_media && LLFloaterMediaSettings::getInstance()->mIdenticalHasMediaInfo && editable );
-		childSetEnabled( "delete_media", bool_has_media && editable );
-		childSetEnabled( "add_media", ( ! bool_has_media ) && editable );
+		getChildView("media_tex")->setEnabled(bool_has_media && editable);
+		getChildView("edit_media")->setEnabled(bool_has_media && LLFloaterMediaSettings::getInstance()->mIdenticalHasMediaInfo && editable );
+		getChildView("delete_media")->setEnabled(bool_has_media && editable );
+		getChildView("add_media")->setEnabled(( ! bool_has_media ) && editable );
 			// TODO: display a list of all media on the face - use 'identical' flag
 	}
 	else // not all face has media but at least one does.
@@ -1251,10 +1251,10 @@ void LLFloaterTools::getMediaState()
 			}
 		}
 		
-		childSetEnabled("media_tex",  TRUE);
-		childSetEnabled( "edit_media", LLFloaterMediaSettings::getInstance()->mIdenticalHasMediaInfo);
-		childSetEnabled( "delete_media", TRUE);
-		childSetEnabled( "add_media", FALSE );
+		getChildView("media_tex")->setEnabled(TRUE);
+		getChildView("edit_media")->setEnabled(LLFloaterMediaSettings::getInstance()->mIdenticalHasMediaInfo);
+		getChildView("delete_media")->setEnabled(TRUE);
+		getChildView("add_media")->setEnabled(FALSE );
 	}
 	media_info->setText(media_title);
 	
diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp
index 84ea353dabe3c9eb0bbd14e9221bf0bd2be31b6c..d80f26657d85b698d6d2a6e99aae6a472306265c 100644
--- a/indra/newview/llfloatertopobjects.cpp
+++ b/indra/newview/llfloatertopobjects.cpp
@@ -98,7 +98,7 @@ LLFloaterTopObjects::~LLFloaterTopObjects()
 BOOL LLFloaterTopObjects::postBuild()
 {
 	LLScrollListCtrl *objects_list = getChild<LLScrollListCtrl>("objects_list");
-	childSetFocus("objects_list");
+	getChild<LLUICtrl>("objects_list")->setFocus(TRUE);
 	objects_list->setDoubleClickCallback(onDoubleClickObjectsList, this);
 	objects_list->setCommitOnSelectionChange(TRUE);
 
@@ -253,7 +253,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)
 		LLUIString format = getString("top_scripts_text");
 		format.setArg("[COUNT]", llformat("%d", total_count));
 		format.setArg("[TIME]", llformat("%0.1f", mtotalScore));
-		childSetValue("title_text", LLSD(format));
+		getChild<LLUICtrl>("title_text")->setValue(LLSD(format));
 	}
 	else
 	{
@@ -262,7 +262,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)
 		list->setColumnLabel("mono_time", "");
 		LLUIString format = getString("top_colliders_text");
 		format.setArg("[COUNT]", llformat("%d", total_count));
-		childSetValue("title_text", LLSD(format));
+		getChild<LLUICtrl>("title_text")->setValue(LLSD(format));
 	}
 }
 
@@ -282,13 +282,13 @@ void LLFloaterTopObjects::updateSelectionInfo()
 
 	std::string object_id_string = object_id.asString();
 
-	childSetValue("id_editor", LLSD(object_id_string));
+	getChild<LLUICtrl>("id_editor")->setValue(LLSD(object_id_string));
 	LLScrollListItem* sli = list->getFirstSelected();
 	llassert(sli);
 	if (sli)
 	{
-		childSetValue("object_name_editor", sli->getColumn(1)->getValue().asString());
-		childSetValue("owner_name_editor", sli->getColumn(2)->getValue().asString());
+		getChild<LLUICtrl>("object_name_editor")->setValue(sli->getColumn(1)->getValue().asString());
+		getChild<LLUICtrl>("owner_name_editor")->setValue(sli->getColumn(2)->getValue().asString());
 	}
 }
 
@@ -312,7 +312,7 @@ void LLFloaterTopObjects::doToObjects(int action, bool all)
 	LLViewerRegion* region = gAgent.getRegion();
 	if (!region) return;
 
-	LLCtrlListInterface *list = childGetListInterface("objects_list");
+	LLCtrlListInterface *list = getChild<LLUICtrl>("objects_list")->getListInterface();
 	if (!list || list->getItemCount() == 0) return;
 
 	uuid_vec_t::iterator id_itor;
@@ -457,14 +457,14 @@ void LLFloaterTopObjects::onRefresh()
 void LLFloaterTopObjects::onGetByObjectName()
 {
 	mFlags  = STAT_FILTER_BY_OBJECT;
-	mFilter = childGetText("object_name_editor");
+	mFilter = getChild<LLUICtrl>("object_name_editor")->getValue().asString();
 	onRefresh();
 }
 
 void LLFloaterTopObjects::onGetByOwnerName()
 {
 	mFlags  = STAT_FILTER_BY_OWNER;
-	mFilter = childGetText("owner_name_editor");
+	mFilter = getChild<LLUICtrl>("owner_name_editor")->getValue().asString();
 	onRefresh();
 }
 
diff --git a/indra/newview/llfloatertos.cpp b/indra/newview/llfloatertos.cpp
index 104827f4a3dd5061299acf9a69b8abbecb4bd6e1..b4c6f7da9ebac706c75f036ee578f7de207da87d 100644
--- a/indra/newview/llfloatertos.cpp
+++ b/indra/newview/llfloatertos.cpp
@@ -199,8 +199,8 @@ void LLFloaterTOS::draw()
 void LLFloaterTOS::updateAgree(LLUICtrl*, void* userdata )
 {
 	LLFloaterTOS* self = (LLFloaterTOS*) userdata;
-	bool agree = self->childGetValue("agree_chk").asBoolean(); 
-	self->childSetEnabled("Continue", agree);
+	bool agree = self->getChild<LLUICtrl>("agree_chk")->getValue().asBoolean(); 
+	self->getChildView("Continue")->setEnabled(agree);
 }
 
 // static
diff --git a/indra/newview/llfloateruipreview.cpp b/indra/newview/llfloateruipreview.cpp
index 1b6ef0e97a18e0365cf313392012bcc5635da037..41f4580495b3fe61b40db764214c3b9f45cb31d9 100644
--- a/indra/newview/llfloateruipreview.cpp
+++ b/indra/newview/llfloateruipreview.cpp
@@ -475,7 +475,7 @@ BOOL LLFloaterUIPreview::postBuild()
 	// Set up overlap panel
 	mOverlapPanel = getChild<LLOverlapPanel>("overlap_panel");
 
-	childSetVisible("overlap_scroll", mHighlightingOverlaps);
+	getChildView("overlap_scroll")->setVisible( mHighlightingOverlaps);
 	
 	mDelim = gDirUtilp->getDirDelimiter();	// initialize delimiter to dir sep slash
 
@@ -1699,7 +1699,7 @@ void LLFloaterUIPreview::onClickToggleOverlapping()
 		setRect(LLRect(getRect().mLeft,getRect().mTop,getRect().mRight + mOverlapPanel->getRect().getWidth(),getRect().mBottom));
 		setResizeLimits(width + mOverlapPanel->getRect().getWidth(), height);
 	}
-	childSetVisible("overlap_scroll", mHighlightingOverlaps);
+	getChildView("overlap_scroll")->setVisible( mHighlightingOverlaps);
 }
 
 void LLFloaterUIPreview::findOverlapsInChildren(LLView* parent)
diff --git a/indra/newview/llfloaterurlentry.cpp b/indra/newview/llfloaterurlentry.cpp
index 0e802e9736413f3624ce4c5600a8d4b658646977..fa871d84a629070a45ebf575d22f813584abcbd0 100644
--- a/indra/newview/llfloaterurlentry.cpp
+++ b/indra/newview/llfloaterurlentry.cpp
@@ -111,7 +111,7 @@ BOOL LLFloaterURLEntry::postBuild()
 	// clear media list button
 	LLSD parcel_history = LLURLHistory::getURLHistory("parcel");
 	bool enable_clear_button = parcel_history.size() > 0 ? true : false;
-	childSetEnabled( "clear_btn", enable_clear_button );
+	getChildView("clear_btn")->setEnabled(enable_clear_button );
 
 	// OK button
 	childSetAction("ok_btn", onBtnOK, this);
@@ -163,7 +163,7 @@ void LLFloaterURLEntry::headerFetchComplete(U32 status, const std::string& mime_
 	}
 	// Decrement the cursor
 	getWindow()->decBusyCount();
-	childSetVisible("loading_label", false);
+	getChildView("loading_label")->setVisible( false);
 	closeFloater();
 }
 
@@ -236,13 +236,13 @@ void LLFloaterURLEntry::onBtnOK( void* userdata )
 	}
 
 	// Grey the buttons until we get the header response
-	self->childSetEnabled("ok_btn", false);
-	self->childSetEnabled("cancel_btn", false);
-	self->childSetEnabled("media_entry", false);
+	self->getChildView("ok_btn")->setEnabled(false);
+	self->getChildView("cancel_btn")->setEnabled(false);
+	self->getChildView("media_entry")->setEnabled(false);
 
 	// show progress bar here?
 	getWindow()->incBusyCount();
-	self->childSetVisible("loading_label", true);
+	self->getChildView("loading_label")->setVisible( true);
 }
 
 // static
@@ -284,7 +284,7 @@ bool LLFloaterURLEntry::callback_clear_url_list(const LLSD& notification, const
 		LLURLHistory::clear("parcel");
 
 		// cleared the list so disable Clear button
-		childSetEnabled( "clear_btn", false );
+		getChildView("clear_btn")->setEnabled(false );
 	}
 	return false;
 }
diff --git a/indra/newview/llfloatervoicedevicesettings.cpp b/indra/newview/llfloatervoicedevicesettings.cpp
index 48095ff200033921c00e13e4095db7d5a7979dfb..036ef32016decb2a4f47f944783c1c5e07dec34b 100644
--- a/indra/newview/llfloatervoicedevicesettings.cpp
+++ b/indra/newview/llfloatervoicedevicesettings.cpp
@@ -103,7 +103,7 @@ void LLPanelVoiceDeviceSettings::draw()
 
 	// let user know that volume indicator is not yet available
 	bool is_in_tuning_mode = LLVoiceClient::getInstance()->inTuningMode();
-	childSetVisible("wait_text", !is_in_tuning_mode);
+	getChildView("wait_text")->setVisible( !is_in_tuning_mode);
 
 	LLPanel::draw();
 
diff --git a/indra/newview/llfloatervoiceeffect.cpp b/indra/newview/llfloatervoiceeffect.cpp
index 61fe50e3016071d294a25048bb96af5c04cdf4af..160c15bc341032d0d1eda3b312758b4fc1b23fe5 100644
--- a/indra/newview/llfloatervoiceeffect.cpp
+++ b/indra/newview/llfloatervoiceeffect.cpp
@@ -66,7 +66,7 @@ BOOL LLFloaterVoiceEffect::postBuild()
 {
 	setDefaultBtn("record_btn");
 	getChild<LLButton>("record_btn")->setFocus(true);
-	childSetTextArg("voice_morphing_link", "[URL]", LLTrans::getString("voice_morphing_url"));
+	getChild<LLUICtrl>("voice_morphing_link")->setTextArg("[URL]", LLTrans::getString("voice_morphing_url"));
 
 	mVoiceEffectList = getChild<LLScrollListCtrl>("voice_effect_list");
 	if (mVoiceEffectList)
diff --git a/indra/newview/llfloaterwater.cpp b/indra/newview/llfloaterwater.cpp
index 1bbee2625ca6f838c996b5cb89654cb3206a8380..0f0d85cacbb80c080bfdc2828df911fd8237baf9 100644
--- a/indra/newview/llfloaterwater.cpp
+++ b/indra/newview/llfloaterwater.cpp
@@ -210,7 +210,7 @@ void LLFloaterWater::syncMenu()
 	param_mgr->mFogColor = current_params.getVector4(param_mgr->mFogColor.mName, err);
 
 	LLColor4 col = param_mgr->getFogColor();
-	childSetValue("WaterGlow", col.mV[3]);
+	getChild<LLUICtrl>("WaterGlow")->setValue(col.mV[3]);
 	col.mV[3] = 1.0f;
 	LLColorSwatchCtrl* colCtrl = getChild<LLColorSwatchCtrl>("WaterFogColor");
 
@@ -221,41 +221,41 @@ void LLFloaterWater::syncMenu()
 		log(current_params.getFloat(param_mgr->mFogDensity.mName, err)) / 
 		log(param_mgr->mFogDensity.mBase);
 	param_mgr->setDensitySliderValue(param_mgr->mFogDensity.mExp);
-	childSetValue("WaterFogDensity", param_mgr->mFogDensity.mExp);
+	getChild<LLUICtrl>("WaterFogDensity")->setValue(param_mgr->mFogDensity.mExp);
 	
 	param_mgr->mUnderWaterFogMod.mX = 
 		current_params.getFloat(param_mgr->mUnderWaterFogMod.mName, err);
-	childSetValue("WaterUnderWaterFogMod", param_mgr->mUnderWaterFogMod.mX);
+	getChild<LLUICtrl>("WaterUnderWaterFogMod")->setValue(param_mgr->mUnderWaterFogMod.mX);
 
 	param_mgr->mNormalScale = current_params.getVector3(param_mgr->mNormalScale.mName, err);
-	childSetValue("WaterNormalScaleX", param_mgr->mNormalScale.mX);
-	childSetValue("WaterNormalScaleY", param_mgr->mNormalScale.mY);
-	childSetValue("WaterNormalScaleZ", param_mgr->mNormalScale.mZ);
+	getChild<LLUICtrl>("WaterNormalScaleX")->setValue(param_mgr->mNormalScale.mX);
+	getChild<LLUICtrl>("WaterNormalScaleY")->setValue(param_mgr->mNormalScale.mY);
+	getChild<LLUICtrl>("WaterNormalScaleZ")->setValue(param_mgr->mNormalScale.mZ);
 
 	// Fresnel
 	param_mgr->mFresnelScale.mX = current_params.getFloat(param_mgr->mFresnelScale.mName, err);
-	childSetValue("WaterFresnelScale", param_mgr->mFresnelScale.mX);
+	getChild<LLUICtrl>("WaterFresnelScale")->setValue(param_mgr->mFresnelScale.mX);
 	param_mgr->mFresnelOffset.mX = current_params.getFloat(param_mgr->mFresnelOffset.mName, err);
-	childSetValue("WaterFresnelOffset", param_mgr->mFresnelOffset.mX);
+	getChild<LLUICtrl>("WaterFresnelOffset")->setValue(param_mgr->mFresnelOffset.mX);
 
 	// Scale Above/Below
 	param_mgr->mScaleAbove.mX = current_params.getFloat(param_mgr->mScaleAbove.mName, err);
-	childSetValue("WaterScaleAbove", param_mgr->mScaleAbove.mX);
+	getChild<LLUICtrl>("WaterScaleAbove")->setValue(param_mgr->mScaleAbove.mX);
 	param_mgr->mScaleBelow.mX = current_params.getFloat(param_mgr->mScaleBelow.mName, err);
-	childSetValue("WaterScaleBelow", param_mgr->mScaleBelow.mX);
+	getChild<LLUICtrl>("WaterScaleBelow")->setValue(param_mgr->mScaleBelow.mX);
 
 	// blur mult
 	param_mgr->mBlurMultiplier.mX = current_params.getFloat(param_mgr->mBlurMultiplier.mName, err);
-	childSetValue("WaterBlurMult", param_mgr->mBlurMultiplier.mX);
+	getChild<LLUICtrl>("WaterBlurMult")->setValue(param_mgr->mBlurMultiplier.mX);
 
 	// wave directions
 	param_mgr->mWave1Dir = current_params.getVector2(param_mgr->mWave1Dir.mName, err);
-	childSetValue("WaterWave1DirX", param_mgr->mWave1Dir.mX);
-	childSetValue("WaterWave1DirY", param_mgr->mWave1Dir.mY);
+	getChild<LLUICtrl>("WaterWave1DirX")->setValue(param_mgr->mWave1Dir.mX);
+	getChild<LLUICtrl>("WaterWave1DirY")->setValue(param_mgr->mWave1Dir.mY);
 
 	param_mgr->mWave2Dir = current_params.getVector2(param_mgr->mWave2Dir.mName, err);
-	childSetValue("WaterWave2DirX", param_mgr->mWave2Dir.mX);
-	childSetValue("WaterWave2DirY", param_mgr->mWave2Dir.mY);
+	getChild<LLUICtrl>("WaterWave2DirX")->setValue(param_mgr->mWave2Dir.mX);
+	getChild<LLUICtrl>("WaterWave2DirY")->setValue(param_mgr->mWave2Dir.mY);
 
 	LLTextureCtrl* textCtrl = getChild<LLTextureCtrl>("WaterNormalMap");
 	textCtrl->setImageAssetID(param_mgr->getNormalMapID());
@@ -339,7 +339,7 @@ void LLFloaterWater::onColorControlRMoved(LLUICtrl* ctrl, WaterColorControl* col
 		std::string name = colorControl->mSliderName;
 		name.append("I");
 		
-		childSetValue(name, colorControl->mR);
+		getChild<LLUICtrl>(name)->setValue(colorControl->mR);
 	}
 
 	colorControl->update(LLWaterParamManager::instance()->mCurParams);
@@ -362,7 +362,7 @@ void LLFloaterWater::onColorControlGMoved(LLUICtrl* ctrl, WaterColorControl* col
 		std::string name = colorControl->mSliderName;
 		name.append("I");
 
-		childSetValue(name, colorControl->mG);
+		getChild<LLUICtrl>(name)->setValue(colorControl->mG);
 
 	}
 
@@ -386,7 +386,7 @@ void LLFloaterWater::onColorControlBMoved(LLUICtrl* ctrl, WaterColorControl* col
 		std::string name = colorControl->mSliderName;
 		name.append("I");
 
-		childSetValue(name, colorControl->mB);
+		getChild<LLUICtrl>(name)->setValue(colorControl->mB);
 	}
 
 	colorControl->update(LLWaterParamManager::instance()->mCurParams);
@@ -455,9 +455,9 @@ void LLFloaterWater::onColorControlIMoved(LLUICtrl* ctrl, WaterColorControl* col
 		}
 
 		// set the sliders to the new vals
-		childSetValue(rName, colorControl->mR);
-		childSetValue(gName, colorControl->mG);
-		childSetValue(bName, colorControl->mB);
+		getChild<LLUICtrl>(rName)->setValue(colorControl->mR);
+		getChild<LLUICtrl>(gName)->setValue(colorControl->mG);
+		getChild<LLUICtrl>(bName)->setValue(colorControl->mB);
 	}
 
 	// now update the current parameters and send them to shaders
diff --git a/indra/newview/llfloaterwindlight.cpp b/indra/newview/llfloaterwindlight.cpp
index c1b15c578c26964459372834d84740c26db26a06..c8ea6e406bdc461289e77a89c8e46e82e4b43269 100644
--- a/indra/newview/llfloaterwindlight.cpp
+++ b/indra/newview/llfloaterwindlight.cpp
@@ -278,31 +278,31 @@ void LLFloaterWindLight::syncMenu()
 
 	// blue horizon
 	param_mgr->mBlueHorizon = currentParams.getVector(param_mgr->mBlueHorizon.mName, err);
-	childSetValue("WLBlueHorizonR", param_mgr->mBlueHorizon.r / 2.0);
-	childSetValue("WLBlueHorizonG", param_mgr->mBlueHorizon.g / 2.0);
-	childSetValue("WLBlueHorizonB", param_mgr->mBlueHorizon.b / 2.0);
-	childSetValue("WLBlueHorizonI", 
+	getChild<LLUICtrl>("WLBlueHorizonR")->setValue(param_mgr->mBlueHorizon.r / 2.0);
+	getChild<LLUICtrl>("WLBlueHorizonG")->setValue(param_mgr->mBlueHorizon.g / 2.0);
+	getChild<LLUICtrl>("WLBlueHorizonB")->setValue(param_mgr->mBlueHorizon.b / 2.0);
+	getChild<LLUICtrl>("WLBlueHorizonI")->setValue(
 		std::max(param_mgr->mBlueHorizon.r / 2.0, 
 			std::max(param_mgr->mBlueHorizon.g / 2.0, 
 				param_mgr->mBlueHorizon.b / 2.0)));
 
 	// haze density, horizon, mult, and altitude
 	param_mgr->mHazeDensity = currentParams.getVector(param_mgr->mHazeDensity.mName, err);
-	childSetValue("WLHazeDensity", param_mgr->mHazeDensity.r);
+	getChild<LLUICtrl>("WLHazeDensity")->setValue(param_mgr->mHazeDensity.r);
 	param_mgr->mHazeHorizon = currentParams.getVector(param_mgr->mHazeHorizon.mName, err);
-	childSetValue("WLHazeHorizon", param_mgr->mHazeHorizon.r);
+	getChild<LLUICtrl>("WLHazeHorizon")->setValue(param_mgr->mHazeHorizon.r);
 	param_mgr->mDensityMult = currentParams.getVector(param_mgr->mDensityMult.mName, err);
-	childSetValue("WLDensityMult", param_mgr->mDensityMult.x * 
+	getChild<LLUICtrl>("WLDensityMult")->setValue(param_mgr->mDensityMult.x * 
 		param_mgr->mDensityMult.mult);
 	param_mgr->mMaxAlt = currentParams.getVector(param_mgr->mMaxAlt.mName, err);
-	childSetValue("WLMaxAltitude", param_mgr->mMaxAlt.x);
+	getChild<LLUICtrl>("WLMaxAltitude")->setValue(param_mgr->mMaxAlt.x);
 
 	// blue density
 	param_mgr->mBlueDensity = currentParams.getVector(param_mgr->mBlueDensity.mName, err);
-	childSetValue("WLBlueDensityR", param_mgr->mBlueDensity.r / 2.0);
-	childSetValue("WLBlueDensityG", param_mgr->mBlueDensity.g / 2.0);
-	childSetValue("WLBlueDensityB", param_mgr->mBlueDensity.b / 2.0);
-	childSetValue("WLBlueDensityI", 
+	getChild<LLUICtrl>("WLBlueDensityR")->setValue(param_mgr->mBlueDensity.r / 2.0);
+	getChild<LLUICtrl>("WLBlueDensityG")->setValue(param_mgr->mBlueDensity.g / 2.0);
+	getChild<LLUICtrl>("WLBlueDensityB")->setValue(param_mgr->mBlueDensity.b / 2.0);
+	getChild<LLUICtrl>("WLBlueDensityI")->setValue(
 		std::max(param_mgr->mBlueDensity.r / 2.0, 
 		std::max(param_mgr->mBlueDensity.g / 2.0, param_mgr->mBlueDensity.b / 2.0)));
 
@@ -310,93 +310,93 @@ void LLFloaterWindLight::syncMenu()
 	
 	// sunlight
 	param_mgr->mSunlight = currentParams.getVector(param_mgr->mSunlight.mName, err);
-	childSetValue("WLSunlightR", param_mgr->mSunlight.r / WL_SUN_AMBIENT_SLIDER_SCALE);
-	childSetValue("WLSunlightG", param_mgr->mSunlight.g / WL_SUN_AMBIENT_SLIDER_SCALE);
-	childSetValue("WLSunlightB", param_mgr->mSunlight.b / WL_SUN_AMBIENT_SLIDER_SCALE);
-	childSetValue("WLSunlightI", 
+	getChild<LLUICtrl>("WLSunlightR")->setValue(param_mgr->mSunlight.r / WL_SUN_AMBIENT_SLIDER_SCALE);
+	getChild<LLUICtrl>("WLSunlightG")->setValue(param_mgr->mSunlight.g / WL_SUN_AMBIENT_SLIDER_SCALE);
+	getChild<LLUICtrl>("WLSunlightB")->setValue(param_mgr->mSunlight.b / WL_SUN_AMBIENT_SLIDER_SCALE);
+	getChild<LLUICtrl>("WLSunlightI")->setValue(
 		std::max(param_mgr->mSunlight.r / WL_SUN_AMBIENT_SLIDER_SCALE, 
 		std::max(param_mgr->mSunlight.g / WL_SUN_AMBIENT_SLIDER_SCALE, param_mgr->mSunlight.b / WL_SUN_AMBIENT_SLIDER_SCALE)));
 
 	// glow
 	param_mgr->mGlow = currentParams.getVector(param_mgr->mGlow.mName, err);
-	childSetValue("WLGlowR", 2 - param_mgr->mGlow.r / 20.0f);
-	childSetValue("WLGlowB", -param_mgr->mGlow.b / 5.0f);
+	getChild<LLUICtrl>("WLGlowR")->setValue(2 - param_mgr->mGlow.r / 20.0f);
+	getChild<LLUICtrl>("WLGlowB")->setValue(-param_mgr->mGlow.b / 5.0f);
 		
 	// ambient
 	param_mgr->mAmbient = currentParams.getVector(param_mgr->mAmbient.mName, err);
-	childSetValue("WLAmbientR", param_mgr->mAmbient.r / WL_SUN_AMBIENT_SLIDER_SCALE);
-	childSetValue("WLAmbientG", param_mgr->mAmbient.g / WL_SUN_AMBIENT_SLIDER_SCALE);
-	childSetValue("WLAmbientB", param_mgr->mAmbient.b / WL_SUN_AMBIENT_SLIDER_SCALE);
-	childSetValue("WLAmbientI", 
+	getChild<LLUICtrl>("WLAmbientR")->setValue(param_mgr->mAmbient.r / WL_SUN_AMBIENT_SLIDER_SCALE);
+	getChild<LLUICtrl>("WLAmbientG")->setValue(param_mgr->mAmbient.g / WL_SUN_AMBIENT_SLIDER_SCALE);
+	getChild<LLUICtrl>("WLAmbientB")->setValue(param_mgr->mAmbient.b / WL_SUN_AMBIENT_SLIDER_SCALE);
+	getChild<LLUICtrl>("WLAmbientI")->setValue(
 		std::max(param_mgr->mAmbient.r / WL_SUN_AMBIENT_SLIDER_SCALE, 
 		std::max(param_mgr->mAmbient.g / WL_SUN_AMBIENT_SLIDER_SCALE, param_mgr->mAmbient.b / WL_SUN_AMBIENT_SLIDER_SCALE)));		
 
-	childSetValue("WLSunAngle", param_mgr->mCurParams.getFloat("sun_angle",err) / F_TWO_PI);
-	childSetValue("WLEastAngle", param_mgr->mCurParams.getFloat("east_angle",err) / F_TWO_PI);
+	getChild<LLUICtrl>("WLSunAngle")->setValue(param_mgr->mCurParams.getFloat("sun_angle",err) / F_TWO_PI);
+	getChild<LLUICtrl>("WLEastAngle")->setValue(param_mgr->mCurParams.getFloat("east_angle",err) / F_TWO_PI);
 
 	// Clouds
 
 	// Cloud Color
 	param_mgr->mCloudColor = currentParams.getVector(param_mgr->mCloudColor.mName, err);
-	childSetValue("WLCloudColorR", param_mgr->mCloudColor.r);
-	childSetValue("WLCloudColorG", param_mgr->mCloudColor.g);
-	childSetValue("WLCloudColorB", param_mgr->mCloudColor.b);
-	childSetValue("WLCloudColorI", 
+	getChild<LLUICtrl>("WLCloudColorR")->setValue(param_mgr->mCloudColor.r);
+	getChild<LLUICtrl>("WLCloudColorG")->setValue(param_mgr->mCloudColor.g);
+	getChild<LLUICtrl>("WLCloudColorB")->setValue(param_mgr->mCloudColor.b);
+	getChild<LLUICtrl>("WLCloudColorI")->setValue(
 		std::max(param_mgr->mCloudColor.r, 
 		std::max(param_mgr->mCloudColor.g, param_mgr->mCloudColor.b)));
 
 	// Cloud
 	param_mgr->mCloudMain = currentParams.getVector(param_mgr->mCloudMain.mName, err);
-	childSetValue("WLCloudX", param_mgr->mCloudMain.r);
-	childSetValue("WLCloudY", param_mgr->mCloudMain.g);
-	childSetValue("WLCloudDensity", param_mgr->mCloudMain.b);
+	getChild<LLUICtrl>("WLCloudX")->setValue(param_mgr->mCloudMain.r);
+	getChild<LLUICtrl>("WLCloudY")->setValue(param_mgr->mCloudMain.g);
+	getChild<LLUICtrl>("WLCloudDensity")->setValue(param_mgr->mCloudMain.b);
 
 	// Cloud Detail
 	param_mgr->mCloudDetail = currentParams.getVector(param_mgr->mCloudDetail.mName, err);
-	childSetValue("WLCloudDetailX", param_mgr->mCloudDetail.r);
-	childSetValue("WLCloudDetailY", param_mgr->mCloudDetail.g);
-	childSetValue("WLCloudDetailDensity", param_mgr->mCloudDetail.b);
+	getChild<LLUICtrl>("WLCloudDetailX")->setValue(param_mgr->mCloudDetail.r);
+	getChild<LLUICtrl>("WLCloudDetailY")->setValue(param_mgr->mCloudDetail.g);
+	getChild<LLUICtrl>("WLCloudDetailDensity")->setValue(param_mgr->mCloudDetail.b);
 
 	// Cloud extras
 	param_mgr->mCloudCoverage = currentParams.getVector(param_mgr->mCloudCoverage.mName, err);
 	param_mgr->mCloudScale = currentParams.getVector(param_mgr->mCloudScale.mName, err);
-	childSetValue("WLCloudCoverage", param_mgr->mCloudCoverage.x);
-	childSetValue("WLCloudScale", param_mgr->mCloudScale.x);
+	getChild<LLUICtrl>("WLCloudCoverage")->setValue(param_mgr->mCloudCoverage.x);
+	getChild<LLUICtrl>("WLCloudScale")->setValue(param_mgr->mCloudScale.x);
 
 	// cloud scrolling
 	bool lockX = !param_mgr->mCurParams.getEnableCloudScrollX();
 	bool lockY = !param_mgr->mCurParams.getEnableCloudScrollY();
-	childSetValue("WLCloudLockX", lockX);
-	childSetValue("WLCloudLockY", lockY);
-	childSetValue("DrawClassicClouds", gSavedSettings.getBOOL("SkyUseClassicClouds"));
+	getChild<LLUICtrl>("WLCloudLockX")->setValue(lockX);
+	getChild<LLUICtrl>("WLCloudLockY")->setValue(lockY);
+	getChild<LLUICtrl>("DrawClassicClouds")->setValue(gSavedSettings.getBOOL("SkyUseClassicClouds"));
 	
 	// disable if locked, enable if not
 	if(lockX) 
 	{
-		childDisable("WLCloudScrollX");
+		getChildView("WLCloudScrollX")->setEnabled(FALSE);
 	} else {
-		childEnable("WLCloudScrollX");
+		getChildView("WLCloudScrollX")->setEnabled(TRUE);
 	}
 	if(lockY)
 	{
-		childDisable("WLCloudScrollY");
+		getChildView("WLCloudScrollY")->setEnabled(FALSE);
 	} else {
-		childEnable("WLCloudScrollY");
+		getChildView("WLCloudScrollY")->setEnabled(TRUE);
 	}
 
 	// *HACK cloud scrolling is off my an additive of 10
-	childSetValue("WLCloudScrollX", param_mgr->mCurParams.getCloudScrollX() - 10.0f);
-	childSetValue("WLCloudScrollY", param_mgr->mCurParams.getCloudScrollY() - 10.0f);
+	getChild<LLUICtrl>("WLCloudScrollX")->setValue(param_mgr->mCurParams.getCloudScrollX() - 10.0f);
+	getChild<LLUICtrl>("WLCloudScrollY")->setValue(param_mgr->mCurParams.getCloudScrollY() - 10.0f);
 
 	param_mgr->mDistanceMult = currentParams.getVector(param_mgr->mDistanceMult.mName, err);
-	childSetValue("WLDistanceMult", param_mgr->mDistanceMult.x);
+	getChild<LLUICtrl>("WLDistanceMult")->setValue(param_mgr->mDistanceMult.x);
 
 	// Tweak extras
 
 	param_mgr->mWLGamma = currentParams.getVector(param_mgr->mWLGamma.mName, err);
-	childSetValue("WLGamma", param_mgr->mWLGamma.x);
+	getChild<LLUICtrl>("WLGamma")->setValue(param_mgr->mWLGamma.x);
 
-	childSetValue("WLStarAlpha", param_mgr->mCurParams.getStarBrightness());
+	getChild<LLUICtrl>("WLStarAlpha")->setValue(param_mgr->mCurParams.getStarBrightness());
 
 	LLTabContainer* tab = getChild<LLTabContainer>("WindLight Tabs");
 	LLPanel* panel = getChild<LLPanel>("Scattering");
@@ -428,11 +428,11 @@ void LLFloaterWindLight::onColorControlRMoved(LLUICtrl* ctrl, WLColorControl* co
 		name.append("I");
 		
 		if(colorControl->isSunOrAmbientColor) {
-			childSetValue(name, colorControl->r / 3);
+			getChild<LLUICtrl>(name)->setValue(colorControl->r / 3);
 		} else if(colorControl->isBlueHorizonOrDensity) {
-			childSetValue(name, colorControl->r / 2);
+			getChild<LLUICtrl>(name)->setValue(colorControl->r / 2);
 		} else {
-			childSetValue(name, colorControl->r);
+			getChild<LLUICtrl>(name)->setValue(colorControl->r);
 		}
 	}
 
@@ -463,11 +463,11 @@ void LLFloaterWindLight::onColorControlGMoved(LLUICtrl* ctrl, WLColorControl* co
 		name.append("I");
 
 		if(colorControl->isSunOrAmbientColor) {
-			childSetValue(name, colorControl->g / 3);
+			getChild<LLUICtrl>(name)->setValue(colorControl->g / 3);
 		} else if(colorControl->isBlueHorizonOrDensity) {
-			childSetValue(name, colorControl->g / 2);
+			getChild<LLUICtrl>(name)->setValue(colorControl->g / 2);
 		} else {
-			childSetValue(name, colorControl->g);
+			getChild<LLUICtrl>(name)->setValue(colorControl->g);
 		}
 	}
 
@@ -498,11 +498,11 @@ void LLFloaterWindLight::onColorControlBMoved(LLUICtrl* ctrl, WLColorControl* co
 		name.append("I");
 
 		if(colorControl->isSunOrAmbientColor) {
-			childSetValue(name, colorControl->b / 3);
+			getChild<LLUICtrl>(name)->setValue(colorControl->b / 3);
 		} else if(colorControl->isBlueHorizonOrDensity) {
-			childSetValue(name, colorControl->b / 2);
+			getChild<LLUICtrl>(name)->setValue(colorControl->b / 2);
 		} else {
-			childSetValue(name, colorControl->b);
+			getChild<LLUICtrl>(name)->setValue(colorControl->b);
 		}
 	}
 
@@ -572,24 +572,24 @@ void LLFloaterWindLight::onColorControlIMoved(LLUICtrl* ctrl, WLColorControl* co
 		// divide sun color vals by three
 		if(colorControl->isSunOrAmbientColor) 
 		{
-			childSetValue(rName, colorControl->r/3);
-			childSetValue(gName, colorControl->g/3);
-			childSetValue(bName, colorControl->b/3);	
+			getChild<LLUICtrl>(rName)->setValue(colorControl->r/3);
+			getChild<LLUICtrl>(gName)->setValue(colorControl->g/3);
+			getChild<LLUICtrl>(bName)->setValue(colorControl->b/3);	
 		
 		} 
 		else if(colorControl->isBlueHorizonOrDensity) 
 		{
-			childSetValue(rName, colorControl->r/2);
-			childSetValue(gName, colorControl->g/2);
-			childSetValue(bName, colorControl->b/2);	
+			getChild<LLUICtrl>(rName)->setValue(colorControl->r/2);
+			getChild<LLUICtrl>(gName)->setValue(colorControl->g/2);
+			getChild<LLUICtrl>(bName)->setValue(colorControl->b/2);	
 		
 		} 
 		else 
 		{
 			// set the sliders to the new vals
-			childSetValue(rName, colorControl->r);
-			childSetValue(gName, colorControl->g);
-			childSetValue(bName, colorControl->b);
+			getChild<LLUICtrl>(rName)->setValue(colorControl->r);
+			getChild<LLUICtrl>(gName)->setValue(colorControl->g);
+			getChild<LLUICtrl>(bName)->setValue(colorControl->b);
 		}
 	}
 
diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp
index 983fd97b0bafffd4d165a43b385d7c78bc102702..d5e8801247d552b9b76f035f6bb6ac1ace594182 100644
--- a/indra/newview/llfloaterworldmap.cpp
+++ b/indra/newview/llfloaterworldmap.cpp
@@ -247,7 +247,7 @@ BOOL LLFloaterWorldMap::postBuild()
 	landmark_combo->setTextEntryCallback( boost::bind(&LLFloaterWorldMap::onComboTextEntry, this) );
 
 	mCurZoomVal = log(LLWorldMapView::sMapScale)/log(2.f);
-	childSetValue("zoom slider", LLWorldMapView::sMapScale);
+	getChild<LLUICtrl>("zoom slider")->setValue(LLWorldMapView::sMapScale);
 
 	setDefaultBtn(NULL);
 
@@ -320,7 +320,7 @@ void LLFloaterWorldMap::onOpen(const LLSD& key)
 		const LLUUID landmark_folder_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_LANDMARK);
 		LLInventoryModelBackgroundFetch::instance().start(landmark_folder_id);
 
-		childSetFocus("location", TRUE);
+		getChild<LLUICtrl>("location")->setFocus( TRUE);
 		gFocusMgr.triggerFocusFlash();
 
 		buildAvatarIDList();
@@ -358,9 +358,9 @@ BOOL LLFloaterWorldMap::handleScrollWheel(S32 x, S32 y, S32 clicks)
 	{
 		if(mPanel->pointInView(x, y))
 		{
-			F32 slider_value = (F32)childGetValue("zoom slider").asReal();
+			F32 slider_value = (F32)getChild<LLUICtrl>("zoom slider")->getValue().asReal();
 			slider_value += ((F32)clicks * -0.3333f);
-			childSetValue("zoom slider", LLSD(slider_value));
+			getChild<LLUICtrl>("zoom slider")->setValue(LLSD(slider_value));
 			return TRUE;
 		}
 	}
@@ -388,32 +388,32 @@ void LLFloaterWorldMap::draw()
 	LLViewerRegion* regionp = gAgent.getRegion();
 	bool agent_on_prelude = (regionp && regionp->isPrelude());
 	bool enable_go_home = gAgent.isGodlike() || !agent_on_prelude;
-	childSetEnabled("Go Home", enable_go_home);
+	getChildView("Go Home")->setEnabled(enable_go_home);
 
 	updateLocation();
 	
 	LLTracker::ETrackingStatus tracking_status = LLTracker::getTrackingStatus(); 
 	if (LLTracker::TRACKING_AVATAR == tracking_status)
 	{
-		childSetColor("avatar_icon", map_track_color);
+		getChild<LLUICtrl>("avatar_icon")->setColor( map_track_color);
 	}
 	else
 	{
-		childSetColor("avatar_icon", map_track_disabled_color);
+		getChild<LLUICtrl>("avatar_icon")->setColor( map_track_disabled_color);
 	}
 
 	if (LLTracker::TRACKING_LANDMARK == tracking_status)
 	{
-		childSetColor("landmark_icon", map_track_color);
+		getChild<LLUICtrl>("landmark_icon")->setColor( map_track_color);
 	}
 	else
 	{
-		childSetColor("landmark_icon", map_track_disabled_color);
+		getChild<LLUICtrl>("landmark_icon")->setColor( map_track_disabled_color);
 	}
 
 	if (LLTracker::TRACKING_LOCATION == tracking_status)
 	{
-		childSetColor("location_icon", map_track_color);
+		getChild<LLUICtrl>("location_icon")->setColor( map_track_color);
 	}
 	else
 	{
@@ -423,11 +423,11 @@ void LLFloaterWorldMap::draw()
 			double value = fmod(seconds, 2);
 			value = 0.5 + 0.5*cos(value * F_PI);
 			LLColor4 loading_color(0.0, F32(value/2), F32(value), 1.0);
-			childSetColor("location_icon", loading_color);
+			getChild<LLUICtrl>("location_icon")->setColor( loading_color);
 		}
 		else
 		{
-			childSetColor("location_icon", map_track_disabled_color);
+			getChild<LLUICtrl>("location_icon")->setColor( map_track_disabled_color);
 		}
 	}
 
@@ -437,16 +437,16 @@ void LLFloaterWorldMap::draw()
 		centerOnTarget(TRUE);
 	}
 
-	childSetEnabled("Teleport", (BOOL)tracking_status);
-//	childSetEnabled("Clear", (BOOL)tracking_status);
-	childSetEnabled("Show Destination", (BOOL)tracking_status || LLWorldMap::getInstance()->isTracking());
-	childSetEnabled("copy_slurl", (mSLURL.isValid()) );
+	getChildView("Teleport")->setEnabled((BOOL)tracking_status);
+//	getChildView("Clear")->setEnabled((BOOL)tracking_status);
+	getChildView("Show Destination")->setEnabled((BOOL)tracking_status || LLWorldMap::getInstance()->isTracking());
+	getChildView("copy_slurl")->setEnabled((mSLURL.isValid()) );
 
 	setMouseOpaque(TRUE);
 	getDragHandle()->setMouseOpaque(TRUE);
 
 	//RN: snaps to zoom value because interpolation caused jitter in the text rendering
-	if (!mZoomTimer.getStarted() && mCurZoomVal != (F32)childGetValue("zoom slider").asReal())
+	if (!mZoomTimer.getStarted() && mCurZoomVal != (F32)getChild<LLUICtrl>("zoom slider")->getValue().asReal())
 	{
 		mZoomTimer.start();
 	}
@@ -456,7 +456,7 @@ void LLFloaterWorldMap::draw()
 		interp = 1.f;
 		mZoomTimer.stop();
 	}
-	mCurZoomVal = lerp(mCurZoomVal, (F32)childGetValue("zoom slider").asReal(), interp);
+	mCurZoomVal = lerp(mCurZoomVal, (F32)getChild<LLUICtrl>("zoom slider")->getValue().asReal(), interp);
 	F32 map_scale = 256.f*pow(2.f, mCurZoomVal);
 	LLWorldMapView::setScale( map_scale );
 
@@ -464,13 +464,13 @@ void LLFloaterWorldMap::draw()
 	// If above threshold level (i.e. low res) -> Disable all checkboxes
 	// If under threshold level (i.e. high res) -> Enable all checkboxes
 	bool enable = LLWorldMapView::showRegionInfo();
-	childSetEnabled("people_chk", enable);
-	childSetEnabled("infohub_chk", enable);
-	childSetEnabled("telehub_chk", enable);
-	childSetEnabled("land_for_sale_chk", enable);
-	childSetEnabled("event_chk", enable);
-	childSetEnabled("events_mature_chk", enable);
-	childSetEnabled("events_adult_chk", enable);
+	getChildView("people_chk")->setEnabled(enable);
+	getChildView("infohub_chk")->setEnabled(enable);
+	getChildView("telehub_chk")->setEnabled(enable);
+	getChildView("land_for_sale_chk")->setEnabled(enable);
+	getChildView("event_chk")->setEnabled(enable);
+	getChildView("events_mature_chk")->setEnabled(enable);
+	getChildView("events_adult_chk")->setEnabled(enable);
 	
 	LLFloater::draw();
 }
@@ -494,7 +494,7 @@ void LLFloaterWorldMap::trackAvatar( const LLUUID& avatar_id, const std::string&
 		// convenience.
 		if(gAgent.isGodlike())
 		{
-			childSetValue("spin z", LLSD(200.f));
+			getChild<LLUICtrl>("spin z")->setValue(LLSD(200.f));
 		}
 		// Don't re-request info if we already have it or we won't have it in time to teleport
 		if (mTrackedStatus != LLTracker::TRACKING_AVATAR || name != mTrackedAvatarName)
@@ -636,7 +636,7 @@ void LLFloaterWorldMap::updateLocation()
 				mSetToUserPosition = FALSE;
 
 				// Fill out the location field
-				childSetValue("location", agent_sim_name);
+				getChild<LLUICtrl>("location")->setValue(agent_sim_name);
 
 				// Figure out where user is
 				// Set the current SLURL
@@ -666,7 +666,7 @@ void LLFloaterWorldMap::updateLocation()
 			}
 		}
 
-		childSetValue("location", sim_name);
+		getChild<LLUICtrl>("location")->setValue(sim_name);
 
 		// simNameFromPosGlobal can fail, so don't give the user an invalid SLURL
 		if ( gotSimName )
@@ -697,7 +697,7 @@ void LLFloaterWorldMap::trackURL(const std::string& region_name, S32 x_coord, S3
 	else
 	{
 		// fill in UI based on URL
-		gFloaterWorldMap->childSetValue("location", region_name);
+		gFloaterWorldMap->getChild<LLUICtrl>("location")->setValue(region_name);
 
 		// Save local coords to highlight position after region global
 		// position is returned.
@@ -1094,7 +1094,7 @@ void LLFloaterWorldMap::onLocationFocusChanged( LLFocusableElement* focus )
 void LLFloaterWorldMap::updateSearchEnabled()
 {
 	if (childHasKeyboardFocus("location") && 
-		childGetValue("location").asString().length() > 0)
+		getChild<LLUICtrl>("location")->getValue().asString().length() > 0)
 	{
 		setDefaultBtn("DoSearch");
 	}
@@ -1115,14 +1115,14 @@ void LLFloaterWorldMap::onLocationCommit()
 	mCompletingRegionName = "";
 	mLastRegionName = "";
 
-	std::string str = childGetValue("location").asString();
+	std::string str = getChild<LLUICtrl>("location")->getValue().asString();
 
 	// Trim any leading and trailing spaces in the search target
 	std::string saved_str = str;
 	LLStringUtil::trim( str );
 	if ( str != saved_str )
 	{	// Set the value in the UI if any spaces were removed
-		childSetValue("location", str);
+		getChild<LLUICtrl>("location")->setValue(str);
 	}
 
 	LLStringUtil::toLower(str);
@@ -1243,7 +1243,7 @@ void LLFloaterWorldMap::teleport()
 		&& av_tracker.haveTrackingInfo() )
 	{
 		pos_global = av_tracker.getGlobalPos();
-		pos_global.mdV[VZ] = childGetValue("spin z");
+		pos_global.mdV[VZ] = getChild<LLUICtrl>("spin z")->getValue();
 	}
 	else if ( LLTracker::TRACKING_LANDMARK == tracking_status)
 	{
@@ -1412,7 +1412,7 @@ void LLFloaterWorldMap::updateSims(bool found_null_sim)
 	if (!match.isUndefined())
 	{
 		list->selectByValue(match);
-		childSetFocus("search_results");
+		getChild<LLUICtrl>("search_results")->setFocus(TRUE);
 		onCommitSearchResult();
 	}
 
@@ -1460,7 +1460,7 @@ void LLFloaterWorldMap::onCommitSearchResult()
 			pos_global.mdV[VY] += (F64)pos_local.mV[VY];
 			pos_global.mdV[VZ] = (F64)pos_local.mV[VZ];
 
-			childSetValue("location", sim_name);
+			getChild<LLUICtrl>("location")->setValue(sim_name);
 			trackLocation(pos_global);
 			setDefaultBtn("Teleport");
 			break;
@@ -1475,13 +1475,13 @@ void LLFloaterWorldMap::onChangeMaturity()
 	bool can_access_mature = gAgent.canAccessMature();
 	bool can_access_adult = gAgent.canAccessAdult();
 
-	childSetVisible("events_mature_icon", can_access_mature);
-	childSetVisible("events_mature_label", can_access_mature);
-	childSetVisible("events_mature_chk", can_access_mature);
+	getChildView("events_mature_icon")->setVisible( can_access_mature);
+	getChildView("events_mature_label")->setVisible( can_access_mature);
+	getChildView("events_mature_chk")->setVisible( can_access_mature);
 
-	childSetVisible("events_adult_icon", can_access_adult);
-	childSetVisible("events_adult_label", can_access_adult);
-	childSetVisible("events_adult_chk", can_access_adult);
+	getChildView("events_adult_icon")->setVisible( can_access_adult);
+	getChildView("events_adult_label")->setVisible( can_access_adult);
+	getChildView("events_adult_chk")->setVisible( can_access_adult);
 
 	// disable mature / adult events.
 	if (!can_access_mature)
diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp
index da5196df45c2bc38e3d1af7d0be2dc5f61bc7c07..125936b9c70fc964bae6573abb61556ad3da4c58 100644
--- a/indra/newview/llgrouplist.cpp
+++ b/indra/newview/llgrouplist.cpp
@@ -212,8 +212,8 @@ void LLGroupList::addNewItem(const LLUUID& id, const std::string& name, const LL
 	item->setName(name, mNameFilter);
 	item->setGroupIconID(icon_id);
 
-	item->childSetVisible("info_btn", false);
-	item->childSetVisible("profile_btn", false);
+	item->getChildView("info_btn")->setVisible( false);
+	item->getChildView("profile_btn")->setVisible( false);
 	item->setGroupIconVisible(mShowIcons);
 
 	addItem(item, id, pos);
@@ -323,16 +323,16 @@ void LLGroupListItem::setValue( const LLSD& value )
 {
 	if (!value.isMap()) return;
 	if (!value.has("selected")) return;
-	childSetVisible("selected_icon", value["selected"]);
+	getChildView("selected_icon")->setVisible( value["selected"]);
 }
 
 void LLGroupListItem::onMouseEnter(S32 x, S32 y, MASK mask)
 {
-	childSetVisible("hovered_icon", true);
+	getChildView("hovered_icon")->setVisible( true);
 	if (mGroupID.notNull()) // don't show the info button for the "none" group
 	{
 		mInfoBtn->setVisible(true);
-		childSetVisible("profile_btn", true);
+		getChildView("profile_btn")->setVisible( true);
 	}
 
 	LLPanel::onMouseEnter(x, y, mask);
@@ -340,9 +340,9 @@ void LLGroupListItem::onMouseEnter(S32 x, S32 y, MASK mask)
 
 void LLGroupListItem::onMouseLeave(S32 x, S32 y, MASK mask)
 {
-	childSetVisible("hovered_icon", false);
+	getChildView("hovered_icon")->setVisible( false);
 	mInfoBtn->setVisible(false);
-	childSetVisible("profile_btn", false);
+	getChildView("profile_btn")->setVisible( false);
 
 	LLPanel::onMouseLeave(x, y, mask);
 }
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 21313f9df70ddb6feeaa978780350e0a9271380b..d2bddfdd9a11fb2ff28873d2f89d0d544ab40d48 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -1709,12 +1709,12 @@ void LLOutgoingCallDialog::show(const LLSD& key)
 			old_caller_name = LLTextUtil::formatPhoneNumber(old_caller_name);
 		}
 
-		childSetTextArg("leaving", "[CURRENT_CHAT]", old_caller_name);
+		getChild<LLUICtrl>("leaving")->setTextArg("[CURRENT_CHAT]", old_caller_name);
 		show_oldchannel = true;
 	}
 	else
 	{
-		childSetTextArg("leaving", "[CURRENT_CHAT]", getString("localchat"));		
+		getChild<LLUICtrl>("leaving")->setTextArg("[CURRENT_CHAT]", getString("localchat"));		
 	}
 
 	if (!mPayload["disconnected_channel_name"].asString().empty())
@@ -1724,16 +1724,16 @@ void LLOutgoingCallDialog::show(const LLSD& key)
 		{
 			channel_name = LLTextUtil::formatPhoneNumber(channel_name);
 		}
-		childSetTextArg("nearby", "[VOICE_CHANNEL_NAME]", channel_name);
+		getChild<LLUICtrl>("nearby")->setTextArg("[VOICE_CHANNEL_NAME]", channel_name);
 
 		// skipping "You will now be reconnected to nearby" in notification when call is ended by disabling voice,
 		// so no reconnection to nearby chat happens (EXT-4397)
 		bool voice_works = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking();
 		std::string reconnect_nearby = voice_works ? LLTrans::getString("reconnect_nearby") : std::string();
-		childSetTextArg("nearby", "[RECONNECT_NEARBY]", reconnect_nearby);
+		getChild<LLUICtrl>("nearby")->setTextArg("[RECONNECT_NEARBY]", reconnect_nearby);
 
 		const std::string& nearby_str = mPayload["ended_by_agent"] ? NEARBY_P2P_BY_AGENT : NEARBY_P2P_BY_OTHER;
-		childSetTextArg(nearby_str, "[RECONNECT_NEARBY]", reconnect_nearby);
+		getChild<LLUICtrl>(nearby_str)->setTextArg("[RECONNECT_NEARBY]", reconnect_nearby);
 	}
 
 	std::string callee_name = mPayload["session_name"].asString();
@@ -1753,8 +1753,8 @@ void LLOutgoingCallDialog::show(const LLSD& key)
 	setTitle(callee_name);
 
 	LLSD callee_id = mPayload["other_user_id"];
-	childSetTextArg("calling", "[CALLEE_NAME]", callee_name);
-	childSetTextArg("connecting", "[CALLEE_NAME]", callee_name);
+	getChild<LLUICtrl>("calling")->setTextArg("[CALLEE_NAME]", callee_name);
+	getChild<LLUICtrl>("connecting")->setTextArg("[CALLEE_NAME]", callee_name);
 
 	// for outgoing group calls callee_id == group id == session id
 	setIcon(callee_id, callee_id);
@@ -1939,7 +1939,7 @@ BOOL LLIncomingCallDialog::postBuild()
 
 	//it's not possible to connect to existing Ad-Hoc/Group chat through incoming ad-hoc call
 	//and no IM for avaline
-	childSetVisible("Start IM", is_avatar && notify_box_type != "VoiceInviteAdHoc" && notify_box_type != "VoiceInviteGroup");
+	getChildView("Start IM")->setVisible( is_avatar && notify_box_type != "VoiceInviteAdHoc" && notify_box_type != "VoiceInviteGroup");
 
 	setCanDrag(FALSE);
 
@@ -1963,12 +1963,12 @@ void LLIncomingCallDialog::onOpen(const LLSD& key)
 	if (voice && !voice->getSessionName().empty())
 	{
 		args["[CURRENT_CHAT]"] = voice->getSessionName();
-		childSetText("question", getString(key["question_type"].asString(), args));
+		getChild<LLUICtrl>("question")->setValue(getString(key["question_type"].asString(), args));
 	}
 	else
 	{
 		args["[CURRENT_CHAT]"] = getString("localchat");
-		childSetText("question", getString(key["question_type"].asString(), args));
+		getChild<LLUICtrl>("question")->setValue(getString(key["question_type"].asString(), args));
 	}
 }
 
diff --git a/indra/newview/llinspectavatar.cpp b/indra/newview/llinspectavatar.cpp
index d9fdc876dbde128bce38c2444ae7b12ebca8aaed..3c437907c41d9ae0a8cfee5c18ceb44ce8f3c368 100644
--- a/indra/newview/llinspectavatar.cpp
+++ b/indra/newview/llinspectavatar.cpp
@@ -371,7 +371,7 @@ void LLInspectAvatar::requestUpdate()
 	//remove avatar id from cache to get fresh info
 	LLAvatarIconIDCache::getInstance()->remove(mAvatarID);
 
-	childSetValue("avatar_icon", LLSD(mAvatarID) );
+	getChild<LLUICtrl>("avatar_icon")->setValue(LLSD(mAvatarID) );
 
 	gCacheName->get(mAvatarID, FALSE,
 		boost::bind(&LLInspectAvatar::nameUpdatedCallback,
@@ -621,7 +621,7 @@ void LLInspectAvatar::nameUpdatedCallback(
 	if (id == mAvatarID)
 	{
 		mAvatarName = first + " " + last;
-		childSetValue("user_name", LLSD(mAvatarName) );
+		getChild<LLUICtrl>("user_name")->setValue(LLSD(mAvatarName) );
 	}
 }
 
diff --git a/indra/newview/llinspectgroup.cpp b/indra/newview/llinspectgroup.cpp
index 7fd7b69021c3b66db3e4e2844ee8fba9b27a6d92..f054d612624b1967962b0d51ab72b8579798c567 100644
--- a/indra/newview/llinspectgroup.cpp
+++ b/indra/newview/llinspectgroup.cpp
@@ -239,7 +239,7 @@ void LLInspectGroup::nameUpdatedCallback(
 	if (id == mGroupID)
 	{
 		// group names are returned as a first name
-		childSetValue("group_name", LLSD(first) );
+		getChild<LLUICtrl>("group_name")->setValue(LLSD(first) );
 	}
 	
 	// Otherwise possibly a request for an older inspector, ignore it
diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp
index 67295179b21e03ba605588950920c9b3e19b5da3..18ef3e19ee022b7a846f07947b28d5a53394e87e 100644
--- a/indra/newview/llnavigationbar.cpp
+++ b/indra/newview/llnavigationbar.cpp
@@ -816,9 +816,9 @@ void LLNavigationBar::showNavigationPanel(BOOL visible)
 		}
 	}
 
-	childSetVisible("bg_icon", visible && fpVisible);
-	childSetVisible("bg_icon_no_fav_bevel", visible && !fpVisible);
-	childSetVisible("bg_icon_no_nav_bevel", !visible && fpVisible);
+	getChildView("bg_icon")->setVisible( visible && fpVisible);
+	getChildView("bg_icon_no_fav_bevel")->setVisible( visible && !fpVisible);
+	getChildView("bg_icon_no_nav_bevel")->setVisible( !visible && fpVisible);
 }
 
 void LLNavigationBar::showFavoritesPanel(BOOL visible)
@@ -883,9 +883,9 @@ void LLNavigationBar::showFavoritesPanel(BOOL visible)
 		getParent()->reshape(nbRect.getWidth(), nbRect.getHeight());
 	}
 
-	childSetVisible("bg_icon", npVisible && visible);
-	childSetVisible("bg_icon_no_fav_bevel", npVisible && !visible);
-	childSetVisible("bg_icon_no_nav_bevel", !npVisible && visible);
+	getChildView("bg_icon")->setVisible( npVisible && visible);
+	getChildView("bg_icon_no_fav_bevel")->setVisible( npVisible && !visible);
+	getChildView("bg_icon_no_nav_bevel")->setVisible( !npVisible && visible);
 
 	fb->setVisible(visible);
 }
diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp
index 534bb6e3fc78586fd8cd2cbb8d04e0f8f831ccf0..c8f97ecd13948fc0524f1f21bdc1861b2eb68a4a 100644
--- a/indra/newview/llpanelavatar.cpp
+++ b/indra/newview/llpanelavatar.cpp
@@ -176,14 +176,14 @@ void LLPanelAvatarNotes::onOpen(const LLSD& key)
 	fillRightsData();
 
 	//Disable "Add Friend" button for friends.
-	childSetEnabled("add_friend", !LLAvatarActions::isFriend(getAvatarId()));
+	getChildView("add_friend")->setEnabled(!LLAvatarActions::isFriend(getAvatarId()));
 }
 
 void LLPanelAvatarNotes::fillRightsData()
 {
-	childSetValue("status_check", FALSE);
-	childSetValue("map_check", FALSE);
-	childSetValue("objects_check", FALSE);
+	getChild<LLUICtrl>("status_check")->setValue(FALSE);
+	getChild<LLUICtrl>("map_check")->setValue(FALSE);
+	getChild<LLUICtrl>("objects_check")->setValue(FALSE);
 
 	const LLRelationship* relation = LLAvatarTracker::instance().getBuddyInfo(getAvatarId());
 	// If true - we are viewing friend's profile, enable check boxes and set values.
@@ -191,9 +191,9 @@ void LLPanelAvatarNotes::fillRightsData()
 	{
 		S32 rights = relation->getRightsGrantedTo();
 
-		childSetValue("status_check",LLRelationship::GRANT_ONLINE_STATUS & rights ? TRUE : FALSE);
-		childSetValue("map_check",LLRelationship::GRANT_MAP_LOCATION & rights ? TRUE : FALSE);
-		childSetValue("objects_check",LLRelationship::GRANT_MODIFY_OBJECTS & rights ? TRUE : FALSE);
+		getChild<LLUICtrl>("status_check")->setValue(LLRelationship::GRANT_ONLINE_STATUS & rights ? TRUE : FALSE);
+		getChild<LLUICtrl>("map_check")->setValue(LLRelationship::GRANT_MAP_LOCATION & rights ? TRUE : FALSE);
+		getChild<LLUICtrl>("objects_check")->setValue(LLRelationship::GRANT_MODIFY_OBJECTS & rights ? TRUE : FALSE);
 
 	}
 
@@ -202,7 +202,7 @@ void LLPanelAvatarNotes::fillRightsData()
 
 void LLPanelAvatarNotes::onCommitNotes()
 {
-	std::string notes = childGetValue("notes_edit").asString();
+	std::string notes = getChild<LLUICtrl>("notes_edit")->getValue().asString();
 	LLAvatarPropertiesProcessor::getInstance()-> sendNotes(getAvatarId(),notes);
 }
 
@@ -217,8 +217,8 @@ void LLPanelAvatarNotes::rightsConfirmationCallback(const LLSD& notification,
 	}
 	else
 	{
-		childSetValue("objects_check",
-				childGetValue("objects_check").asBoolean() ? FALSE : TRUE);
+		getChild<LLUICtrl>("objects_check")->setValue(
+				getChild<LLUICtrl>("objects_check")->getValue().asBoolean() ? FALSE : TRUE);
 	}
 }
 
@@ -261,14 +261,14 @@ void LLPanelAvatarNotes::onCommitRights()
 
 	S32 rights = 0;
 
-	if(childGetValue("status_check").asBoolean())
+	if(getChild<LLUICtrl>("status_check")->getValue().asBoolean())
 		rights |= LLRelationship::GRANT_ONLINE_STATUS;
-	if(childGetValue("map_check").asBoolean())
+	if(getChild<LLUICtrl>("map_check")->getValue().asBoolean())
 		rights |= LLRelationship::GRANT_MAP_LOCATION;
-	if(childGetValue("objects_check").asBoolean())
+	if(getChild<LLUICtrl>("objects_check")->getValue().asBoolean())
 		rights |= LLRelationship::GRANT_MODIFY_OBJECTS;
 
-	bool allow_modify_objects = childGetValue("objects_check").asBoolean();
+	bool allow_modify_objects = getChild<LLUICtrl>("objects_check")->getValue().asBoolean();
 
 	// if modify objects checkbox clicked
 	if (buddy_relationship->isRightGrantedTo(
@@ -291,8 +291,8 @@ void LLPanelAvatarNotes::processProperties(void* data, EAvatarProcessorType type
 		LLAvatarNotes* avatar_notes = static_cast<LLAvatarNotes*>(data);
 		if(avatar_notes && getAvatarId() == avatar_notes->target_id)
 		{
-			childSetValue("notes_edit",avatar_notes->notes);
-			childSetEnabled("notes edit", true);
+			getChild<LLUICtrl>("notes_edit")->setValue(avatar_notes->notes);
+			getChildView("notes edit")->setEnabled(true);
 
 			LLAvatarPropertiesProcessor::getInstance()->removeObserver(getAvatarId(),this);
 		}
@@ -301,15 +301,15 @@ void LLPanelAvatarNotes::processProperties(void* data, EAvatarProcessorType type
 
 void LLPanelAvatarNotes::resetData()
 {
-	childSetValue("notes_edit",LLStringUtil::null);
+	getChild<LLUICtrl>("notes_edit")->setValue(LLStringUtil::null);
 	// Default value is TRUE
-	childSetValue("status_check", TRUE);
+	getChild<LLUICtrl>("status_check")->setValue(TRUE);
 }
 
 void LLPanelAvatarNotes::resetControls()
 {
 	//Disable "Add Friend" button for friends.
-	childSetEnabled("add_friend", TRUE);
+	getChildView("add_friend")->setEnabled(TRUE);
 
 	enableCheckboxes(false);
 }
@@ -341,9 +341,9 @@ void LLPanelAvatarNotes::onShareButtonClick()
 
 void LLPanelAvatarNotes::enableCheckboxes(bool enable)
 {
-	childSetEnabled("status_check", enable);
-	childSetEnabled("map_check", enable);
-	childSetEnabled("objects_check", enable);
+	getChildView("status_check")->setEnabled(enable);
+	getChildView("map_check")->setEnabled(enable);
+	getChildView("objects_check")->setEnabled(enable);
 }
 
 LLPanelAvatarNotes::~LLPanelAvatarNotes()
@@ -361,7 +361,7 @@ LLPanelAvatarNotes::~LLPanelAvatarNotes()
 // virtual, called by LLAvatarTracker
 void LLPanelAvatarNotes::changed(U32 mask)
 {
-	childSetEnabled("teleport", LLAvatarTracker::instance().isBuddyOnline(getAvatarId()));
+	getChildView("teleport")->setEnabled(LLAvatarTracker::instance().isBuddyOnline(getAvatarId()));
 
 	// update rights to avoid have checkboxes enabled when friendship is terminated. EXT-4947.
 	fillRightsData();
@@ -375,7 +375,7 @@ void LLPanelAvatarNotes::onChange(EStatusType status, const std::string &channel
 		return;
 	}
 
-	childSetEnabled("call", LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking());
+	getChildView("call")->setEnabled(LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking());
 }
 
 void LLPanelAvatarNotes::setAvatarId(const LLUUID& id)
@@ -457,17 +457,17 @@ void LLPanelProfileTab::updateButtons()
 	
 	if(LLAvatarActions::isFriend(getAvatarId()))
 	{
-		childSetEnabled("teleport", is_buddy_online);
+		getChildView("teleport")->setEnabled(is_buddy_online);
 	}
 	else
 	{
-		childSetEnabled("teleport", true);
+		getChildView("teleport")->setEnabled(true);
 	}
 
 	bool enable_map_btn = (is_buddy_online &&
 			       is_agent_mappable(getAvatarId()))
 		|| gAgent.isGodlike();
-	childSetEnabled("show_on_map_btn", enable_map_btn);
+	getChildView("show_on_map_btn")->setEnabled(enable_map_btn);
 }
 
 //////////////////////////////////////////////////////////////////////////
@@ -528,7 +528,7 @@ void LLPanelAvatarProfile::onOpen(const LLSD& key)
 	mGroups.clear();
 
 	//Disable "Add Friend" button for friends.
-	childSetEnabled("add_friend", !LLAvatarActions::isFriend(getAvatarId()));
+	getChildView("add_friend")->setEnabled(!LLAvatarActions::isFriend(getAvatarId()));
 }
 
 void LLPanelAvatarProfile::updateData()
@@ -544,32 +544,32 @@ void LLPanelAvatarProfile::updateData()
 
 void LLPanelAvatarProfile::resetControls()
 {
-	childSetVisible("status_panel", true);
-	childSetVisible("profile_buttons_panel", true);
-	childSetVisible("title_groups_text", true);
-	childSetVisible("sl_groups", true);
-	childSetEnabled("add_friend", true);
+	getChildView("status_panel")->setVisible( true);
+	getChildView("profile_buttons_panel")->setVisible( true);
+	getChildView("title_groups_text")->setVisible( true);
+	getChildView("sl_groups")->setVisible( true);
+	getChildView("add_friend")->setEnabled(true);
 
-	childSetVisible("status_me_panel", false);
-	childSetVisible("profile_me_buttons_panel", false);
-	childSetVisible("account_actions_panel", false);
+	getChildView("status_me_panel")->setVisible( false);
+	getChildView("profile_me_buttons_panel")->setVisible( false);
+	getChildView("account_actions_panel")->setVisible( false);
 }
 
 void LLPanelAvatarProfile::resetData()
 {
 	mGroups.clear();
-	childSetValue("2nd_life_pic",LLUUID::null);
-	childSetValue("real_world_pic",LLUUID::null);
-	childSetValue("online_status",LLStringUtil::null);
-	childSetValue("status_message",LLStringUtil::null);
-	childSetValue("sl_description_edit",LLStringUtil::null);
-	childSetValue("fl_description_edit",LLStringUtil::null);
-	childSetValue("sl_groups",LLStringUtil::null);
-	childSetValue("homepage_edit",LLStringUtil::null);
-	childSetValue("register_date",LLStringUtil::null);
-	childSetValue("acc_status_text",LLStringUtil::null);
-	childSetTextArg("partner_text", "[FIRST]", LLStringUtil::null);
-	childSetTextArg("partner_text", "[LAST]", LLStringUtil::null);
+	getChild<LLUICtrl>("2nd_life_pic")->setValue(LLUUID::null);
+	getChild<LLUICtrl>("real_world_pic")->setValue(LLUUID::null);
+	getChild<LLUICtrl>("online_status")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("status_message")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("sl_description_edit")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("fl_description_edit")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("sl_groups")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("homepage_edit")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("register_date")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("acc_status_text")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("partner_text")->setTextArg("[FIRST]", LLStringUtil::null);
+	getChild<LLUICtrl>("partner_text")->setTextArg("[LAST]", LLStringUtil::null);
 }
 
 void LLPanelAvatarProfile::processProperties(void* data, EAvatarProcessorType type)
@@ -631,7 +631,7 @@ void LLPanelAvatarProfile::processGroupProperties(const LLAvatarGroups* avatar_g
 		groups += group_url;
 	}
 
-	childSetValue("sl_groups", groups);
+	getChild<LLUICtrl>("sl_groups")->setValue(groups);
 }
 
 void LLPanelAvatarProfile::fillCommonData(const LLAvatarData* avatar_data)
@@ -647,15 +647,15 @@ void LLPanelAvatarProfile::fillCommonData(const LLAvatarData* avatar_data)
 	}
 	args["[AGE]"] = LLDateUtil::ageFromDate( avatar_data->born_on, LLDate::now());
 	std::string register_date = getString("RegisterDateFormat", args);
-	childSetValue("register_date", register_date );
-	childSetValue("sl_description_edit", avatar_data->about_text);
-	childSetValue("fl_description_edit",avatar_data->fl_about_text);
-	childSetValue("2nd_life_pic", avatar_data->image_id);
-	childSetValue("real_world_pic", avatar_data->fl_image_id);
-	childSetValue("homepage_edit", avatar_data->profile_url);
+	getChild<LLUICtrl>("register_date")->setValue(register_date );
+	getChild<LLUICtrl>("sl_description_edit")->setValue(avatar_data->about_text);
+	getChild<LLUICtrl>("fl_description_edit")->setValue(avatar_data->fl_about_text);
+	getChild<LLUICtrl>("2nd_life_pic")->setValue(avatar_data->image_id);
+	getChild<LLUICtrl>("real_world_pic")->setValue(avatar_data->fl_image_id);
+	getChild<LLUICtrl>("homepage_edit")->setValue(avatar_data->profile_url);
 
 	// Hide home page textbox if no page was set to fix "homepage URL appears clickable without URL - EXT-4734"
-	childSetVisible("homepage_edit", !avatar_data->profile_url.empty());
+	getChildView("homepage_edit")->setVisible( !avatar_data->profile_url.empty());
 }
 
 void LLPanelAvatarProfile::fillPartnerData(const LLAvatarData* avatar_data)
@@ -681,7 +681,7 @@ void LLPanelAvatarProfile::fillAccountStatus(const LLAvatarData* avatar_data)
 	// dataserver/lldataavatar.cpp for privacy considerations
 	args["[AGEVERIFICATION]"] = "";
 	std::string caption_text = getString("CaptionTextAcctInfo", args);
-	childSetValue("acc_status_text", caption_text);
+	getChild<LLUICtrl>("acc_status_text")->setValue(caption_text);
 }
 
 void LLPanelAvatarProfile::pay()
@@ -797,7 +797,7 @@ LLPanelAvatarProfile::~LLPanelAvatarProfile()
 // virtual, called by LLAvatarTracker
 void LLPanelAvatarProfile::changed(U32 mask)
 {
-	childSetEnabled("teleport", LLAvatarTracker::instance().isBuddyOnline(getAvatarId()));
+	getChildView("teleport")->setEnabled(LLAvatarTracker::instance().isBuddyOnline(getAvatarId()));
 }
 
 // virtual
@@ -808,7 +808,7 @@ void LLPanelAvatarProfile::onChange(EStatusType status, const std::string &chann
 		return;
 	}
 
-	childSetEnabled("call", LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking());
+	getChildView("call")->setEnabled(LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking());
 }
 
 void LLPanelAvatarProfile::setAvatarId(const LLUUID& id)
@@ -861,12 +861,12 @@ void LLPanelMyProfile::processProfileProperties(const LLAvatarData* avatar_data)
 
 void LLPanelMyProfile::resetControls()
 {
-	childSetVisible("status_panel", false);
-	childSetVisible("profile_buttons_panel", false);
-	childSetVisible("title_groups_text", false);
-	childSetVisible("sl_groups", false);
-	childSetVisible("status_me_panel", true);
-	childSetVisible("profile_me_buttons_panel", true);
+	getChildView("status_panel")->setVisible( false);
+	getChildView("profile_buttons_panel")->setVisible( false);
+	getChildView("title_groups_text")->setVisible( false);
+	getChildView("sl_groups")->setVisible( false);
+	getChildView("status_me_panel")->setVisible( true);
+	getChildView("profile_me_buttons_panel")->setVisible( true);
 }
 
 
diff --git a/indra/newview/llpanelblockedlist.cpp b/indra/newview/llpanelblockedlist.cpp
index c72f0f8012cfef7cdca1371619490089eb335a0b..d24c2f7f1b2a1ffbd0e136f1221f34d16d62e56a 100644
--- a/indra/newview/llpanelblockedlist.cpp
+++ b/indra/newview/llpanelblockedlist.cpp
@@ -132,7 +132,7 @@ void LLPanelBlockedList::refreshBlockedList()
 void LLPanelBlockedList::updateButtons()
 {
 	bool hasSelected = NULL != mBlockedList->getFirstSelected();
-	childSetEnabled("Unblock", hasSelected);
+	getChildView("Unblock")->setEnabled(hasSelected);
 }
 
 
@@ -269,7 +269,7 @@ void LLFloaterGetBlockedObjectName::applyBlocking()
 {
 	if (mGetObjectNameCallback)
 	{
-		const std::string& text = childGetValue("object_name").asString();
+		const std::string& text = getChild<LLUICtrl>("object_name")->getValue().asString();
 		mGetObjectNameCallback(text);
 	}
 	closeFloater();
diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp
index af6214385b4d986cbf12b31ab639bd81a0bf074c..09b718f8b858a262e414b82b8adf4c064669c455 100644
--- a/indra/newview/llpanelclassified.cpp
+++ b/indra/newview/llpanelclassified.cpp
@@ -263,7 +263,7 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t
 			setSimName(c_info->sim_name);
 
 			setClassifiedLocation(createLocationText(c_info->parcel_name, c_info->sim_name, c_info->pos_global));
-			childSetValue("category", LLClassifiedInfo::sCategories[c_info->category]);
+			getChild<LLUICtrl>("category")->setValue(LLClassifiedInfo::sCategories[c_info->category]);
 
 			static std::string mature_str = getString("type_mature");
 			static std::string pg_str = getString("type_pg");
@@ -271,20 +271,20 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t
 			static std::string date_fmt = getString("date_fmt");
 
 			bool mature = is_cf_mature(c_info->flags);
-			childSetValue("content_type", mature ? mature_str : pg_str);
+			getChild<LLUICtrl>("content_type")->setValue(mature ? mature_str : pg_str);
 			getChild<LLIconCtrl>("content_type_moderate")->setVisible(mature);
 			getChild<LLIconCtrl>("content_type_general")->setVisible(!mature);
 
 			std::string auto_renew_str = is_cf_auto_renew(c_info->flags) ? 
 				getString("auto_renew_on") : getString("auto_renew_off");
-			childSetValue("auto_renew", auto_renew_str);
+			getChild<LLUICtrl>("auto_renew")->setValue(auto_renew_str);
 
 			price_str.setArg("[PRICE]", llformat("%d", c_info->price_for_listing));
-			childSetValue("price_for_listing", LLSD(price_str));
+			getChild<LLUICtrl>("price_for_listing")->setValue(LLSD(price_str));
 
 			std::string date_str = date_fmt;
 			LLStringUtil::format(date_str, LLSD().with("datetime", (S32) c_info->creation_date));
-			childSetText("creation_date", date_str);
+			getChild<LLUICtrl>("creation_date")->setValue(date_str);
 
 			setInfoLoaded(true);
 		}
@@ -311,13 +311,13 @@ void LLPanelClassifiedInfo::resetData()
 	mMapClicksNew		= 0;
 	mProfileClicksNew	= 0;
 
-	childSetText("category", LLStringUtil::null);
-	childSetText("content_type", LLStringUtil::null);
-	childSetText("click_through_text", LLStringUtil::null);
-	childSetText("price_for_listing", LLStringUtil::null);
-	childSetText("auto_renew", LLStringUtil::null);
-	childSetText("creation_date", LLStringUtil::null);
-	childSetText("click_through_text", LLStringUtil::null);
+	getChild<LLUICtrl>("category")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("content_type")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("click_through_text")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("price_for_listing")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("auto_renew")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("creation_date")->setValue(LLStringUtil::null);
+	getChild<LLUICtrl>("click_through_text")->setValue(LLStringUtil::null);
 	getChild<LLIconCtrl>("content_type_moderate")->setVisible(FALSE);
 	getChild<LLIconCtrl>("content_type_general")->setVisible(FALSE);
 }
@@ -326,40 +326,40 @@ void LLPanelClassifiedInfo::resetControls()
 {
 	bool is_self = getAvatarId() == gAgent.getID();
 
-	childSetEnabled("edit_btn", is_self);
-	childSetVisible("edit_btn", is_self);
-	childSetVisible("price_layout_panel", is_self);
-	childSetVisible("clickthrough_layout_panel", is_self);
+	getChildView("edit_btn")->setEnabled(is_self);
+	getChildView("edit_btn")->setVisible( is_self);
+	getChildView("price_layout_panel")->setVisible( is_self);
+	getChildView("clickthrough_layout_panel")->setVisible( is_self);
 }
 
 void LLPanelClassifiedInfo::setClassifiedName(const std::string& name)
 {
-	childSetValue("classified_name", name);
+	getChild<LLUICtrl>("classified_name")->setValue(name);
 }
 
 std::string LLPanelClassifiedInfo::getClassifiedName()
 {
-	return childGetValue("classified_name").asString();
+	return getChild<LLUICtrl>("classified_name")->getValue().asString();
 }
 
 void LLPanelClassifiedInfo::setDescription(const std::string& desc)
 {
-	childSetValue("classified_desc", desc);
+	getChild<LLUICtrl>("classified_desc")->setValue(desc);
 }
 
 std::string LLPanelClassifiedInfo::getDescription()
 {
-	return childGetValue("classified_desc").asString();
+	return getChild<LLUICtrl>("classified_desc")->getValue().asString();
 }
 
 void LLPanelClassifiedInfo::setClassifiedLocation(const std::string& location)
 {
-	childSetValue("classified_location", location);
+	getChild<LLUICtrl>("classified_location")->setValue(location);
 }
 
 std::string LLPanelClassifiedInfo::getClassifiedLocation()
 {
-	return childGetValue("classified_location").asString();
+	return getChild<LLUICtrl>("classified_location")->getValue().asString();
 }
 
 void LLPanelClassifiedInfo::setSnapshotId(const LLUUID& id)
@@ -382,7 +382,7 @@ void LLPanelClassifiedInfo::draw()
 
 LLUUID LLPanelClassifiedInfo::getSnapshotId()
 {
-	return childGetValue("classified_snapshot").asUUID();
+	return getChild<LLUICtrl>("classified_snapshot")->getValue().asUUID();
 }
 
 // static
@@ -437,9 +437,9 @@ void LLPanelClassifiedInfo::setClickThrough(
 		ct_str.setArg("[MAP]",		llformat("%d", self->mMapClicksNew + self->mMapClicksOld));
 		ct_str.setArg("[PROFILE]",	llformat("%d", self->mProfileClicksNew + self->mProfileClicksOld));
 
-		self->childSetText("click_through_text", ct_str.getString());
+		self->getChild<LLUICtrl>("click_through_text")->setValue(ct_str.getString());
 		// *HACK: remove this when there is enough room for click stats in the info panel
-		self->childSetToolTip("click_through_text", ct_str.getString());  
+		self->getChildView("click_through_text")->setToolTip(ct_str.getString());  
 
 		llinfos << "teleport: " << llformat("%d", self->mTeleportClicksNew + self->mTeleportClicksOld)
 				<< ", map: "    << llformat("%d", self->mMapClicksNew + self->mMapClicksOld)
@@ -687,8 +687,8 @@ void LLPanelClassifiedEdit::fillIn(const LLSD& key)
 			region_name = region->getName();
 		}
 
-		childSetValue("classified_name", makeClassifiedName());
-		childSetValue("classified_desc", desc);
+		getChild<LLUICtrl>("classified_name")->setValue(makeClassifiedName());
+		getChild<LLUICtrl>("classified_desc")->setValue(desc);
 		setSnapshotId(snapshot_id);
 		setClassifiedLocation(createLocationText(getLocationNotice(), region_name, getPosGlobal()));
 		// server will set valid parcel id
@@ -703,8 +703,8 @@ void LLPanelClassifiedEdit::fillIn(const LLSD& key)
 		setCategory((U32)key["category"].asInteger());
 		setContentType((U32)key["content_type"].asInteger());
 		setClassifiedLocation(key["location_text"]);
-		childSetValue("auto_renew", key["auto_renew"]);
-		childSetValue("price_for_listing", key["price_for_listing"].asInteger());
+		getChild<LLUICtrl>("auto_renew")->setValue(key["auto_renew"]);
+		getChild<LLUICtrl>("price_for_listing")->setValue(key["price_for_listing"].asInteger());
 	}
 }
 
@@ -735,7 +735,7 @@ void LLPanelClassifiedEdit::onOpen(const LLSD& key)
 	}
 
 	std::string save_btn_label = is_new ? getString("publish_label") : getString("save_label");
-	childSetLabelArg("save_changes_btn", "[LABEL]", save_btn_label);
+	getChild<LLUICtrl>("save_changes_btn")->setLabelArg("[LABEL]", save_btn_label);
 
 	enableVerbs(is_new);
 	enableEditing(is_new);
@@ -774,16 +774,16 @@ void LLPanelClassifiedEdit::processProperties(void* data, EAvatarProcessorType t
 			bool auto_renew = is_cf_auto_renew(c_info->flags);
 
 			setContentType(mature ? CB_ITEM_MATURE : CB_ITEM_PG);
-			childSetValue("auto_renew", auto_renew);
-			childSetValue("price_for_listing", c_info->price_for_listing);
-			childSetEnabled("price_for_listing", isNew());
+			getChild<LLUICtrl>("auto_renew")->setValue(auto_renew);
+			getChild<LLUICtrl>("price_for_listing")->setValue(c_info->price_for_listing);
+			getChildView("price_for_listing")->setEnabled(isNew());
 
 			resetDirty();
 			setInfoLoaded(true);
 			enableVerbs(false);
 
 			// for just created classified - in case user opened edit panel before processProperties() callback 
-			childSetLabelArg("save_changes_btn", "[LABEL]", getString("save_label"));
+			getChild<LLUICtrl>("save_changes_btn")->setLabelArg("[LABEL]", getString("save_label"));
 		}
 	}
 }
@@ -842,9 +842,9 @@ void LLPanelClassifiedEdit::resetControls()
 
 	getChild<LLComboBox>("category")->setCurrentByIndex(0);
 	getChild<LLComboBox>("content_type")->setCurrentByIndex(0);
-	childSetValue("auto_renew", false);
-	childSetValue("price_for_listing", MINIMUM_PRICE_FOR_LISTING);
-	childSetEnabled("price_for_listing", TRUE);
+	getChild<LLUICtrl>("auto_renew")->setValue(false);
+	getChild<LLUICtrl>("price_for_listing")->setValue(MINIMUM_PRICE_FOR_LISTING);
+	getChildView("price_for_listing")->setEnabled(TRUE);
 }
 
 bool LLPanelClassifiedEdit::canClose()
@@ -883,7 +883,7 @@ void LLPanelClassifiedEdit::setContentType(U32 content_type)
 
 bool LLPanelClassifiedEdit::getAutoRenew()
 {
-	return childGetValue("auto_renew").asBoolean();
+	return getChild<LLUICtrl>("auto_renew")->getValue().asBoolean();
 }
 
 void LLPanelClassifiedEdit::sendUpdate()
@@ -934,7 +934,7 @@ void LLPanelClassifiedEdit::setCategory(U32 category)
 
 U8 LLPanelClassifiedEdit::getFlags()
 {
-	bool auto_renew = childGetValue("auto_renew").asBoolean();
+	bool auto_renew = getChild<LLUICtrl>("auto_renew")->getValue().asBoolean();
 
 	LLComboBox* content_cb = getChild<LLComboBox>("content_type");
 	bool mature = content_cb->getCurrentIndex() == CB_ITEM_MATURE;
@@ -944,25 +944,25 @@ U8 LLPanelClassifiedEdit::getFlags()
 
 void LLPanelClassifiedEdit::enableVerbs(bool enable)
 {
-	childSetEnabled("save_changes_btn", enable);
+	getChildView("save_changes_btn")->setEnabled(enable);
 }
 
 void LLPanelClassifiedEdit::enableEditing(bool enable)
 {
-	childSetEnabled("classified_snapshot", enable);
-	childSetEnabled("classified_name", enable);
-	childSetEnabled("classified_desc", enable);
-	childSetEnabled("set_to_curr_location_btn", enable);
-	childSetEnabled("category", enable);
-	childSetEnabled("content_type", enable);
-	childSetEnabled("price_for_listing", enable);
-	childSetEnabled("auto_renew", enable);
+	getChildView("classified_snapshot")->setEnabled(enable);
+	getChildView("classified_name")->setEnabled(enable);
+	getChildView("classified_desc")->setEnabled(enable);
+	getChildView("set_to_curr_location_btn")->setEnabled(enable);
+	getChildView("category")->setEnabled(enable);
+	getChildView("content_type")->setEnabled(enable);
+	getChildView("price_for_listing")->setEnabled(enable);
+	getChildView("auto_renew")->setEnabled(enable);
 }
 
 void LLPanelClassifiedEdit::showEditing(bool show)
 {
-	childSetVisible("price_for_listing_label", show);
-	childSetVisible("price_for_listing", show);
+	getChildView("price_for_listing_label")->setVisible( show);
+	getChildView("price_for_listing")->setVisible( show);
 }
 
 std::string LLPanelClassifiedEdit::makeClassifiedName()
@@ -991,12 +991,12 @@ std::string LLPanelClassifiedEdit::makeClassifiedName()
 
 S32 LLPanelClassifiedEdit::getPriceForListing()
 {
-	return childGetValue("price_for_listing").asInteger();
+	return getChild<LLUICtrl>("price_for_listing")->getValue().asInteger();
 }
 
 void LLPanelClassifiedEdit::setPriceForListing(S32 price)
 {
-	childSetValue("price_for_listing", price);
+	getChild<LLUICtrl>("price_for_listing")->setValue(price);
 }
 
 void LLPanelClassifiedEdit::onSetLocationClick()
@@ -1154,12 +1154,12 @@ BOOL LLPublishClassifiedFloater::postBuild()
 
 void LLPublishClassifiedFloater::setPrice(S32 price)
 {
-	childSetValue("price_for_listing", price);
+	getChild<LLUICtrl>("price_for_listing")->setValue(price);
 }
 
 S32 LLPublishClassifiedFloater::getPrice()
 {
-	return childGetValue("price_for_listing").asInteger();
+	return getChild<LLUICtrl>("price_for_listing")->getValue().asInteger();
 }
 
 void LLPublishClassifiedFloater::setPublishClickedCallback(const commit_signal_t::slot_type& cb)
diff --git a/indra/newview/llpanelcontents.cpp b/indra/newview/llpanelcontents.cpp
index f4c0a842e7968eeff8313ead2e4d42e911ac8412..02db3d3715b3e5cb54ddd73839bf23d974f6948f 100644
--- a/indra/newview/llpanelcontents.cpp
+++ b/indra/newview/llpanelcontents.cpp
@@ -113,7 +113,7 @@ void LLPanelContents::getState(LLViewerObject *objectp )
 {
 	if( !objectp )
 	{
-		childSetEnabled("button new script",FALSE);
+		getChildView("button new script")->setEnabled(FALSE);
 		return;
 	}
 
@@ -127,7 +127,7 @@ void LLPanelContents::getState(LLViewerObject *objectp )
 	BOOL all_volume = LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME );
 
 	// Edit script button - ok if object is editable and there's an unambiguous destination for the object.
-	childSetEnabled("button new script",
+	getChildView("button new script")->setEnabled(
 		editable &&
 		all_volume &&
 		((LLSelectMgr::getInstance()->getSelection()->getRootObjectCount() == 1)
diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp
index 094769b8f5f13c41e01788e3d238e873cc5fb3ce..d8ae6ad9f407900db886827b27e35bb1e6cee667 100644
--- a/indra/newview/llpaneleditwearable.cpp
+++ b/indra/newview/llpaneleditwearable.cpp
@@ -1186,9 +1186,9 @@ void LLPanelEditWearable::toggleTypeSpecificControls(LLWearableType::EType type)
 	// Toggle controls specific to shape editing panel.
 	{
 		bool is_shape = (type == LLWearableType::WT_SHAPE);
-		childSetVisible("sex_radio", is_shape);
-		childSetVisible("female_icon", is_shape);
-		childSetVisible("male_icon", is_shape);
+		getChildView("sex_radio")->setVisible( is_shape);
+		getChildView("female_icon")->setVisible( is_shape);
+		getChildView("male_icon")->setVisible( is_shape);
 	}
 }
 
@@ -1388,7 +1388,7 @@ void LLPanelEditWearable::updateVerbs()
 	BOOL is_dirty = isDirty();
 
 	mBtnRevert->setEnabled(is_dirty);
-	childSetEnabled("save_as_button", is_dirty && can_copy);
+	getChildView("save_as_button")->setEnabled(is_dirty && can_copy);
 
 	if(isAgentAvatarValid())
 	{
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index e3503c065baeae2cb55d2da8340766896a8d21ce..36713f65bd7a63e669918ba02911fb37fbde4125 100644
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -394,8 +394,8 @@ void LLPanelFace::getState()
 		BOOL editable = objectp->permModify();
 
 		// only turn on auto-adjust button if there is a media renderer and the media is loaded
-		childSetEnabled("textbox autofix", editable);
-		childSetEnabled("button align", editable);
+		getChildView("textbox autofix")->setEnabled(editable);
+		getChildView("button align")->setEnabled(editable);
 		
 		//if ( LLMediaEngine::getInstance()->getMediaRenderer () )
 		//	if ( LLMediaEngine::getInstance()->getMediaRenderer ()->isLoaded () )
@@ -405,7 +405,7 @@ void LLPanelFace::getState()
 		//		
 		//		//mBtnAutoFix->setEnabled ( editable );
 		//	}
-		childSetEnabled("button apply",editable);
+		getChildView("button apply")->setEnabled(editable);
 
 		bool identical;
 		LLTextureCtrl*	texture_ctrl = getChild<LLTextureCtrl>("texture control");
@@ -445,8 +445,8 @@ void LLPanelFace::getState()
 
 			if(LLViewerMedia::textureHasMedia(id))
 			{
-				childSetEnabled("textbox autofix",editable);
-				childSetEnabled("button align",editable);
+				getChildView("textbox autofix")->setEnabled(editable);
+				getChildView("button align")->setEnabled(editable);
 			}
 			
 			if (identical)
@@ -514,12 +514,12 @@ void LLPanelFace::getState()
 				}
 			} func;
 			identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, scale_s );
-			childSetValue("TexScaleU",editable ? llabs(scale_s) : 0);
-			childSetTentative("TexScaleU",LLSD((BOOL)(!identical)));
-			childSetEnabled("TexScaleU",editable);
-			childSetValue("checkbox flip s",LLSD((BOOL)(scale_s < 0 ? TRUE : FALSE )));
-			childSetTentative("checkbox flip s",LLSD((BOOL)((!identical) ? TRUE : FALSE )));
-			childSetEnabled("checkbox flip s",editable);
+			getChild<LLUICtrl>("TexScaleU")->setValue(editable ? llabs(scale_s) : 0);
+			getChild<LLUICtrl>("TexScaleU")->setTentative(LLSD((BOOL)(!identical)));
+			getChildView("TexScaleU")->setEnabled(editable);
+			getChild<LLUICtrl>("checkbox flip s")->setValue(LLSD((BOOL)(scale_s < 0 ? TRUE : FALSE )));
+			getChild<LLUICtrl>("checkbox flip s")->setTentative(LLSD((BOOL)((!identical) ? TRUE : FALSE )));
+			getChildView("checkbox flip s")->setEnabled(editable);
 		}
 
 		{
@@ -533,17 +533,17 @@ void LLPanelFace::getState()
 			} func;
 			identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, scale_t );
 
-			childSetValue("TexScaleV",llabs(editable ? llabs(scale_t) : 0));
-			childSetTentative("TexScaleV",LLSD((BOOL)(!identical)));
-			childSetEnabled("TexScaleV",editable);
-			childSetValue("checkbox flip t",LLSD((BOOL)(scale_t< 0 ? TRUE : FALSE )));
-			childSetTentative("checkbox flip t",LLSD((BOOL)((!identical) ? TRUE : FALSE )));
-			childSetEnabled("checkbox flip t",editable);
+			getChild<LLUICtrl>("TexScaleV")->setValue(llabs(editable ? llabs(scale_t) : 0));
+			getChild<LLUICtrl>("TexScaleV")->setTentative(LLSD((BOOL)(!identical)));
+			getChildView("TexScaleV")->setEnabled(editable);
+			getChild<LLUICtrl>("checkbox flip t")->setValue(LLSD((BOOL)(scale_t< 0 ? TRUE : FALSE )));
+			getChild<LLUICtrl>("checkbox flip t")->setTentative(LLSD((BOOL)((!identical) ? TRUE : FALSE )));
+			getChildView("checkbox flip t")->setEnabled(editable);
 		}
 
 		// Texture offset
 		{
-			childSetEnabled("tex offset",editable);
+			getChildView("tex offset")->setEnabled(editable);
 			F32 offset_s = 0.f;
 			struct f4 : public LLSelectedTEGetFunctor<F32>
 			{
@@ -553,9 +553,9 @@ void LLPanelFace::getState()
 				}
 			} func;
 			identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, offset_s );
-			childSetValue("TexOffsetU", editable ? offset_s : 0);
-			childSetTentative("TexOffsetU",!identical);
-			childSetEnabled("TexOffsetU",editable);
+			getChild<LLUICtrl>("TexOffsetU")->setValue(editable ? offset_s : 0);
+			getChild<LLUICtrl>("TexOffsetU")->setTentative(!identical);
+			getChildView("TexOffsetU")->setEnabled(editable);
 		}
 
 		{
@@ -568,9 +568,9 @@ void LLPanelFace::getState()
 				}
 			} func;
 			identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, offset_t );
-			childSetValue("TexOffsetV", editable ? offset_t : 0);
-			childSetTentative("TexOffsetV",!identical);
-			childSetEnabled("TexOffsetV",editable);
+			getChild<LLUICtrl>("TexOffsetV")->setValue(editable ? offset_t : 0);
+			getChild<LLUICtrl>("TexOffsetV")->setTentative(!identical);
+			getChildView("TexOffsetV")->setEnabled(editable);
 		}
 
 		// Texture rotation
@@ -584,9 +584,9 @@ void LLPanelFace::getState()
 				}
 			} func;
 			identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, rotation );
-			childSetValue("TexRot", editable ? rotation * RAD_TO_DEG : 0);
-			childSetTentative("TexRot",!identical);
-			childSetEnabled("TexRot",editable);
+			getChild<LLUICtrl>("TexRot")->setValue(editable ? rotation * RAD_TO_DEG : 0);
+			getChild<LLUICtrl>("TexRot")->setTentative(!identical);
+			getChildView("TexRot")->setEnabled(editable);
 		}
 
 		// Color swatch
@@ -612,13 +612,13 @@ void LLPanelFace::getState()
 		}
 		// Color transparency
 		{
-			childSetEnabled("color trans",editable);
+			getChildView("color trans")->setEnabled(editable);
 		}
 
 		F32 transparency = (1.f - color.mV[VALPHA]) * 100.f;
 		{
-			childSetValue("ColorTrans", editable ? transparency : 0);
-			childSetEnabled("ColorTrans",editable);
+			getChild<LLUICtrl>("ColorTrans")->setValue(editable ? transparency : 0);
+			getChildView("ColorTrans")->setEnabled(editable);
 		}
 
 		{
@@ -632,10 +632,10 @@ void LLPanelFace::getState()
 			} func;
 			identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, glow );
 
-			childSetValue("glow",glow);
-			childSetEnabled("glow",editable);
-			childSetTentative("glow",!identical);
-			childSetEnabled("glow label",editable);
+			getChild<LLUICtrl>("glow")->setValue(glow);
+			getChildView("glow")->setEnabled(editable);
+			getChild<LLUICtrl>("glow")->setTentative(!identical);
+			getChildView("glow label")->setEnabled(editable);
 
 		}
 
@@ -660,9 +660,9 @@ void LLPanelFace::getState()
 			{
 				llwarns << "failed childGetSelectionInterface for 'combobox shininess'" << llendl;
 			}
-			childSetEnabled("combobox shininess",editable);
-			childSetTentative("combobox shininess",!identical);
-			childSetEnabled("label shininess",editable);
+			getChildView("combobox shininess")->setEnabled(editable);
+			getChild<LLUICtrl>("combobox shininess")->setTentative(!identical);
+			getChildView("label shininess")->setEnabled(editable);
 		}
 
 		{
@@ -685,9 +685,9 @@ void LLPanelFace::getState()
 			{
 				llwarns << "failed childGetSelectionInterface for 'combobox bumpiness'" << llendl;
 			}
-			childSetEnabled("combobox bumpiness",editable);
-			childSetTentative("combobox bumpiness",!identical);
-			childSetEnabled("label bumpiness",editable);
+			getChildView("combobox bumpiness")->setEnabled(editable);
+			getChild<LLUICtrl>("combobox bumpiness")->setTentative(!identical);
+			getChildView("label bumpiness")->setEnabled(editable);
 		}
 
 		{
@@ -711,14 +711,14 @@ void LLPanelFace::getState()
 			{
 				llwarns << "failed childGetSelectionInterface for 'combobox texgen'" << llendl;
 			}
-			childSetEnabled("combobox texgen",editable);
-			childSetTentative("combobox texgen",!identical);
-			childSetEnabled("tex gen",editable);
+			getChildView("combobox texgen")->setEnabled(editable);
+			getChild<LLUICtrl>("combobox texgen")->setTentative(!identical);
+			getChildView("tex gen")->setEnabled(editable);
 
 			if (selected_texgen == 1)
 			{
-				childSetValue("TexScaleU", 2.0f * childGetValue("TexScaleU").asReal() );
-				childSetValue("TexScaleV", 2.0f * childGetValue("TexScaleV").asReal() );
+				getChild<LLUICtrl>("TexScaleU")->setValue(2.0f * getChild<LLUICtrl>("TexScaleU")->getValue().asReal() );
+				getChild<LLUICtrl>("TexScaleV")->setValue(2.0f * getChild<LLUICtrl>("TexScaleV")->getValue().asReal() );
 			}
 
 		}
@@ -734,14 +734,14 @@ void LLPanelFace::getState()
 			} func;
 			identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, fullbrightf );
 
-			childSetValue("checkbox fullbright",(S32)fullbrightf);
-			childSetEnabled("checkbox fullbright",editable);
-			childSetTentative("checkbox fullbright",!identical);
+			getChild<LLUICtrl>("checkbox fullbright")->setValue((S32)fullbrightf);
+			getChildView("checkbox fullbright")->setEnabled(editable);
+			getChild<LLUICtrl>("checkbox fullbright")->setTentative(!identical);
 		}
 		
 		// Repeats per meter label
 		{
-			childSetEnabled("rpt",editable);
+			getChildView("rpt")->setEnabled(editable);
 		}
 
 		// Repeats per meter
@@ -761,14 +761,14 @@ void LLPanelFace::getState()
 			} func;			
 			identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &func, repeats );
 			
-			childSetValue("rptctrl", editable ? repeats : 0);
-			childSetTentative("rptctrl",!identical);
+			getChild<LLUICtrl>("rptctrl")->setValue(editable ? repeats : 0);
+			getChild<LLUICtrl>("rptctrl")->setTentative(!identical);
 			LLComboBox*	mComboTexGen = getChild<LLComboBox>("combobox texgen");
 			if (mComboTexGen)
 			{
 				BOOL enabled = editable && (!mComboTexGen || mComboTexGen->getCurrentIndex() != 1);
-				childSetEnabled("rptctrl",enabled);
-				childSetEnabled("button apply",enabled);
+				getChildView("rptctrl")->setEnabled(enabled);
+				getChildView("button apply")->setEnabled(enabled);
 			}
 		}
 	}
@@ -792,19 +792,19 @@ void LLPanelFace::getState()
 			mColorSwatch->setFallbackImageName("locked_image.j2c" );
 			mColorSwatch->setValid(FALSE);
 		}
-		childSetEnabled("color trans",FALSE);
-		childSetEnabled("rpt",FALSE);
-		childSetEnabled("tex offset",FALSE);
-		childSetEnabled("tex gen",FALSE);
-		childSetEnabled("label shininess",FALSE);
-		childSetEnabled("label bumpiness",FALSE);
-
-		childSetEnabled("textbox autofix",FALSE);
-
-		childSetEnabled("button align",FALSE);
-		childSetEnabled("button apply",FALSE);
-		//childSetEnabled("has media", FALSE);
-		//childSetEnabled("media info set", FALSE);
+		getChildView("color trans")->setEnabled(FALSE);
+		getChildView("rpt")->setEnabled(FALSE);
+		getChildView("tex offset")->setEnabled(FALSE);
+		getChildView("tex gen")->setEnabled(FALSE);
+		getChildView("label shininess")->setEnabled(FALSE);
+		getChildView("label bumpiness")->setEnabled(FALSE);
+
+		getChildView("textbox autofix")->setEnabled(FALSE);
+
+		getChildView("button align")->setEnabled(FALSE);
+		getChildView("button apply")->setEnabled(FALSE);
+		//getChildView("has media")->setEnabled(FALSE);
+		//getChildView("media info set")->setEnabled(FALSE);
 		
 	}
 }
@@ -934,7 +934,7 @@ void LLPanelFace::onClickApply(void* userdata)
 	gFocusMgr.setKeyboardFocus( NULL );
 
 	//F32 repeats_per_meter = self->mCtrlRepeatsPerMeter->get();
-	F32 repeats_per_meter = (F32)self->childGetValue( "rptctrl" ).asReal();//self->mCtrlRepeatsPerMeter->get();
+	F32 repeats_per_meter = (F32)self->getChild<LLUICtrl>("rptctrl")->getValue().asReal();//self->mCtrlRepeatsPerMeter->get();
 	LLSelectMgr::getInstance()->selectionTexScaleAutofit( repeats_per_meter );
 }
 
diff --git a/indra/newview/llpanelgenerictip.cpp b/indra/newview/llpanelgenerictip.cpp
index 8ba2e6d01c7b6c606344dfe250155c2eb07fc466..5a71f7f31552506f73b4393aa6b0a2da12cc1ec1 100644
--- a/indra/newview/llpanelgenerictip.cpp
+++ b/indra/newview/llpanelgenerictip.cpp
@@ -44,7 +44,7 @@ LLPanelGenericTip::LLPanelGenericTip(
 {
 	LLUICtrlFactory::getInstance()->buildPanel(this, "panel_generic_tip.xml");
 
-	childSetValue("message", notification->getMessage());
+	getChild<LLUICtrl>("message")->setValue(notification->getMessage());
 
 
 	S32 max_line_count =  gSavedSettings.getS32("TipToastMessageLineCount");
diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp
index d997b83cbbbd872731dfd5039a79d25b5338470c..62852f98d99afa231071c3254598b2346e30bd5f 100644
--- a/indra/newview/llpanelgroup.cpp
+++ b/indra/newview/llpanelgroup.cpp
@@ -321,7 +321,7 @@ void LLPanelGroup::onChange(EStatusType status, const std::string &channelURI, b
 		return;
 	}
 
-	childSetEnabled("btn_call", LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking());
+	getChildView("btn_call")->setEnabled(LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking());
 }
 
 void LLPanelGroup::notifyObservers()
@@ -335,8 +335,8 @@ 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);
+		getChild<LLUICtrl>("group_name")->setValue(group_name);
+		getChildView("group_name")->setToolTip(group_name);
 		
 		LLGroupData agent_gdatap;
 		bool is_member = gAgent.getGroupData(mID,agent_gdatap) || gAgent.isGodlike();
@@ -382,8 +382,8 @@ 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);
+		getChild<LLUICtrl>("group_name")->setValue(group_name);
+		getChildView("group_name")->setToolTip(group_name);
 	}
 
 	LLButton* button_apply = findChild<LLButton>("btn_apply");
@@ -535,7 +535,7 @@ void LLPanelGroup::draw()
 	if (mRefreshTimer.hasExpired())
 	{
 		mRefreshTimer.stop();
-		childEnable("btn_refresh");
+		getChildView("btn_refresh")->setEnabled(TRUE);
 	}
 
 	LLButton* button_apply = findChild<LLButton>("btn_apply");
@@ -547,7 +547,7 @@ void LLPanelGroup::draw()
 		for(std::vector<LLPanelGroupTab* >::iterator it = mTabs.begin();it!=mTabs.end();++it)
 			enable = enable || (*it)->needsApply(mesg);
 
-		childSetEnabled("btn_apply", enable);
+		getChildView("btn_apply")->setEnabled(enable);
 	}
 }
 
@@ -563,7 +563,7 @@ void LLPanelGroup::refreshData()
 	setGroupID(getID());
 	
 	// 5 second timeout
-	childDisable("btn_refresh");
+	getChildView("btn_refresh")->setEnabled(FALSE);
 	mRefreshTimer.start();
 	mRefreshTimer.setTimerExpirySec(5);
 }
diff --git a/indra/newview/llpanelgrouplandmoney.cpp b/indra/newview/llpanelgrouplandmoney.cpp
index 65fe7165c29e86715f7b99d0ccfae5654913eb5b..7f4a273e32c5ee7a0b636d2fc4925abf9bf59c20 100644
--- a/indra/newview/llpanelgrouplandmoney.cpp
+++ b/indra/newview/llpanelgrouplandmoney.cpp
@@ -371,7 +371,7 @@ void LLPanelGroupLandMoney::impl::setYourContributionTextField(int contrib)
 
 void LLPanelGroupLandMoney::impl::setYourMaxContributionTextBox(int max)
 {
-	mPanel.childSetTextArg("your_contribution_max_value", "[AMOUNT]", llformat("%d", max));
+	mPanel.getChild<LLUICtrl>("your_contribution_max_value")->setTextArg("[AMOUNT]", llformat("%d", max));
 }
 
 //static
@@ -433,14 +433,14 @@ void LLPanelGroupLandMoney::impl::processGroupLand(LLMessageSystem* msg)
 			
 			S32 total_contribution;
 			msg->getS32("QueryData", "ActualArea", total_contribution, 0);
-			mPanel.childSetTextArg("total_contributed_land_value", "[AREA]", llformat("%d", total_contribution));
+			mPanel.getChild<LLUICtrl>("total_contributed_land_value")->setTextArg("[AREA]", llformat("%d", total_contribution));
 
 			S32 committed;
 			msg->getS32("QueryData", "BillableArea", committed, 0);
-			mPanel.childSetTextArg("total_land_in_use_value", "[AREA]", llformat("%d", committed));
+			mPanel.getChild<LLUICtrl>("total_land_in_use_value")->setTextArg("[AREA]", llformat("%d", committed));
 			
 			S32 available = total_contribution - committed;
-			mPanel.childSetTextArg("land_available_value", "[AREA]", llformat("%d", available));
+			mPanel.getChild<LLUICtrl>("land_available_value")->setTextArg("[AREA]", llformat("%d", available));
 
 			if ( mGroupOverLimitTextp && mGroupOverLimitIconp )
 			{
diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp
index b79a4f359ad6fb506dc4be1bc88436b84e7080a9..32efdf20642fe0733fcb1227ffe74c0deeda3ea0 100644
--- a/indra/newview/llpanelimcontrolpanel.cpp
+++ b/indra/newview/llpanelimcontrolpanel.cpp
@@ -89,7 +89,7 @@ void LLPanelChatControlPanel::updateCallButton()
 	
 	if (!session) 
 	{
-		childSetEnabled("call_btn", false);
+		getChildView("call_btn")->setEnabled(false);
 		return;
 	}
 
@@ -99,14 +99,14 @@ void LLPanelChatControlPanel::updateCallButton()
 	BOOL enable_connect = session_initialized
 		&& voice_enabled
 		&& callback_enabled;
-	childSetEnabled("call_btn", enable_connect);
+	getChildView("call_btn")->setEnabled(enable_connect);
 }
 
 void LLPanelChatControlPanel::updateButtons(bool is_call_started)
 {
-	childSetVisible("end_call_btn_panel", is_call_started);
-	childSetVisible("voice_ctrls_btn_panel", is_call_started);
-	childSetVisible("call_btn_panel", ! is_call_started);
+	getChildView("end_call_btn_panel")->setVisible( is_call_started);
+	getChildView("voice_ctrls_btn_panel")->setVisible( is_call_started);
+	getChildView("call_btn_panel")->setVisible( ! is_call_started);
 	updateCallButton();
 	
 }
@@ -162,7 +162,7 @@ BOOL LLPanelIMControlPanel::postBuild()
 	childSetAction("share_btn", boost::bind(&LLPanelIMControlPanel::onShareButtonClicked, this));
 	childSetAction("teleport_btn", boost::bind(&LLPanelIMControlPanel::onTeleportButtonClicked, this));
 	childSetAction("pay_btn", boost::bind(&LLPanelIMControlPanel::onPayButtonClicked, this));
-	childSetEnabled("add_friend_btn", !LLAvatarActions::isFriend(getChild<LLAvatarIconCtrl>("avatar_icon")->getAvatarId()));
+	getChildView("add_friend_btn")->setEnabled(!LLAvatarActions::isFriend(getChild<LLAvatarIconCtrl>("avatar_icon")->getAvatarId()));
 
 	setFocusReceivedCallback(boost::bind(&LLPanelIMControlPanel::onFocusReceived, this));
 	
@@ -215,12 +215,12 @@ void LLPanelIMControlPanel::setSessionId(const LLUUID& session_id)
 	LLAvatarTracker::instance().addParticularFriendObserver(mAvatarID, this);
 
 	// Disable "Add friend" button for friends.
-	childSetEnabled("add_friend_btn", !LLAvatarActions::isFriend(mAvatarID));
+	getChildView("add_friend_btn")->setEnabled(!LLAvatarActions::isFriend(mAvatarID));
 	
 	// Disable "Teleport" button if friend is offline
 	if(LLAvatarActions::isFriend(mAvatarID))
 	{
-		childSetEnabled("teleport_btn", LLAvatarTracker::instance().isBuddyOnline(mAvatarID));
+		getChildView("teleport_btn")->setEnabled(LLAvatarTracker::instance().isBuddyOnline(mAvatarID));
 	}
 
 	getChild<LLAvatarIconCtrl>("avatar_icon")->setValue(mAvatarID);
@@ -231,24 +231,24 @@ void LLPanelIMControlPanel::setSessionId(const LLUUID& session_id)
 		im_model.findIMSession(session_id);
 	if( im_session && !im_session->mOtherParticipantIsAvatar )
 	{
-		childSetEnabled("view_profile_btn", FALSE);
-		childSetEnabled("add_friend_btn", FALSE);
+		getChildView("view_profile_btn")->setEnabled(FALSE);
+		getChildView("add_friend_btn")->setEnabled(FALSE);
 
-		childSetEnabled("share_btn", FALSE);
-		childSetEnabled("teleport_btn", FALSE);
-		childSetEnabled("pay_btn", FALSE);
+		getChildView("share_btn")->setEnabled(FALSE);
+		getChildView("teleport_btn")->setEnabled(FALSE);
+		getChildView("pay_btn")->setEnabled(FALSE);
 	}
 }
 
 //virtual
 void LLPanelIMControlPanel::changed(U32 mask)
 {
-	childSetEnabled("add_friend_btn", !LLAvatarActions::isFriend(mAvatarID));
+	getChildView("add_friend_btn")->setEnabled(!LLAvatarActions::isFriend(mAvatarID));
 	
 	// Disable "Teleport" button if friend is offline
 	if(LLAvatarActions::isFriend(mAvatarID))
 	{
-		childSetEnabled("teleport_btn", LLAvatarTracker::instance().isBuddyOnline(mAvatarID));
+		getChildView("teleport_btn")->setEnabled(LLAvatarTracker::instance().isBuddyOnline(mAvatarID));
 	}
 }
 
diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp
index ce1131f45cf88b1de465e8a1bd9c6d391694997d..b399e4179148561957bb96a7e29603cc995746cd 100644
--- a/indra/newview/llpanellandmarks.cpp
+++ b/indra/newview/llpanellandmarks.cpp
@@ -718,8 +718,8 @@ void LLLandmarksPanel::updateListCommands()
 	bool trash_enabled = isActionEnabled("delete");
 
 	// keep Options & Add Landmark buttons always enabled
-	mListCommands->childSetEnabled(ADD_FOLDER_BUTTON_NAME, add_folder_enabled);
-	mListCommands->childSetEnabled(TRASH_BUTTON_NAME, trash_enabled);
+	mListCommands->getChildView(ADD_FOLDER_BUTTON_NAME)->setEnabled(add_folder_enabled);
+	mListCommands->getChildView(TRASH_BUTTON_NAME)->setEnabled(trash_enabled);
 }
 
 void LLLandmarksPanel::onActionsButtonClick()
diff --git a/indra/newview/llpanellandmedia.cpp b/indra/newview/llpanellandmedia.cpp
index e834e229cd33e44ed1a429431f293d5bba73d5b8..f428e1f7953c3e5d10d6e5cefbe9e186e5efb47a 100644
--- a/indra/newview/llpanellandmedia.cpp
+++ b/indra/newview/llpanellandmedia.cpp
@@ -145,7 +145,7 @@ void LLPanelLandMedia::refresh()
 		mMediaURLEdit->setText(parcel->getMediaURL());
 		mMediaURLEdit->setEnabled( FALSE );
 
-		childSetText("current_url", parcel->getMediaCurrentURL());
+		getChild<LLUICtrl>("current_url")->setValue(parcel->getMediaCurrentURL());
 
 		mMediaDescEdit->setText(parcel->getMediaDesc());
 		mMediaDescEdit->setEnabled( can_change_media );
@@ -157,7 +157,7 @@ void LLPanelLandMedia::refresh()
 		}
 		setMediaType(mime_type);
 		mMediaTypeCombo->setEnabled( can_change_media );
-		childSetText("mime_type", mime_type);
+		getChild<LLUICtrl>("mime_type")->setValue(mime_type);
 
 		mMediaUrlCheck->set( parcel->getObscureMedia() );
 		mMediaUrlCheck->setEnabled( can_change_media );
@@ -255,7 +255,7 @@ void LLPanelLandMedia::setMediaType(const std::string& mime_type)
 		// localizable - "none" for example (see EXT-6542)
 		mime_str = LLMIMETypes::getDefaultMimeTypeTranslation();
 	}
-	childSetText("mime_type", mime_str);
+	getChild<LLUICtrl>("mime_type")->setValue(mime_str);
 }
 
 void LLPanelLandMedia::setMediaURL(const std::string& media_url)
@@ -269,7 +269,7 @@ void LLPanelLandMedia::setMediaURL(const std::string& media_url)
 
 	mMediaURLEdit->onCommit();
 	// LLViewerParcelMedia::sendMediaNavigateMessage(media_url);
-	childSetText("current_url", media_url);
+	getChild<LLUICtrl>("current_url")->setValue(media_url);
 }
 std::string LLPanelLandMedia::getMediaURL()
 {
@@ -280,11 +280,11 @@ std::string LLPanelLandMedia::getMediaURL()
 void LLPanelLandMedia::onCommitType(LLUICtrl *ctrl, void *userdata)
 {
 	LLPanelLandMedia *self = (LLPanelLandMedia *)userdata;
-	std::string current_type = LLMIMETypes::widgetType(self->childGetText("mime_type"));
+	std::string current_type = LLMIMETypes::widgetType(self->getChild<LLUICtrl>("mime_type")->getValue().asString());
 	std::string new_type = self->mMediaTypeCombo->getValue();
 	if(current_type != new_type)
 	{
-		self->childSetText("mime_type", LLMIMETypes::findDefaultMimeType(new_type));
+		self->getChild<LLUICtrl>("mime_type")->setValue(LLMIMETypes::findDefaultMimeType(new_type));
 	}
 	onCommitAny(ctrl, userdata);
 
@@ -304,7 +304,7 @@ void LLPanelLandMedia::onCommitAny(LLUICtrl*, void *userdata)
 	// Extract data from UI
 	std::string media_url	= self->mMediaURLEdit->getText();
 	std::string media_desc	= self->mMediaDescEdit->getText();
-	std::string mime_type	= self->childGetText("mime_type");
+	std::string mime_type	= self->getChild<LLUICtrl>("mime_type")->getValue().asString();
 	U8 media_auto_scale		= self->mMediaAutoScaleCheck->get();
 	U8 media_loop           = self->mMediaLoopCheck->get();
 	U8 obscure_media		= self->mMediaUrlCheck->get();
@@ -313,7 +313,7 @@ void LLPanelLandMedia::onCommitAny(LLUICtrl*, void *userdata)
 	LLUUID media_id			= self->mMediaTextureCtrl->getImageAssetID();
 
 
-	self->childSetText("mime_type", mime_type);
+	self->getChild<LLUICtrl>("mime_type")->setValue(mime_type);
 
 	// Remove leading/trailing whitespace (common when copying/pasting)
 	LLStringUtil::trim(media_url);
@@ -354,7 +354,7 @@ void LLPanelLandMedia::onResetBtn(void *userdata)
 	LLParcel* parcel = self->mParcel->getParcel();
 	// LLViewerMedia::navigateHome();
 	self->refresh();
-	self->childSetText("current_url", parcel->getMediaURL());
+	self->getChild<LLUICtrl>("current_url")->setValue(parcel->getMediaURL());
 	// LLViewerParcelMedia::sendMediaNavigateMessage(parcel->getMediaURL());
 
 }
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index 144839b554e098e27326dea7170b09b7ae1eab01..4b23e63f12b29fda2ddd28c2a3fae3e50cb55237 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -211,7 +211,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
 	}
 
 #if !USE_VIEWER_AUTH
-	childSetPrevalidate("username_edit", LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("username_edit")->setPrevalidate(LLTextValidate::validateASCIIPrintableNoPipe);
 	getChild<LLLineEditor>("password_edit")->setKeystrokeCallback(onPassKey, this);
 
 	// change z sort of clickable text to be behind buttons
@@ -441,8 +441,8 @@ void LLPanelLogin::giveFocus()
 	if( sInstance )
 	{
 		// Grab focus and move cursor to first blank input field
-		std::string username = sInstance->childGetText("username_edit");
-		std::string pass = sInstance->childGetText("password_edit");
+		std::string username = sInstance->getChild<LLUICtrl>("username_edit")->getValue().asString();
+		std::string pass = sInstance->getChild<LLUICtrl>("password_edit")->getValue().asString();
 
 		BOOL have_username = !username.empty();
 		BOOL have_pass = !pass.empty();
@@ -472,7 +472,7 @@ void LLPanelLogin::giveFocus()
 // static
 void LLPanelLogin::showLoginWidgets()
 {
-	sInstance->childSetVisible("login_widgets", true);
+	sInstance->getChildView("login_widgets")->setVisible( true);
 	LLMediaCtrl* web_browser = sInstance->getChild<LLMediaCtrl>("login_html");
 	sInstance->reshapeBrowser();
 	// *TODO: Append all the usual login parameters, like first_login=Y etc.
@@ -514,16 +514,16 @@ void LLPanelLogin::setFields(LLPointer<LLCredential> credential,
 	LLSD identifier = credential->getIdentifier();
 	if((std::string)identifier["type"] == "agent") 
 	{
-		sInstance->childSetText("username_edit", (std::string)identifier["first_name"] + " " + 
+		sInstance->getChild<LLUICtrl>("username_edit")->setValue((std::string)identifier["first_name"] + " " + 
 								(std::string)identifier["last_name"]);	
 	}
 	else if((std::string)identifier["type"] == "account")
 	{
-		sInstance->childSetText("username_edit", (std::string)identifier["account_name"]);		
+		sInstance->getChild<LLUICtrl>("username_edit")->setValue((std::string)identifier["account_name"]);		
 	}
 	else
 	{
-	  sInstance->childSetText("username_edit", std::string());	
+	  sInstance->getChild<LLUICtrl>("username_edit")->setValue(std::string());	
 	}
 	// if the password exists in the credential, set the password field with
 	// a filler to get some stars
@@ -539,13 +539,13 @@ void LLPanelLogin::setFields(LLPointer<LLCredential> credential,
 		// fill it with MAX_PASSWORD characters so we get a 
 		// nice row of asterixes.
 		const std::string filler("123456789!123456");
-		sInstance->childSetText("password_edit", std::string("123456789!123456"));
+		sInstance->getChild<LLUICtrl>("password_edit")->setValue(std::string("123456789!123456"));
 	}
 	else
 	{
-		sInstance->childSetText("password_edit", std::string());		
+		sInstance->getChild<LLUICtrl>("password_edit")->setValue(std::string());		
 	}
-	sInstance->childSetValue("remember_check", remember);
+	sInstance->getChild<LLUICtrl>("remember_check")->setValue(remember);
 }
 
 
@@ -572,9 +572,9 @@ void LLPanelLogin::getFields(LLPointer<LLCredential>& credential,
 		authenticator = credential->getAuthenticator();
 	}
 
-	std::string username = sInstance->childGetText("username_edit");
+	std::string username = sInstance->getChild<LLUICtrl>("username_edit")->getValue().asString();
 	LLStringUtil::trim(username);
-	std::string password = sInstance->childGetText("password_edit");
+	std::string password = sInstance->getChild<LLUICtrl>("password_edit")->getValue().asString();
 
 	LL_INFOS2("Credentials", "Authentication") << "retrieving username:" << username << LL_ENDL;
 	// determine if the username is a first/last form or not.
@@ -621,7 +621,7 @@ void LLPanelLogin::getFields(LLPointer<LLCredential>& credential,
 		}
 	}
 	credential = gSecAPIHandler->createCredential(LLGridManager::getInstance()->getGrid(), identifier, authenticator);
-	remember = sInstance->childGetValue("remember_check");
+	remember = sInstance->getChild<LLUICtrl>("remember_check")->getValue();
 }
 
 // static
@@ -649,9 +649,9 @@ BOOL LLPanelLogin::areCredentialFieldsDirty()
 	}
 	else
 	{
-		std::string username = sInstance->childGetText("username_edit");
+		std::string username = sInstance->getChild<LLUICtrl>("username_edit")->getValue().asString();
 		LLStringUtil::trim(username);
-		std::string password = sInstance->childGetText("password_edit");
+		std::string password = sInstance->getChild<LLUICtrl>("password_edit")->getValue().asString();
 		LLLineEditor* ctrl = sInstance->getChild<LLLineEditor>("username_edit");
 		if(ctrl && ctrl->isDirty())
 		{
@@ -699,12 +699,12 @@ void LLPanelLogin::updateLocationCombo( bool force_visible )
 	if ( ! force_visible )
 		show_start = gSavedSettings.getBOOL("ShowStartLocation");
 	
-	sInstance->childSetVisible("start_location_combo", show_start);
-	sInstance->childSetVisible("start_location_text", show_start);
+	sInstance->getChildView("start_location_combo")->setVisible( show_start);
+	sInstance->getChildView("start_location_text")->setVisible( show_start);
 	
 	BOOL show_server = gSavedSettings.getBOOL("ForceShowGrid");
-	sInstance->childSetVisible("server_combo_text", show_server);	
-	sInstance->childSetVisible("server_combo", show_server);
+	sInstance->getChildView("server_combo_text")->setVisible( show_server);	
+	sInstance->getChildView("server_combo")->setVisible( show_server);
 }
 
 // static
@@ -964,7 +964,7 @@ void LLPanelLogin::onClickConnect(void *)
 			return;
 		}
 		updateStartSLURL();
-		std::string username = sInstance->childGetText("username_edit");
+		std::string username = sInstance->getChild<LLUICtrl>("username_edit")->getValue().asString();
 
 		
 		if(username.empty())
@@ -1079,7 +1079,7 @@ void LLPanelLogin::updateServer()
 		if(sInstance && !sInstance->areCredentialFieldsDirty())
 		{
 			LLPointer<LLCredential> credential = gSecAPIHandler->loadCredential(LLGridManager::getInstance()->getGrid());	
-			bool remember = sInstance->childGetValue("remember_check");
+			bool remember = sInstance->getChild<LLUICtrl>("remember_check")->getValue();
 			sInstance->setFields(credential, remember);
 		}
 		// grid changed so show new splash screen (possibly)
@@ -1173,6 +1173,6 @@ void LLPanelLogin::updateLoginPanelLinks()
 	
 	// need to call through sInstance, as it's called from onSelectServer, which
 	// is static.
-	sInstance->childSetVisible("create_new_account_text", system_grid);
-	sInstance->childSetVisible("forgot_password_text", system_grid);
+	sInstance->getChildView("create_new_account_text")->setVisible( system_grid);
+	sInstance->getChildView("forgot_password_text")->setVisible( system_grid);
 }
diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp
index 873ac4134cff5b493d5cf6abf83f9b65cdf5c443..d7ffdacb701ba41402ff9fe9af400ded5025c803 100644
--- a/indra/newview/llpanelmaininventory.cpp
+++ b/indra/newview/llpanelmaininventory.cpp
@@ -491,7 +491,7 @@ void LLPanelMainInventory::onFilterEdit(const std::string& search_string )
 void LLPanelMainInventory::onFilterSelected()
 {
 	// Find my index
-	mActivePanel = (LLInventoryPanel*)childGetVisibleTab("inventory filter tabs");
+	mActivePanel = (LLInventoryPanel*)getChild<LLTabContainer>("inventory filter tabs")->getCurrentPanel();
 
 	if (!mActivePanel)
 	{
@@ -499,7 +499,7 @@ void LLPanelMainInventory::onFilterSelected()
 	}
 
 	BOOL recent_active = ("Recent Items" == mActivePanel->getName());
-	childSetVisible("add_btn_panel", !recent_active);
+	getChildView("add_btn_panel")->setVisible( !recent_active);
 
 	setFilterSubString(mFilterSubString);
 	LLInventoryFilter* filter = mActivePanel->getFilter();
@@ -591,7 +591,7 @@ void LLPanelMainInventory::updateItemcountText()
 	{
 		text = getString("ItemcountUnknown");
 	}
-	childSetText("ItemcountText",text);
+	getChild<LLUICtrl>("ItemcountText")->setValue(text);
 }
 
 void LLPanelMainInventory::setFilterTextFromFilter() 
@@ -658,7 +658,7 @@ void LLFloaterInventoryFinder::onCheckSinceLogoff(LLUICtrl *ctrl, void *user_dat
 	LLFloaterInventoryFinder *self = (LLFloaterInventoryFinder *)user_data;
 	if (!self) return;
 
-	bool since_logoff= self->childGetValue("check_since_logoff");
+	bool since_logoff= self->getChild<LLUICtrl>("check_since_logoff")->getValue();
 	
 	if (!since_logoff && 
 	    !(  self->mSpinSinceDays->get() ||  self->mSpinSinceHours->get() ) )
@@ -698,7 +698,7 @@ void LLFloaterInventoryFinder::onTimeAgo(LLUICtrl *ctrl, void *user_data)
 	{
 		since_logoff = false;
 	}
-	self->childSetValue("check_since_logoff", since_logoff);
+	self->getChild<LLUICtrl>("check_since_logoff")->setValue(since_logoff);
 }
 
 void LLFloaterInventoryFinder::changeFilter(LLInventoryFilter* filter)
@@ -721,20 +721,20 @@ void LLFloaterInventoryFinder::updateElementsFromFilter()
 	// update the ui elements
 	setTitle(mFilter->getName());
 
-	childSetValue("check_animation", (S32) (filter_types & 0x1 << LLInventoryType::IT_ANIMATION));
-
-	childSetValue("check_calling_card", (S32) (filter_types & 0x1 << LLInventoryType::IT_CALLINGCARD));
-	childSetValue("check_clothing", (S32) (filter_types & 0x1 << LLInventoryType::IT_WEARABLE));
-	childSetValue("check_gesture", (S32) (filter_types & 0x1 << LLInventoryType::IT_GESTURE));
-	childSetValue("check_landmark", (S32) (filter_types & 0x1 << LLInventoryType::IT_LANDMARK));
-	childSetValue("check_notecard", (S32) (filter_types & 0x1 << LLInventoryType::IT_NOTECARD));
-	childSetValue("check_object", (S32) (filter_types & 0x1 << LLInventoryType::IT_OBJECT));
-	childSetValue("check_script", (S32) (filter_types & 0x1 << LLInventoryType::IT_LSL));
-	childSetValue("check_sound", (S32) (filter_types & 0x1 << LLInventoryType::IT_SOUND));
-	childSetValue("check_texture", (S32) (filter_types & 0x1 << LLInventoryType::IT_TEXTURE));
-	childSetValue("check_snapshot", (S32) (filter_types & 0x1 << LLInventoryType::IT_SNAPSHOT));
-	childSetValue("check_show_empty", show_folders == LLInventoryFilter::SHOW_ALL_FOLDERS);
-	childSetValue("check_since_logoff", mFilter->isSinceLogoff());
+	getChild<LLUICtrl>("check_animation")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_ANIMATION));
+
+	getChild<LLUICtrl>("check_calling_card")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_CALLINGCARD));
+	getChild<LLUICtrl>("check_clothing")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_WEARABLE));
+	getChild<LLUICtrl>("check_gesture")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_GESTURE));
+	getChild<LLUICtrl>("check_landmark")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_LANDMARK));
+	getChild<LLUICtrl>("check_notecard")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_NOTECARD));
+	getChild<LLUICtrl>("check_object")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_OBJECT));
+	getChild<LLUICtrl>("check_script")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_LSL));
+	getChild<LLUICtrl>("check_sound")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_SOUND));
+	getChild<LLUICtrl>("check_texture")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_TEXTURE));
+	getChild<LLUICtrl>("check_snapshot")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_SNAPSHOT));
+	getChild<LLUICtrl>("check_show_empty")->setValue(show_folders == LLInventoryFilter::SHOW_ALL_FOLDERS);
+	getChild<LLUICtrl>("check_since_logoff")->setValue(mFilter->isSinceLogoff());
 	mSpinSinceHours->set((F32)(hours % 24));
 	mSpinSinceDays->set((F32)(hours / 24));
 }
@@ -745,32 +745,32 @@ void LLFloaterInventoryFinder::draw()
 	U32 filter = 0xffffffff;
 	BOOL filtered_by_all_types = TRUE;
 
-	if (!childGetValue("check_animation"))
+	if (!getChild<LLUICtrl>("check_animation")->getValue())
 	{
 		filter &= ~(0x1 << LLInventoryType::IT_ANIMATION);
 		filtered_by_all_types = FALSE;
 	}
 
 
-	if (!childGetValue("check_calling_card"))
+	if (!getChild<LLUICtrl>("check_calling_card")->getValue())
 	{
 		filter &= ~(0x1 << LLInventoryType::IT_CALLINGCARD);
 		filtered_by_all_types = FALSE;
 	}
 
-	if (!childGetValue("check_clothing"))
+	if (!getChild<LLUICtrl>("check_clothing")->getValue())
 	{
 		filter &= ~(0x1 << LLInventoryType::IT_WEARABLE);
 		filtered_by_all_types = FALSE;
 	}
 
-	if (!childGetValue("check_gesture"))
+	if (!getChild<LLUICtrl>("check_gesture")->getValue())
 	{
 		filter &= ~(0x1 << LLInventoryType::IT_GESTURE);
 		filtered_by_all_types = FALSE;
 	}
 
-	if (!childGetValue("check_landmark"))
+	if (!getChild<LLUICtrl>("check_landmark")->getValue())
 
 
 	{
@@ -778,38 +778,38 @@ void LLFloaterInventoryFinder::draw()
 		filtered_by_all_types = FALSE;
 	}
 
-	if (!childGetValue("check_notecard"))
+	if (!getChild<LLUICtrl>("check_notecard")->getValue())
 	{
 		filter &= ~(0x1 << LLInventoryType::IT_NOTECARD);
 		filtered_by_all_types = FALSE;
 	}
 
-	if (!childGetValue("check_object"))
+	if (!getChild<LLUICtrl>("check_object")->getValue())
 	{
 		filter &= ~(0x1 << LLInventoryType::IT_OBJECT);
 		filter &= ~(0x1 << LLInventoryType::IT_ATTACHMENT);
 		filtered_by_all_types = FALSE;
 	}
 
-	if (!childGetValue("check_script"))
+	if (!getChild<LLUICtrl>("check_script")->getValue())
 	{
 		filter &= ~(0x1 << LLInventoryType::IT_LSL);
 		filtered_by_all_types = FALSE;
 	}
 
-	if (!childGetValue("check_sound"))
+	if (!getChild<LLUICtrl>("check_sound")->getValue())
 	{
 		filter &= ~(0x1 << LLInventoryType::IT_SOUND);
 		filtered_by_all_types = FALSE;
 	}
 
-	if (!childGetValue("check_texture"))
+	if (!getChild<LLUICtrl>("check_texture")->getValue())
 	{
 		filter &= ~(0x1 << LLInventoryType::IT_TEXTURE);
 		filtered_by_all_types = FALSE;
 	}
 
-	if (!childGetValue("check_snapshot"))
+	if (!getChild<LLUICtrl>("check_snapshot")->getValue())
 	{
 		filter &= ~(0x1 << LLInventoryType::IT_SNAPSHOT);
 		filtered_by_all_types = FALSE;
@@ -849,12 +849,12 @@ void LLFloaterInventoryFinder::draw()
 
 BOOL LLFloaterInventoryFinder::getCheckShowEmpty()
 {
-	return childGetValue("check_show_empty");
+	return getChild<LLUICtrl>("check_show_empty")->getValue();
 }
 
 BOOL LLFloaterInventoryFinder::getCheckSinceLogoff()
 {
-	return childGetValue("check_since_logoff");
+	return getChild<LLUICtrl>("check_since_logoff")->getValue();
 }
 
 void LLFloaterInventoryFinder::onCloseBtn(void* user_data)
@@ -869,17 +869,17 @@ void LLFloaterInventoryFinder::selectAllTypes(void* user_data)
 	LLFloaterInventoryFinder* self = (LLFloaterInventoryFinder*)user_data;
 	if(!self) return;
 
-	self->childSetValue("check_animation", TRUE);
-	self->childSetValue("check_calling_card", TRUE);
-	self->childSetValue("check_clothing", TRUE);
-	self->childSetValue("check_gesture", TRUE);
-	self->childSetValue("check_landmark", TRUE);
-	self->childSetValue("check_notecard", TRUE);
-	self->childSetValue("check_object", TRUE);
-	self->childSetValue("check_script", TRUE);
-	self->childSetValue("check_sound", TRUE);
-	self->childSetValue("check_texture", TRUE);
-	self->childSetValue("check_snapshot", TRUE);
+	self->getChild<LLUICtrl>("check_animation")->setValue(TRUE);
+	self->getChild<LLUICtrl>("check_calling_card")->setValue(TRUE);
+	self->getChild<LLUICtrl>("check_clothing")->setValue(TRUE);
+	self->getChild<LLUICtrl>("check_gesture")->setValue(TRUE);
+	self->getChild<LLUICtrl>("check_landmark")->setValue(TRUE);
+	self->getChild<LLUICtrl>("check_notecard")->setValue(TRUE);
+	self->getChild<LLUICtrl>("check_object")->setValue(TRUE);
+	self->getChild<LLUICtrl>("check_script")->setValue(TRUE);
+	self->getChild<LLUICtrl>("check_sound")->setValue(TRUE);
+	self->getChild<LLUICtrl>("check_texture")->setValue(TRUE);
+	self->getChild<LLUICtrl>("check_snapshot")->setValue(TRUE);
 }
 
 //static
@@ -888,17 +888,17 @@ void LLFloaterInventoryFinder::selectNoTypes(void* user_data)
 	LLFloaterInventoryFinder* self = (LLFloaterInventoryFinder*)user_data;
 	if(!self) return;
 
-	self->childSetValue("check_animation", FALSE);
-	self->childSetValue("check_calling_card", FALSE);
-	self->childSetValue("check_clothing", FALSE);
-	self->childSetValue("check_gesture", FALSE);
-	self->childSetValue("check_landmark", FALSE);
-	self->childSetValue("check_notecard", FALSE);
-	self->childSetValue("check_object", FALSE);
-	self->childSetValue("check_script", FALSE);
-	self->childSetValue("check_sound", FALSE);
-	self->childSetValue("check_texture", FALSE);
-	self->childSetValue("check_snapshot", FALSE);
+	self->getChild<LLUICtrl>("check_animation")->setValue(FALSE);
+	self->getChild<LLUICtrl>("check_calling_card")->setValue(FALSE);
+	self->getChild<LLUICtrl>("check_clothing")->setValue(FALSE);
+	self->getChild<LLUICtrl>("check_gesture")->setValue(FALSE);
+	self->getChild<LLUICtrl>("check_landmark")->setValue(FALSE);
+	self->getChild<LLUICtrl>("check_notecard")->setValue(FALSE);
+	self->getChild<LLUICtrl>("check_object")->setValue(FALSE);
+	self->getChild<LLUICtrl>("check_script")->setValue(FALSE);
+	self->getChild<LLUICtrl>("check_sound")->setValue(FALSE);
+	self->getChild<LLUICtrl>("check_texture")->setValue(FALSE);
+	self->getChild<LLUICtrl>("check_snapshot")->setValue(FALSE);
 }
 
 //////////////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp
index 3f620869e09315fcccbaa8afbae274aea484e47b..017f6de63bf78c3716e3c30264df9334ca8d22e2 100644
--- a/indra/newview/llpanelme.cpp
+++ b/indra/newview/llpanelme.cpp
@@ -146,10 +146,10 @@ void LLPanelMe::onSaveChangesClicked()
 	data.avatar_id = gAgent.getID();
 	data.image_id = mEditPanel->getChild<LLTextureCtrl>(PICKER_SECOND_LIFE)->getImageAssetID();
 	data.fl_image_id = mEditPanel->getChild<LLTextureCtrl>(PICKER_FIRST_LIFE)->getImageAssetID();
-	data.about_text = mEditPanel->childGetValue("sl_description_edit").asString();
-	data.fl_about_text = mEditPanel->childGetValue("fl_description_edit").asString();
-	data.profile_url = mEditPanel->childGetValue("homepage_edit").asString();
-	data.allow_publish = mEditPanel->childGetValue("show_in_search_checkbox");
+	data.about_text = mEditPanel->getChild<LLUICtrl>("sl_description_edit")->getValue().asString();
+	data.fl_about_text = mEditPanel->getChild<LLUICtrl>("fl_description_edit")->getValue().asString();
+	data.profile_url = mEditPanel->getChild<LLUICtrl>("homepage_edit")->getValue().asString();
+	data.allow_publish = mEditPanel->getChild<LLUICtrl>("show_in_search_checkbox")->getValue();
 
 	LLAvatarPropertiesProcessor::getInstance()->sendAvatarPropertiesUpdate(&data);
 	togglePanel(mEditPanel); // close
@@ -205,20 +205,20 @@ void LLPanelMyProfileEdit::processProfileProperties(const LLAvatarData* avatar_d
 
 	// 'Home page' was hidden in LLPanelAvatarProfile::fillCommonData() to fix  EXT-4734
 	// Show 'Home page' in Edit My Profile (EXT-4873)
-	childSetVisible("homepage_edit", true);
+	getChildView("homepage_edit")->setVisible( true);
 
 	fillPartnerData(avatar_data);
 
 	fillAccountStatus(avatar_data);
 
-	childSetValue("show_in_search_checkbox", (BOOL)(avatar_data->flags & AVATAR_ALLOW_PUBLISH));
+	getChild<LLUICtrl>("show_in_search_checkbox")->setValue((BOOL)(avatar_data->flags & AVATAR_ALLOW_PUBLISH));
 
 	std::string first, last;
 	BOOL found = gCacheName->getName(avatar_data->avatar_id, first, last);
 	if (found)
 	{
-		childSetTextArg("name_text", "[FIRST]", first);
-		childSetTextArg("name_text", "[LAST]", last);
+		getChild<LLUICtrl>("name_text")->setTextArg("[FIRST]", first);
+		getChild<LLUICtrl>("name_text")->setTextArg("[LAST]", last);
 	}
 }
 
@@ -226,8 +226,8 @@ BOOL LLPanelMyProfileEdit::postBuild()
 {
 	initTexturePickerMouseEvents();
 
-	childSetTextArg("partner_edit_link", "[URL]", getString("partner_edit_link_url"));
-	childSetTextArg("my_account_link", "[URL]", getString("my_account_link_url"));
+	getChild<LLUICtrl>("partner_edit_link")->setTextArg("[URL]", getString("partner_edit_link_url"));
+	getChild<LLUICtrl>("my_account_link")->setTextArg("[URL]", getString("my_account_link_url"));
 
 	return LLPanelAvatarProfile::postBuild();
 }
@@ -256,8 +256,8 @@ void LLPanelMyProfileEdit::resetData()
 {
 	LLPanelMyProfile::resetData();
 
-	childSetTextArg("name_text", "[FIRST]", LLStringUtil::null);
-	childSetTextArg("name_text", "[LAST]", LLStringUtil::null);
+	getChild<LLUICtrl>("name_text")->setTextArg("[FIRST]", LLStringUtil::null);
+	getChild<LLUICtrl>("name_text")->setTextArg("[LAST]", LLStringUtil::null);
 }
 
 void LLPanelMyProfileEdit::onTexturePickerMouseEnter(LLUICtrl* ctrl)
@@ -271,10 +271,10 @@ void LLPanelMyProfileEdit::onTexturePickerMouseLeave(LLUICtrl* ctrl)
 
 void LLPanelMyProfileEdit::enableEditing(bool enable)
 {
-	childSetEnabled("2nd_life_pic", enable);
-	childSetEnabled("real_world_pic", enable);
-	childSetEnabled("sl_description_edit", enable);
-	childSetEnabled("fl_description_edit", enable);
-	childSetEnabled("homepage_edit", enable);
-	childSetEnabled("show_in_search_checkbox", enable);
+	getChildView("2nd_life_pic")->setEnabled(enable);
+	getChildView("real_world_pic")->setEnabled(enable);
+	getChildView("sl_description_edit")->setEnabled(enable);
+	getChildView("fl_description_edit")->setEnabled(enable);
+	getChildView("homepage_edit")->setEnabled(enable);
+	getChildView("show_in_search_checkbox")->setEnabled(enable);
 }
diff --git a/indra/newview/llpanelmediasettingsgeneral.cpp b/indra/newview/llpanelmediasettingsgeneral.cpp
index f601a8d51c2ae0ba88b671b9d552f76c4f3da945..7a61872bc7997c1c5f77f46b23a51014c2db0b0a 100644
--- a/indra/newview/llpanelmediasettingsgeneral.cpp
+++ b/indra/newview/llpanelmediasettingsgeneral.cpp
@@ -131,13 +131,13 @@ void LLPanelMediaSettingsGeneral::draw()
 	// enable/disable pixel values image entry based on auto scale checkbox 
 	if ( mAutoScale->getValue().asBoolean() == false )
 	{
-		childSetEnabled( LLMediaEntry::WIDTH_PIXELS_KEY, true );
-		childSetEnabled( LLMediaEntry::HEIGHT_PIXELS_KEY, true );
+		getChildView( LLMediaEntry::WIDTH_PIXELS_KEY )->setEnabled( true );
+		getChildView( LLMediaEntry::HEIGHT_PIXELS_KEY )->setEnabled( true );
 	}
 	else
 	{
-		childSetEnabled( LLMediaEntry::WIDTH_PIXELS_KEY, false );
-		childSetEnabled( LLMediaEntry::HEIGHT_PIXELS_KEY, false );
+		getChildView( LLMediaEntry::WIDTH_PIXELS_KEY )->setEnabled( false );
+		getChildView( LLMediaEntry::HEIGHT_PIXELS_KEY )->setEnabled( false );
 	};
 
 	// enable/disable UI based on type of media
@@ -158,17 +158,17 @@ void LLPanelMediaSettingsGeneral::draw()
 			bool show_time_controls = media_plugin->pluginSupportsMediaTime();
 			if ( show_time_controls )
 			{
-				childSetEnabled( LLMediaEntry::CURRENT_URL_KEY, false );
+				getChildView( LLMediaEntry::CURRENT_URL_KEY )->setEnabled( false );
 				reset_button_is_active = false;
-				childSetEnabled( "current_url_label", false );
-				childSetEnabled( LLMediaEntry::AUTO_LOOP_KEY, true );
+				getChildView("current_url_label")->setEnabled(false );
+				getChildView( LLMediaEntry::AUTO_LOOP_KEY )->setEnabled( true );
 			}
 			else
 			{
-				childSetEnabled( LLMediaEntry::CURRENT_URL_KEY, true );
+				getChildView( LLMediaEntry::CURRENT_URL_KEY )->setEnabled( true );
 				reset_button_is_active = true;
-				childSetEnabled( "current_url_label", true );
-				childSetEnabled( LLMediaEntry::AUTO_LOOP_KEY, false );
+				getChildView("current_url_label")->setEnabled(true );
+				getChildView( LLMediaEntry::AUTO_LOOP_KEY )->setEnabled( false );
 			};
 		};
 	};
@@ -185,18 +185,18 @@ void LLPanelMediaSettingsGeneral::draw()
 		// user has perms to press reset button and it is active
 		if ( user_can_press_reset )
 		{
-			childSetEnabled( "current_url_reset_btn", true );
+			getChildView("current_url_reset_btn")->setEnabled(true );
 		}
 		// user does not has perms to press reset button and it is active
 		else
 		{
-			childSetEnabled( "current_url_reset_btn", false );
+			getChildView("current_url_reset_btn")->setEnabled(false );
 		};
 	}
 	else
 	// reset button is inactive so we just slam it to off - other states don't matter
 	{
-		childSetEnabled( "current_url_reset_btn", false );
+		getChildView("current_url_reset_btn")->setEnabled(false );
 	};
 }
 
diff --git a/indra/newview/llpanelmediasettingspermissions.cpp b/indra/newview/llpanelmediasettingspermissions.cpp
index 7779ac639202831800a4855e0eece4876cc4615b..5effba515bfe96250f7ded1f475947d63086ffe1 100644
--- a/indra/newview/llpanelmediasettingspermissions.cpp
+++ b/indra/newview/llpanelmediasettingspermissions.cpp
@@ -99,7 +99,7 @@ void LLPanelMediaSettingsPermissions::draw()
 	// housekeeping
 	LLPanel::draw();
 
-	childSetText("perms_group_name",LLStringUtil::null);
+	getChild<LLUICtrl>("perms_group_name")->setValue(LLStringUtil::null);
 	LLUUID group_id;
 	BOOL groups_identical = LLSelectMgr::getInstance()->selectGetGroup(group_id);
 	if (groups_identical)
diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp
index a1b3114bb4889644a35b9698108dd96e3674bfe4..aadd14d97afaeee16f6242f9bd09bb842be44a1a 100644
--- a/indra/newview/llpanelobject.cpp
+++ b/indra/newview/llpanelobject.cpp
@@ -464,17 +464,17 @@ void LLPanelObject::getState( )
 	BOOL editable = root_objectp->permModify();
 
 	// Select Single Message
-	childSetVisible("select_single", FALSE);
-	childSetVisible("edit_object", FALSE);
+	getChildView("select_single")->setVisible( FALSE);
+	getChildView("edit_object")->setVisible( FALSE);
 	if (!editable || single_volume || selected_count <= 1)
 	{
-		childSetVisible("edit_object", TRUE);
-		childSetEnabled("edit_object", TRUE);
+		getChildView("edit_object")->setVisible( TRUE);
+		getChildView("edit_object")->setEnabled(TRUE);
 	}
 	else
 	{
-		childSetVisible("select_single", TRUE);
-		childSetEnabled("select_single", TRUE);
+		getChildView("select_single")->setVisible( TRUE);
+		getChildView("select_single")->setEnabled(TRUE);
 	}
 	// Lock checkbox - only modifiable if you own the object.
 	BOOL self_owned = (gAgent.getID() == owner_id);
@@ -993,19 +993,19 @@ void LLPanelObject::getState( )
 	mLabelSkew		->setEnabled( enabled );
 	mSpinSkew		->setEnabled( enabled );
 
-	childSetVisible("scale_hole", FALSE);
-	childSetVisible("scale_taper", FALSE);
+	getChildView("scale_hole")->setVisible( FALSE);
+	getChildView("scale_taper")->setVisible( FALSE);
 	if (top_size_x_visible || top_size_y_visible)
 	{
 		if (size_is_hole)
 		{
-			childSetVisible("scale_hole", TRUE);
-			childSetEnabled("scale_hole", enabled);
+			getChildView("scale_hole")->setVisible( TRUE);
+			getChildView("scale_hole")->setEnabled(enabled);
 		}
 		else
 		{
-			childSetVisible("scale_taper", TRUE);
-			childSetEnabled("scale_taper", enabled);
+			getChildView("scale_taper")->setVisible( TRUE);
+			getChildView("scale_taper")->setEnabled(enabled);
 		}
 	}
 	
@@ -1016,27 +1016,27 @@ void LLPanelObject::getState( )
 	mSpinShearX		->setEnabled( enabled );
 	mSpinShearY		->setEnabled( enabled );
 
-	childSetVisible("advanced_cut", FALSE);
-	childSetVisible("advanced_dimple", FALSE);
-	childSetVisible("advanced_slice", FALSE);
+	getChildView("advanced_cut")->setVisible( FALSE);
+	getChildView("advanced_dimple")->setVisible( FALSE);
+	getChildView("advanced_slice")->setVisible( FALSE);
 
 	if (advanced_cut_visible)
 	{
 		if (advanced_is_dimple)
 		{
-			childSetVisible("advanced_dimple", TRUE);
-			childSetEnabled("advanced_dimple", enabled);
+			getChildView("advanced_dimple")->setVisible( TRUE);
+			getChildView("advanced_dimple")->setEnabled(enabled);
 		}
 
 		else if (advanced_is_slice)
 		{
-			childSetVisible("advanced_slice", TRUE);
-			childSetEnabled("advanced_slice", enabled);
+			getChildView("advanced_slice")->setVisible( TRUE);
+			getChildView("advanced_slice")->setEnabled(enabled);
 		}
 		else
 		{
-			childSetVisible("advanced_cut", TRUE);
-			childSetEnabled("advanced_cut", enabled);
+			getChildView("advanced_cut")->setVisible( TRUE);
+			getChildView("advanced_cut")->setEnabled(enabled);
 		}
 	}
 	
@@ -1919,15 +1919,15 @@ void LLPanelObject::clearCtrls()
 	mLabelRadiusOffset->setEnabled( FALSE );
 	mLabelRevolutions->setEnabled( FALSE );
 
-	childSetVisible("select_single", FALSE);
-	childSetVisible("edit_object", TRUE);	
-	childSetEnabled("edit_object", FALSE);
+	getChildView("select_single")->setVisible( FALSE);
+	getChildView("edit_object")->setVisible( TRUE);	
+	getChildView("edit_object")->setEnabled(FALSE);
 	
-	childSetEnabled("scale_hole", FALSE);
-	childSetEnabled("scale_taper", FALSE);
-	childSetEnabled("advanced_cut", FALSE);
-	childSetEnabled("advanced_dimple", FALSE);
-	childSetVisible("advanced_slice", FALSE);
+	getChildView("scale_hole")->setEnabled(FALSE);
+	getChildView("scale_taper")->setEnabled(FALSE);
+	getChildView("advanced_cut")->setEnabled(FALSE);
+	getChildView("advanced_dimple")->setEnabled(FALSE);
+	getChildView("advanced_slice")->setVisible( FALSE);
 }
 
 //
diff --git a/indra/newview/llpanelonlinestatus.cpp b/indra/newview/llpanelonlinestatus.cpp
index b21fd7d3859b7f8ebe1b9b2e9d3e18bd64c01c8e..7de4e8e49df2f42b31fdb54b7dcf312a3d853e08 100644
--- a/indra/newview/llpanelonlinestatus.cpp
+++ b/indra/newview/llpanelonlinestatus.cpp
@@ -45,8 +45,8 @@ LLPanelOnlineStatus::LLPanelOnlineStatus(
 			"panel_online_status_toast.xml");
 
 
-	childSetValue("avatar_icon", notification->getPayload()["FROM_ID"]);
-	childSetValue("message", notification->getMessage());
+	getChild<LLUICtrl>("avatar_icon")->setValue(notification->getPayload()["FROM_ID"]);
+	getChild<LLUICtrl>("message")->setValue(notification->getMessage());
 
 	if (notification->getPayload().has("respond_on_mousedown")
 			&& notification->getPayload()["respond_on_mousedown"])
diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp
index 2074fd89c030c330e6cb0b335ebb732d7a00af68..b37fc23f95407942f91d12e8551d93d0b3c493a7 100644
--- a/indra/newview/llpaneloutfitedit.cpp
+++ b/indra/newview/llpaneloutfitedit.cpp
@@ -570,15 +570,15 @@ void LLPanelOutfitEdit::showAddWearablesPanel(bool show_add_wearables)
 {
 	mAddWearablesPanel->setVisible(show_add_wearables);
 	
-	childSetValue("show_add_wearables_btn", show_add_wearables);
+	getChild<LLUICtrl>("show_add_wearables_btn")->setValue(show_add_wearables);
 
 	updateFiltersVisibility();
-	childSetVisible("filter_button", show_add_wearables);
+	getChildView("filter_button")->setVisible( show_add_wearables);
 
 	//search filter should be disabled
 	if (!show_add_wearables)
 	{
-		childSetValue("filter_button", false);
+		getChild<LLUICtrl>("filter_button")->setValue(false);
 
 		mFolderViewFilterCmbBox->setVisible(false);
 		mListViewFilterCmbBox->setVisible(false);
@@ -590,15 +590,15 @@ void LLPanelOutfitEdit::showAddWearablesPanel(bool show_add_wearables)
 	}
 
 	//switching button bars
-	childSetVisible("no_add_wearables_button_bar", !show_add_wearables);
-	childSetVisible("add_wearables_button_bar", show_add_wearables);
+	getChildView("no_add_wearables_button_bar")->setVisible( !show_add_wearables);
+	getChildView("add_wearables_button_bar")->setVisible( show_add_wearables);
 }
 
 void LLPanelOutfitEdit::showWearablesFilter()
 {
-	bool filter_visible = childGetValue("filter_button");
+	bool filter_visible = getChild<LLUICtrl>("filter_button")->getValue();
 
-	childSetVisible("filter_panel", filter_visible);
+	getChildView("filter_panel")->setVisible( filter_visible);
 
 	if(!filter_visible)
 	{
@@ -1126,7 +1126,7 @@ void LLPanelOutfitEdit::updateVerbs()
 	bool has_baseoutfit = LLAppearanceMgr::getInstance()->getBaseOutfitUUID().notNull();
 
 	mSaveComboBtn->setSaveBtnEnabled(!outfit_locked && outfit_is_dirty);
-	childSetEnabled(REVERT_BTN, outfit_is_dirty && has_baseoutfit);
+	getChildView(REVERT_BTN)->setEnabled(outfit_is_dirty && has_baseoutfit);
 
 	mSaveComboBtn->setMenuItemEnabled("save_outfit", !outfit_locked && outfit_is_dirty);
 
diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp
index ca5679d5b095a5e8c56461e7e519b2f513619aac..dfe4680035f0bcf84e686c3961fa5dde2960a63f 100644
--- a/indra/newview/llpaneloutfitsinventory.cpp
+++ b/indra/newview/llpaneloutfitsinventory.cpp
@@ -258,17 +258,17 @@ void LLPanelOutfitsInventory::updateListCommands()
 	bool wear_visible = !isCOFPanelActive();
 	bool make_outfit_enabled = isActionEnabled("save_outfit");
 
-	mMyOutfitsPanel->childSetEnabled("trash_btn", trash_enabled);
-	mListCommands->childSetEnabled("wear_btn", wear_enabled);
-	mListCommands->childSetVisible("wear_btn", wear_visible);
+	mMyOutfitsPanel->getChildView("trash_btn")->setEnabled(trash_enabled);
+	mListCommands->getChildView("wear_btn")->setEnabled(wear_enabled);
+	mListCommands->getChildView("wear_btn")->setVisible( wear_visible);
 	mSaveComboBtn->setMenuItemEnabled("save_outfit", make_outfit_enabled);
 	if (mMyOutfitsPanel->hasItemSelected())
 	{
-		mListCommands->childSetToolTip("wear_btn", getString("wear_items_tooltip"));
+		mListCommands->getChildView("wear_btn")->setToolTip(getString("wear_items_tooltip"));
 	}
 	else
 	{
-		mListCommands->childSetToolTip("wear_btn", getString("wear_outfit_tooltip"));
+		mListCommands->getChildView("wear_btn")->setToolTip(getString("wear_outfit_tooltip"));
 	}
 }
 
@@ -337,7 +337,7 @@ bool LLPanelOutfitsInventory::isCOFPanelActive() const
 
 void LLPanelOutfitsInventory::setWearablesLoading(bool val)
 {
-	mListCommands->childSetEnabled("wear_btn", !val);
+	mListCommands->getChildView("wear_btn")->setEnabled(!val);
 }
 
 void LLPanelOutfitsInventory::onWearablesLoaded()
diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp
index 6dd800c0c6a4612eb9c4f7d32859183d17847075..7573dd7ad328d93b081261fd6ddce656aea92ea7 100644
--- a/indra/newview/llpanelpeople.cpp
+++ b/indra/newview/llpanelpeople.cpp
@@ -800,8 +800,8 @@ void LLPanelPeople::updateButtons()
 		}
 
 		LLPanel* groups_panel = mTabContainer->getCurrentPanel();
-		groups_panel->childSetEnabled("activate_btn",	item_selected && !cur_group_active); // "none" or a non-active group selected
-		groups_panel->childSetEnabled("minus_btn",		item_selected && selected_id.notNull());
+		groups_panel->getChildView("activate_btn")->setEnabled(item_selected && !cur_group_active); // "none" or a non-active group selected
+		groups_panel->getChildView("minus_btn")->setEnabled(item_selected && selected_id.notNull());
 	}
 	else
 	{
@@ -817,10 +817,10 @@ void LLPanelPeople::updateButtons()
 		LLPanel* cur_panel = mTabContainer->getCurrentPanel();
 		if (cur_panel)
 		{
-			cur_panel->childSetEnabled("add_friend_btn", !is_friend);
+			cur_panel->getChildView("add_friend_btn")->setEnabled(!is_friend);
 			if (friends_tab_active)
 			{
-				cur_panel->childSetEnabled("del_btn", multiple_selected);
+				cur_panel->getChildView("del_btn")->setEnabled(multiple_selected);
 			}
 		}
 	}
diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp
index 71d16a08b4894ad0c73664da13e5f010f7c1d63f..87e02bd5f42b17e4f65f38c834a99c86b677e3e3 100644
--- a/indra/newview/llpanelpermissions.cpp
+++ b/indra/newview/llpanelpermissions.cpp
@@ -142,9 +142,9 @@ LLPanelPermissions::LLPanelPermissions() :
 BOOL LLPanelPermissions::postBuild()
 {
 	childSetCommitCallback("Object Name",LLPanelPermissions::onCommitName,this);
-	childSetPrevalidate("Object Name",LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("Object Name")->setPrevalidate(LLTextValidate::validateASCIIPrintableNoPipe);
 	childSetCommitCallback("Object Description",LLPanelPermissions::onCommitDesc,this);
-	childSetPrevalidate("Object Description",LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("Object Description")->setPrevalidate(LLTextValidate::validateASCIIPrintableNoPipe);
 
 	
 	getChild<LLUICtrl>("button set group")->setCommitCallback(boost::bind(&LLPanelPermissions::onClickGroup,this));
@@ -183,81 +183,81 @@ LLPanelPermissions::~LLPanelPermissions()
 
 void LLPanelPermissions::disableAll()
 {
-	childSetEnabled("perm_modify",						FALSE);
-	childSetText("perm_modify",							LLStringUtil::null);
-
-	childSetEnabled("Creator:",					   		FALSE);
-	childSetText("Creator Name",						LLStringUtil::null);
-	childSetEnabled("Creator Name",						FALSE);
-
-	childSetEnabled("Owner:",							FALSE);
-	childSetText("Owner Name",							LLStringUtil::null);
-	childSetEnabled("Owner Name",						FALSE);
-
-	childSetEnabled("Group:",							FALSE);
-	childSetText("Group Name Proxy",					LLStringUtil::null);
-	childSetEnabled("Group Name Proxy",					FALSE);
-	childSetEnabled("button set group",					FALSE);
-
-	childSetText("Object Name",							LLStringUtil::null);
-	childSetEnabled("Object Name",						FALSE);
-	childSetEnabled("Name:",						   	FALSE);
-	childSetText("Group Name",							LLStringUtil::null);
-	childSetEnabled("Group Name",						FALSE);
-	childSetEnabled("Description:",						FALSE);
-	childSetText("Object Description",					LLStringUtil::null);
-	childSetEnabled("Object Description",				FALSE);
-
-	childSetEnabled("Permissions:",						FALSE);
+	getChildView("perm_modify")->setEnabled(FALSE);
+	getChild<LLUICtrl>("perm_modify")->setValue(LLStringUtil::null);
+
+	getChildView("Creator:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Creator Name")->setValue(LLStringUtil::null);
+	getChildView("Creator Name")->setEnabled(FALSE);
+
+	getChildView("Owner:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Owner Name")->setValue(LLStringUtil::null);
+	getChildView("Owner Name")->setEnabled(FALSE);
+
+	getChildView("Group:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Group Name Proxy")->setValue(LLStringUtil::null);
+	getChildView("Group Name Proxy")->setEnabled(FALSE);
+	getChildView("button set group")->setEnabled(FALSE);
+
+	getChild<LLUICtrl>("Object Name")->setValue(LLStringUtil::null);
+	getChildView("Object Name")->setEnabled(FALSE);
+	getChildView("Name:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Group Name")->setValue(LLStringUtil::null);
+	getChildView("Group Name")->setEnabled(FALSE);
+	getChildView("Description:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Object Description")->setValue(LLStringUtil::null);
+	getChildView("Object Description")->setEnabled(FALSE);
+
+	getChildView("Permissions:")->setEnabled(FALSE);
 		
-	childSetValue("checkbox share with group",			FALSE);
-	childSetEnabled("checkbox share with group",	   	FALSE);
-	childSetEnabled("button deed",						FALSE);
+	getChild<LLUICtrl>("checkbox share with group")->setValue(FALSE);
+	getChildView("checkbox share with group")->setEnabled(FALSE);
+	getChildView("button deed")->setEnabled(FALSE);
 
-	childSetValue("checkbox allow everyone move",	   	FALSE);
-	childSetEnabled("checkbox allow everyone move",	   	FALSE);
-	childSetValue("checkbox allow everyone copy",	   	FALSE);
-	childSetEnabled("checkbox allow everyone copy",	   	FALSE);
+	getChild<LLUICtrl>("checkbox allow everyone move")->setValue(FALSE);
+	getChildView("checkbox allow everyone move")->setEnabled(FALSE);
+	getChild<LLUICtrl>("checkbox allow everyone copy")->setValue(FALSE);
+	getChildView("checkbox allow everyone copy")->setEnabled(FALSE);
 
 	//Next owner can:
-	childSetEnabled("Next owner can:",					FALSE);
-	childSetValue("checkbox next owner can modify",		FALSE);
-	childSetEnabled("checkbox next owner can modify",  	FALSE);
-	childSetValue("checkbox next owner can copy",	   	FALSE);
-	childSetEnabled("checkbox next owner can copy",	   	FALSE);
-	childSetValue("checkbox next owner can transfer",  	FALSE);
-	childSetEnabled("checkbox next owner can transfer",	FALSE);
+	getChildView("Next owner can:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("checkbox next owner can modify")->setValue(FALSE);
+	getChildView("checkbox next owner can modify")->setEnabled(FALSE);
+	getChild<LLUICtrl>("checkbox next owner can copy")->setValue(FALSE);
+	getChildView("checkbox next owner can copy")->setEnabled(FALSE);
+	getChild<LLUICtrl>("checkbox next owner can transfer")->setValue(FALSE);
+	getChildView("checkbox next owner can transfer")->setEnabled(FALSE);
 
 	//checkbox for sale
-	childSetValue("checkbox for sale",					FALSE);
-	childSetEnabled("checkbox for sale",			   	FALSE);
+	getChild<LLUICtrl>("checkbox for sale")->setValue(FALSE);
+	getChildView("checkbox for sale")->setEnabled(FALSE);
 
 	//checkbox include in search
-	childSetValue("search_check",			 			FALSE);
-	childSetEnabled("search_check",			 			FALSE);
+	getChild<LLUICtrl>("search_check")->setValue(FALSE);
+	getChildView("search_check")->setEnabled(FALSE);
 		
 	LLComboBox*	combo_sale_type = getChild<LLComboBox>("sale type");
 	combo_sale_type->setValue(LLSaleInfo::FS_COPY);
 	combo_sale_type->setEnabled(FALSE);
 		
-	childSetEnabled("Cost",								FALSE);
-	childSetText("Cost",							   	getString("Cost Default"));
-	childSetText("Edit Cost",							LLStringUtil::null);
-	childSetEnabled("Edit Cost",					   	FALSE);
+	getChildView("Cost")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Cost")->setValue(getString("Cost Default"));
+	getChild<LLUICtrl>("Edit Cost")->setValue(LLStringUtil::null);
+	getChildView("Edit Cost")->setEnabled(FALSE);
 		
-	childSetEnabled("label click action",				FALSE);
+	getChildView("label click action")->setEnabled(FALSE);
 	LLComboBox*	combo_click_action = getChild<LLComboBox>("clickaction");
 	if (combo_click_action)
 	{
 		combo_click_action->setEnabled(FALSE);
 		combo_click_action->clear();
 	}
-	childSetVisible("B:",								FALSE);
-	childSetVisible("O:",								FALSE);
-	childSetVisible("G:",								FALSE);
-	childSetVisible("E:",								FALSE);
-	childSetVisible("N:",								FALSE);
-	childSetVisible("F:",								FALSE);
+	getChildView("B:")->setVisible(								FALSE);
+	getChildView("O:")->setVisible(								FALSE);
+	getChildView("G:")->setVisible(								FALSE);
+	getChildView("E:")->setVisible(								FALSE);
+	getChildView("N:")->setVisible(								FALSE);
+	getChildView("F:")->setVisible(								FALSE);
 }
 
 void LLPanelPermissions::refresh()
@@ -323,23 +323,23 @@ void LLPanelPermissions::refresh()
 	{
 		++string_index;
 	}
-	childSetEnabled("perm_modify", 			   			TRUE);
-	childSetText("perm_modify",							MODIFY_INFO_STRINGS[string_index]);
+	getChildView("perm_modify")->setEnabled(TRUE);
+	getChild<LLUICtrl>("perm_modify")->setValue(MODIFY_INFO_STRINGS[string_index]);
 
-	childSetEnabled("Permissions:", 					TRUE);
+	getChildView("Permissions:")->setEnabled(TRUE);
 	
 	// Update creator text field
-	childSetEnabled("Creator:", 						TRUE);
+	getChildView("Creator:")->setEnabled(TRUE);
 	BOOL creators_identical;
 	std::string creator_name;
 	creators_identical = LLSelectMgr::getInstance()->selectGetCreator(mCreatorID,
 																	  creator_name);
 
-	childSetText("Creator Name",						creator_name);
-	childSetEnabled("Creator Name", 					TRUE);
+	getChild<LLUICtrl>("Creator Name")->setValue(creator_name);
+	getChildView("Creator Name")->setEnabled(TRUE);
 
 	// Update owner text field
-	childSetEnabled("Owner:", 							TRUE);
+	getChildView("Owner:")->setEnabled(TRUE);
 
 	std::string owner_name;
 	const BOOL owners_identical = LLSelectMgr::getInstance()->selectGetOwner(mOwnerID, owner_name);
@@ -364,12 +364,12 @@ void LLPanelPermissions::refresh()
 			}
 		}
 	}
-	childSetText("Owner Name",						owner_name);
-	childSetEnabled("Owner Name", 					TRUE);
+	getChild<LLUICtrl>("Owner Name")->setValue(owner_name);
+	getChildView("Owner Name")->setEnabled(TRUE);
 
 	// update group text field
-	childSetEnabled("Group:", 						TRUE);
-	childSetText("Group Name", 						LLStringUtil::null);
+	getChildView("Group:")->setEnabled(TRUE);
+	getChild<LLUICtrl>("Group Name")->setValue(LLStringUtil::null);
 	LLUUID group_id;
 	BOOL groups_identical = LLSelectMgr::getInstance()->selectGetGroup(group_id);
 	if (groups_identical)
@@ -390,18 +390,18 @@ void LLPanelPermissions::refresh()
 		}
 	}
 	
-	childSetEnabled("button set group", owners_identical && (mOwnerID == gAgent.getID()));
+	getChildView("button set group")->setEnabled(owners_identical && (mOwnerID == gAgent.getID()));
 
-	childSetEnabled("Name:", 						TRUE);
+	getChildView("Name:")->setEnabled(TRUE);
 	LLLineEditor* LineEditorObjectName = getChild<LLLineEditor>("Object Name");
-	childSetEnabled("Description:", 				TRUE);
+	getChildView("Description:")->setEnabled(TRUE);
 	LLLineEditor* LineEditorObjectDesc = getChild<LLLineEditor>("Object Description");
 
 	if (is_one_object)
 	{
 		if (keyboard_focus_view != LineEditorObjectName)
 		{
-			childSetText("Object Name",nodep->mName);
+			getChild<LLUICtrl>("Object Name")->setValue(nodep->mName);
 		}
 
 		if (LineEditorObjectDesc)
@@ -414,7 +414,7 @@ void LLPanelPermissions::refresh()
 	}
 	else
 	{
-		childSetText("Object Name",					LLStringUtil::null);
+		getChild<LLUICtrl>("Object Name")->setValue(LLStringUtil::null);
 		LineEditorObjectDesc->setText(LLStringUtil::null);
 	}
 
@@ -426,13 +426,13 @@ void LLPanelPermissions::refresh()
 	}
 	if (edit_name_desc)
 	{
-		childSetEnabled("Object Name", 				TRUE);
-		childSetEnabled("Object Description", 		TRUE);
+		getChildView("Object Name")->setEnabled(TRUE);
+		getChildView("Object Description")->setEnabled(TRUE);
 	}
 	else
 	{
-		childSetEnabled("Object Name", 				FALSE);
-		childSetEnabled("Object Description", 		FALSE);
+		getChildView("Object Name")->setEnabled(FALSE);
+		getChildView("Object Description")->setEnabled(FALSE);
 	}
 
 	S32 total_sale_price = 0;
@@ -454,9 +454,9 @@ void LLPanelPermissions::refresh()
 
 	if (!owners_identical)
 	{
-		childSetEnabled("Cost", 					FALSE);
-		childSetText("Edit Cost",					LLStringUtil::null);
-		childSetEnabled("Edit Cost", 				FALSE);
+		getChildView("Cost")->setEnabled(FALSE);
+		getChild<LLUICtrl>("Edit Cost")->setValue(LLStringUtil::null);
+		getChildView("Edit Cost")->setEnabled(FALSE);
 	}
 	// You own these objects.
 	else if (self_owned || (group_owned && gAgent.hasPowerInGroup(group_id,GP_OBJECT_SET_SALE)))
@@ -464,11 +464,11 @@ void LLPanelPermissions::refresh()
 		// If there are multiple items for sale then set text to PRICE PER UNIT.
 		if (num_for_sale > 1)
 		{
-			childSetText("Cost",					getString("Cost Per Unit"));
+			getChild<LLUICtrl>("Cost")->setValue(getString("Cost Per Unit"));
 		}
 		else
 		{
-			childSetText("Cost",					getString("Cost Default"));
+			getChild<LLUICtrl>("Cost")->setValue(getString("Cost Default"));
 		}
 		
 		LLSpinCtrl *edit_price = getChild<LLSpinCtrl>("Edit Cost");
@@ -492,35 +492,35 @@ void LLPanelPermissions::refresh()
 		// The edit fields are only enabled if you can sell this object
 		// and the sale price is not mixed.
 		BOOL enable_edit = (num_for_sale && can_transfer) ? !is_for_sale_mixed : FALSE;
-		childSetEnabled("Cost",					enable_edit);
-		childSetEnabled("Edit Cost",			enable_edit);
+		getChildView("Cost")->setEnabled(enable_edit);
+		getChildView("Edit Cost")->setEnabled(enable_edit);
 	}
 	// Someone, not you, owns these objects.
 	else if (!public_owned)
 	{
-		childSetEnabled("Cost",					FALSE);
-		childSetEnabled("Edit Cost",			FALSE);
+		getChildView("Cost")->setEnabled(FALSE);
+		getChildView("Edit Cost")->setEnabled(FALSE);
 		
 		// Don't show a price if none of the items are for sale.
 		if (num_for_sale)
-			childSetText("Edit Cost",			llformat("%d",total_sale_price));
+			getChild<LLUICtrl>("Edit Cost")->setValue(llformat("%d",total_sale_price));
 		else
-			childSetText("Edit Cost",			LLStringUtil::null);
+			getChild<LLUICtrl>("Edit Cost")->setValue(LLStringUtil::null);
 
 		// If multiple items are for sale, set text to TOTAL PRICE.
 		if (num_for_sale > 1)
-			childSetText("Cost",				getString("Cost Total"));
+			getChild<LLUICtrl>("Cost")->setValue(getString("Cost Total"));
 		else
-			childSetText("Cost",				getString("Cost Default"));
+			getChild<LLUICtrl>("Cost")->setValue(getString("Cost Default"));
 	}
 	// This is a public object.
 	else
 	{
-		childSetEnabled("Cost",					FALSE);
-		childSetText("Cost",					getString("Cost Default"));
+		getChildView("Cost")->setEnabled(FALSE);
+		getChild<LLUICtrl>("Cost")->setValue(getString("Cost Default"));
 		
-		childSetText("Edit Cost",				LLStringUtil::null);
-		childSetEnabled("Edit Cost",			FALSE);
+		getChild<LLUICtrl>("Edit Cost")->setValue(LLStringUtil::null);
+		getChildView("Edit Cost")->setEnabled(FALSE);
 	}
 
 	// Enable and disable the permissions checkboxes
@@ -562,20 +562,20 @@ void LLPanelPermissions::refresh()
 	{
 		if (valid_base_perms)
 		{
-			childSetText("B:",								"B: " + mask_to_string(base_mask_on));
-			childSetVisible("B:",							TRUE);
+			getChild<LLUICtrl>("B:")->setValue("B: " + mask_to_string(base_mask_on));
+			getChildView("B:")->setVisible(							TRUE);
 			
-			childSetText("O:",								"O: " + mask_to_string(owner_mask_on));
-			childSetVisible("O:",							TRUE);
+			getChild<LLUICtrl>("O:")->setValue("O: " + mask_to_string(owner_mask_on));
+			getChildView("O:")->setVisible(							TRUE);
 			
-			childSetText("G:",								"G: " + mask_to_string(group_mask_on));
-			childSetVisible("G:",							TRUE);
+			getChild<LLUICtrl>("G:")->setValue("G: " + mask_to_string(group_mask_on));
+			getChildView("G:")->setVisible(							TRUE);
 			
-			childSetText("E:",								"E: " + mask_to_string(everyone_mask_on));
-			childSetVisible("E:",							TRUE);
+			getChild<LLUICtrl>("E:")->setValue("E: " + mask_to_string(everyone_mask_on));
+			getChildView("E:")->setVisible(							TRUE);
 			
-			childSetText("N:",								"N: " + mask_to_string(next_owner_mask_on));
-			childSetVisible("N:",							TRUE);
+			getChild<LLUICtrl>("N:")->setValue("N: " + mask_to_string(next_owner_mask_on));
+			getChildView("N:")->setVisible(							TRUE);
 		}
 
 		U32 flag_mask = 0x0;
@@ -584,17 +584,17 @@ void LLPanelPermissions::refresh()
 		if (objectp->permCopy()) 		flag_mask |= PERM_COPY;
 		if (objectp->permTransfer()) 	flag_mask |= PERM_TRANSFER;
 
-		childSetText("F:",									"F:" + mask_to_string(flag_mask));
-		childSetVisible("F:",								TRUE);
+		getChild<LLUICtrl>("F:")->setValue("F:" + mask_to_string(flag_mask));
+		getChildView("F:")->setVisible(								TRUE);
 	}
 	else
 	{
-		childSetVisible("B:",								FALSE);
-		childSetVisible("O:",								FALSE);
-		childSetVisible("G:",								FALSE);
-		childSetVisible("E:",								FALSE);
-		childSetVisible("N:",								FALSE);
-		childSetVisible("F:",								FALSE);
+		getChildView("B:")->setVisible(								FALSE);
+		getChildView("O:")->setVisible(								FALSE);
+		getChildView("G:")->setVisible(								FALSE);
+		getChildView("E:")->setVisible(								FALSE);
+		getChildView("N:")->setVisible(								FALSE);
+		getChildView("F:")->setVisible(								FALSE);
 	}
 
 	BOOL has_change_perm_ability = FALSE;
@@ -614,65 +614,65 @@ void LLPanelPermissions::refresh()
 	if (!has_change_perm_ability && !has_change_sale_ability && !root_selected)
 	{
 		// ...must select root to choose permissions
-		childSetValue("perm_modify", 						getString("text modify warning"));
+		getChild<LLUICtrl>("perm_modify")->setValue(getString("text modify warning"));
 	}
 
 	if (has_change_perm_ability)
 	{
-		childSetEnabled("checkbox share with group",		TRUE);
-		childSetEnabled("checkbox allow everyone move",		owner_mask_on & PERM_MOVE);
-		childSetEnabled("checkbox allow everyone copy",		owner_mask_on & PERM_COPY && owner_mask_on & PERM_TRANSFER);
+		getChildView("checkbox share with group")->setEnabled(TRUE);
+		getChildView("checkbox allow everyone move")->setEnabled(owner_mask_on & PERM_MOVE);
+		getChildView("checkbox allow everyone copy")->setEnabled(owner_mask_on & PERM_COPY && owner_mask_on & PERM_TRANSFER);
 	}
 	else
 	{
-		childSetEnabled("checkbox share with group", 		FALSE);
-		childSetEnabled("checkbox allow everyone move", 	FALSE);
-		childSetEnabled("checkbox allow everyone copy", 	FALSE);
+		getChildView("checkbox share with group")->setEnabled(FALSE);
+		getChildView("checkbox allow everyone move")->setEnabled(FALSE);
+		getChildView("checkbox allow everyone copy")->setEnabled(FALSE);
 	}
 
 	if (has_change_sale_ability && (owner_mask_on & PERM_TRANSFER))
 	{
-		childSetEnabled("checkbox for sale", 				can_transfer || (!can_transfer && num_for_sale));
+		getChildView("checkbox for sale")->setEnabled(can_transfer || (!can_transfer && num_for_sale));
 		// Set the checkbox to tentative if the prices of each object selected
 		// are not the same.
-		childSetTentative("checkbox for sale", 				is_for_sale_mixed);
-		childSetEnabled("sale type", 						num_for_sale && can_transfer && !is_sale_price_mixed);
+		getChild<LLUICtrl>("checkbox for sale")->setTentative( 				is_for_sale_mixed);
+		getChildView("sale type")->setEnabled(num_for_sale && can_transfer && !is_sale_price_mixed);
 
-		childSetEnabled("Next owner can:", 					TRUE);
-		childSetEnabled("checkbox next owner can modify", 	base_mask_on & PERM_MODIFY);
-		childSetEnabled("checkbox next owner can copy", 	base_mask_on & PERM_COPY);
-		childSetEnabled("checkbox next owner can transfer", next_owner_mask_on & PERM_COPY);
+		getChildView("Next owner can:")->setEnabled(TRUE);
+		getChildView("checkbox next owner can modify")->setEnabled(base_mask_on & PERM_MODIFY);
+		getChildView("checkbox next owner can copy")->setEnabled(base_mask_on & PERM_COPY);
+		getChildView("checkbox next owner can transfer")->setEnabled(next_owner_mask_on & PERM_COPY);
 	}
 	else 
 	{
-		childSetEnabled("checkbox for sale",				FALSE);
-		childSetEnabled("sale type",						FALSE);
+		getChildView("checkbox for sale")->setEnabled(FALSE);
+		getChildView("sale type")->setEnabled(FALSE);
 
-		childSetEnabled("Next owner can:",					FALSE);
-		childSetEnabled("checkbox next owner can modify",	FALSE);
-		childSetEnabled("checkbox next owner can copy",		FALSE);
-		childSetEnabled("checkbox next owner can transfer",	FALSE);
+		getChildView("Next owner can:")->setEnabled(FALSE);
+		getChildView("checkbox next owner can modify")->setEnabled(FALSE);
+		getChildView("checkbox next owner can copy")->setEnabled(FALSE);
+		getChildView("checkbox next owner can transfer")->setEnabled(FALSE);
 	}
 
 	if (valid_group_perms)
 	{
 		if ((group_mask_on & PERM_COPY) && (group_mask_on & PERM_MODIFY) && (group_mask_on & PERM_MOVE))
 		{
-			childSetValue("checkbox share with group",		TRUE);
-			childSetTentative("checkbox share with group",	FALSE);
-			childSetEnabled("button deed",					gAgent.hasPowerInGroup(group_id, GP_OBJECT_DEED) && (owner_mask_on & PERM_TRANSFER) && !group_owned && can_transfer);
+			getChild<LLUICtrl>("checkbox share with group")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox share with group")->setTentative(	FALSE);
+			getChildView("button deed")->setEnabled(gAgent.hasPowerInGroup(group_id, GP_OBJECT_DEED) && (owner_mask_on & PERM_TRANSFER) && !group_owned && can_transfer);
 		}
 		else if ((group_mask_off & PERM_COPY) && (group_mask_off & PERM_MODIFY) && (group_mask_off & PERM_MOVE))
 		{
-			childSetValue("checkbox share with group",		FALSE);
-			childSetTentative("checkbox share with group",	FALSE);
-			childSetEnabled("button deed",					FALSE);
+			getChild<LLUICtrl>("checkbox share with group")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox share with group")->setTentative(	FALSE);
+			getChildView("button deed")->setEnabled(FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox share with group",		TRUE);
-			childSetTentative("checkbox share with group",	TRUE);
-			childSetEnabled("button deed",					gAgent.hasPowerInGroup(group_id, GP_OBJECT_DEED) && (group_mask_on & PERM_MOVE) && (owner_mask_on & PERM_TRANSFER) && !group_owned && can_transfer);
+			getChild<LLUICtrl>("checkbox share with group")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox share with group")->setTentative(	TRUE);
+			getChildView("button deed")->setEnabled(gAgent.hasPowerInGroup(group_id, GP_OBJECT_DEED) && (group_mask_on & PERM_MOVE) && (owner_mask_on & PERM_TRANSFER) && !group_owned && can_transfer);
 		}
 	}			
 
@@ -681,35 +681,35 @@ void LLPanelPermissions::refresh()
 		// Move
 		if (everyone_mask_on & PERM_MOVE)
 		{
-			childSetValue("checkbox allow everyone move",		TRUE);
-			childSetTentative("checkbox allow everyone move", 	FALSE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setTentative( 	FALSE);
 		}
 		else if (everyone_mask_off & PERM_MOVE)
 		{
-			childSetValue("checkbox allow everyone move",		FALSE);
-			childSetTentative("checkbox allow everyone move", 	FALSE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setTentative( 	FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox allow everyone move",		TRUE);
-			childSetTentative("checkbox allow everyone move", 	TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setTentative( 	TRUE);
 		}
 
 		// Copy == everyone can't copy
 		if (everyone_mask_on & PERM_COPY)
 		{
-			childSetValue("checkbox allow everyone copy",		TRUE);
-			childSetTentative("checkbox allow everyone copy", 	!can_copy || !can_transfer);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setTentative( 	!can_copy || !can_transfer);
 		}
 		else if (everyone_mask_off & PERM_COPY)
 		{
-			childSetValue("checkbox allow everyone copy",		FALSE);
-			childSetTentative("checkbox allow everyone copy",	FALSE);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setTentative(	FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox allow everyone copy",		TRUE);
-			childSetTentative("checkbox allow everyone copy",	TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setTentative(	TRUE);
 		}
 	}
 
@@ -718,52 +718,52 @@ void LLPanelPermissions::refresh()
 		// Modify == next owner canot modify
 		if (next_owner_mask_on & PERM_MODIFY)
 		{
-			childSetValue("checkbox next owner can modify",		TRUE);
-			childSetTentative("checkbox next owner can modify",	FALSE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setTentative(	FALSE);
 		}
 		else if (next_owner_mask_off & PERM_MODIFY)
 		{
-			childSetValue("checkbox next owner can modify",		FALSE);
-			childSetTentative("checkbox next owner can modify",	FALSE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setTentative(	FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox next owner can modify",		TRUE);
-			childSetTentative("checkbox next owner can modify",	TRUE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setTentative(	TRUE);
 		}
 
 		// Copy == next owner cannot copy
 		if (next_owner_mask_on & PERM_COPY)
 		{			
-			childSetValue("checkbox next owner can copy",		TRUE);
-			childSetTentative("checkbox next owner can copy",	!can_copy);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setTentative(	!can_copy);
 		}
 		else if (next_owner_mask_off & PERM_COPY)
 		{
-			childSetValue("checkbox next owner can copy",		FALSE);
-			childSetTentative("checkbox next owner can copy",	FALSE);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setTentative(	FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox next owner can copy",		TRUE);
-			childSetTentative("checkbox next owner can copy",	TRUE);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setTentative(	TRUE);
 		}
 
 		// Transfer == next owner cannot transfer
 		if (next_owner_mask_on & PERM_TRANSFER)
 		{
-			childSetValue("checkbox next owner can transfer",	TRUE);
-			childSetTentative("checkbox next owner can transfer", !can_transfer);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setTentative( !can_transfer);
 		}
 		else if (next_owner_mask_off & PERM_TRANSFER)
 		{
-			childSetValue("checkbox next owner can transfer",	FALSE);
-			childSetTentative("checkbox next owner can transfer", FALSE);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setTentative( FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox next owner can transfer",	TRUE);
-			childSetTentative("checkbox next owner can transfer", TRUE);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setTentative( TRUE);
 		}
 	}
 
@@ -785,7 +785,7 @@ void LLPanelPermissions::refresh()
 		combo_sale_type->setTentative(				TRUE); // unfortunately this doesn't do anything at the moment.
 	}
 
-	childSetValue("checkbox for sale", (num_for_sale != 0));
+	getChild<LLUICtrl>("checkbox for sale")->setValue((num_for_sale != 0));
 
 	// HACK: There are some old objects in world that are set for sale,
 	// but are no-transfer.  We need to let users turn for-sale off, but only
@@ -795,7 +795,7 @@ void LLPanelPermissions::refresh()
 	{
 		if (num_for_sale && has_change_sale_ability)
 		{
-			childSetEnabled("checkbox for sale", true);
+			getChildView("checkbox for sale")->setEnabled(true);
 		}
 	}
 	
@@ -803,9 +803,9 @@ void LLPanelPermissions::refresh()
 	const BOOL all_volume = LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME );
 	bool include_in_search;
 	const BOOL all_include_in_search = LLSelectMgr::getInstance()->selectionGetIncludeInSearch(&include_in_search);
-	childSetEnabled("search_check", 				has_change_sale_ability && all_volume);
-	childSetValue("search_check", 					include_in_search);
-	childSetTentative("search_check", 				!all_include_in_search);
+	getChildView("search_check")->setEnabled(has_change_sale_ability && all_volume);
+	getChild<LLUICtrl>("search_check")->setValue(include_in_search);
+	getChild<LLUICtrl>("search_check")->setTentative( 				!all_include_in_search);
 
 	// Click action (touch, sit, buy)
 	U8 click_action = 0;
@@ -818,8 +818,8 @@ void LLPanelPermissions::refresh()
 			combo_click_action->setValue(LLSD(combo_value));
 		}
 	}
-	childSetEnabled("label click action",			is_perm_modify && all_volume);
-	childSetEnabled("clickaction",					is_perm_modify && all_volume);
+	getChildView("label click action")->setEnabled(is_perm_modify && all_volume);
+	getChildView("clickaction")->setEnabled(is_perm_modify && all_volume);
 }
 
 
diff --git a/indra/newview/llpanelpick.cpp b/indra/newview/llpanelpick.cpp
index f0dc493ebee14f0a580c1b49212d6e530666a353..11b51f4dd402d0636fc40f60f0ed1d77c00121eb 100644
--- a/indra/newview/llpanelpick.cpp
+++ b/indra/newview/llpanelpick.cpp
@@ -247,13 +247,13 @@ void LLPanelPickInfo::resetControls()
 {
 	if(getAvatarId() == gAgent.getID())
 	{
-		childSetEnabled("edit_btn", TRUE);
-		childSetVisible("edit_btn", TRUE);
+		getChildView("edit_btn")->setEnabled(TRUE);
+		getChildView("edit_btn")->setVisible( TRUE);
 	}
 	else
 	{
-		childSetEnabled("edit_btn", FALSE);
-		childSetVisible("edit_btn", FALSE);
+		getChildView("edit_btn")->setEnabled(FALSE);
+		getChildView("edit_btn")->setVisible( FALSE);
 	}
 }
 
@@ -306,17 +306,17 @@ void LLPanelPickInfo::setSnapshotId(const LLUUID& id)
 
 void LLPanelPickInfo::setPickName(const std::string& name)
 {
-	childSetValue(XML_NAME, name);
+	getChild<LLUICtrl>(XML_NAME)->setValue(name);
 }
 
 void LLPanelPickInfo::setPickDesc(const std::string& desc)
 {
-	childSetValue(XML_DESC, desc);
+	getChild<LLUICtrl>(XML_DESC)->setValue(desc);
 }
 
 void LLPanelPickInfo::setPickLocation(const std::string& location)
 {
-	childSetValue(XML_LOCATION, location);
+	getChild<LLUICtrl>(XML_LOCATION)->setValue(location);
 }
 
 void LLPanelPickInfo::onClickMap()
@@ -399,8 +399,8 @@ void LLPanelPickEdit::onOpen(const LLSD& key)
 		}
 
 		setParcelID(parcel_id);
-		childSetValue("pick_name", pick_name.empty() ? region_name : pick_name);
-		childSetValue("pick_desc", pick_desc);
+		getChild<LLUICtrl>("pick_name")->setValue(pick_name.empty() ? region_name : pick_name);
+		getChild<LLUICtrl>("pick_desc")->setValue(pick_desc);
 		setSnapshotId(snapshot_id);
 		setPickLocation(createLocationText(getLocationNotice(), pick_name, region_name, getPosGlobal()));
 
@@ -428,8 +428,8 @@ void LLPanelPickEdit::setPickData(const LLPickData* pick_data)
 	mNeedData = false;
 
 	setParcelID(pick_data->parcel_id);
-	childSetValue("pick_name", pick_data->name);
-	childSetValue("pick_desc", pick_data->desc);
+	getChild<LLUICtrl>("pick_name")->setValue(pick_data->name);
+	getChild<LLUICtrl>("pick_desc")->setValue(pick_data->desc);
 	setSnapshotId(pick_data->snapshot_id);
 	setPosGlobal(pick_data->pos_global);
 	setPickLocation(createLocationText(LLStringUtil::null, pick_data->name,
@@ -511,8 +511,8 @@ void LLPanelPickEdit::sendUpdate()
 	//legacy var  need to be deleted
 	pick_data.top_pick = FALSE; 
 	pick_data.parcel_id = mParcelId;
-	pick_data.name = childGetValue(XML_NAME).asString();
-	pick_data.desc = childGetValue(XML_DESC).asString();
+	pick_data.name = getChild<LLUICtrl>(XML_NAME)->getValue().asString();
+	pick_data.desc = getChild<LLUICtrl>(XML_DESC)->getValue().asString();
 	pick_data.snapshot_id = mSnapshotCtrl->getImageAssetID();
 	pick_data.pos_global = getPosGlobal();
 	pick_data.sort_order = 0;
@@ -547,7 +547,7 @@ void LLPanelPickEdit::resetData()
 
 void LLPanelPickEdit::enableSaveButton(bool enable)
 {
-	childSetEnabled(XML_BTN_SAVE, enable);
+	getChildView(XML_BTN_SAVE)->setEnabled(enable);
 }
 
 void LLPanelPickEdit::onClickSetLocation()
diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp
index bde8d0288552e6f16b4b322a22437c70293f9816..65254e50b4b269c6f70b0cefba073c604a43bbe7 100644
--- a/indra/newview/llpanelpicks.cpp
+++ b/indra/newview/llpanelpicks.cpp
@@ -218,7 +218,7 @@ void LLPanelPicks::updateData()
 		mNoPicks = false;
 		mNoClassifieds = false;
 
-		childSetValue("picks_panel_text", LLTrans::getString("PicksClassifiedsLoadingText"));
+		getChild<LLUICtrl>("picks_panel_text")->setValue(LLTrans::getString("PicksClassifiedsLoadingText"));
 
 		mPicksList->clear();
 		LLAvatarPropertiesProcessor::getInstance()->sendAvatarPicksRequest(getAvatarId());
@@ -237,7 +237,7 @@ void LLPanelPicks::processProperties(void* data, EAvatarProcessorType type)
 		{
 			std::string name, second_name;
 			gCacheName->getName(getAvatarId(),name,second_name);
-			childSetTextArg("pick_title", "[NAME]",name);
+			getChild<LLUICtrl>("pick_title")->setTextArg("[NAME]", name);
 			
 			// Save selection, to be able to edit same item after saving changes. See EXT-3023.
 			LLUUID selected_id = mPicksList->getSelectedValue()[PICK_ID];
@@ -324,11 +324,11 @@ void LLPanelPicks::processProperties(void* data, EAvatarProcessorType type)
 	{
 		if(getAvatarId() == gAgentID)
 		{
-			childSetValue("picks_panel_text", LLTrans::getString("NoPicksClassifiedsText"));
+			getChild<LLUICtrl>("picks_panel_text")->setValue(LLTrans::getString("NoPicksClassifiedsText"));
 		}
 		else
 		{
-			childSetValue("picks_panel_text", LLTrans::getString("NoAvatarPicksClassifiedsText"));
+			getChild<LLUICtrl>("picks_panel_text")->setValue(LLTrans::getString("NoAvatarPicksClassifiedsText"));
 		}
 	}
 }
@@ -460,22 +460,22 @@ void LLPanelPicks::onOpen(const LLSD& key)
 	BOOL self = (gAgent.getID() == id);
 
 	// only agent can edit her picks 
-	childSetEnabled("edit_panel", self);
-	childSetVisible("edit_panel", self);
+	getChildView("edit_panel")->setEnabled(self);
+	getChildView("edit_panel")->setVisible( self);
 
 	// Disable buttons when viewing profile for first time
 	if(getAvatarId() != id)
 	{
-		childSetEnabled(XML_BTN_INFO,FALSE);
-		childSetEnabled(XML_BTN_TELEPORT,FALSE);
-		childSetEnabled(XML_BTN_SHOW_ON_MAP,FALSE);
+		getChildView(XML_BTN_INFO)->setEnabled(FALSE);
+		getChildView(XML_BTN_TELEPORT)->setEnabled(FALSE);
+		getChildView(XML_BTN_SHOW_ON_MAP)->setEnabled(FALSE);
 	}
 
 	// and see a special title - set as invisible by default in xml file
 	if (self)
 	{
-		childSetVisible("pick_title", !self);
-		childSetVisible("pick_title_agent", self);
+		getChildView("pick_title")->setVisible( !self);
+		getChildView("pick_title_agent")->setVisible( self);
 
 		mPopupMenu->setItemVisible("pick_delete", TRUE);
 		mPopupMenu->setItemVisible("pick_edit", TRUE);
@@ -670,17 +670,17 @@ void LLPanelPicks::updateButtons()
 
 	if (getAvatarId() == gAgentID)
 	{
-		childSetEnabled(XML_BTN_DELETE, has_selected);
+		getChildView(XML_BTN_DELETE)->setEnabled(has_selected);
 	}
 
-	childSetEnabled(XML_BTN_INFO, has_selected);
-	childSetEnabled(XML_BTN_TELEPORT, has_selected);
-	childSetEnabled(XML_BTN_SHOW_ON_MAP, has_selected);
+	getChildView(XML_BTN_INFO)->setEnabled(has_selected);
+	getChildView(XML_BTN_TELEPORT)->setEnabled(has_selected);
+	getChildView(XML_BTN_SHOW_ON_MAP)->setEnabled(has_selected);
 
 	LLClassifiedItem* c_item = dynamic_cast<LLClassifiedItem*>(mClassifiedsList->getSelectedItem());
 	if(c_item)
 	{
-		childSetEnabled(XML_BTN_INFO, isClassifiedPublished(c_item));
+		getChildView(XML_BTN_INFO)->setEnabled(isClassifiedPublished(c_item));
 	}
 }
 
@@ -701,8 +701,7 @@ void LLPanelPicks::buildPickPanel()
 
 void LLPanelPicks::onClickPlusBtn()
 {
-	LLRect rect;
-	childGetRect(XML_BTN_NEW, rect);
+	LLRect rect(getChildView(XML_BTN_NEW)->getRect());
 
 	mPlusMenu->updateParent(LLMenuGL::sMenuContainer);
 	mPlusMenu->setButtonRect(rect, this);
@@ -1080,7 +1079,7 @@ void LLPickItem::init(LLPickData* pick_data)
 void LLPickItem::setPickName(const std::string& name)
 {
 	mPickName = name;
-	childSetValue("picture_name",name);
+	getChild<LLUICtrl>("picture_name")->setValue(name);
 
 }
 
@@ -1101,7 +1100,7 @@ const LLUUID& LLPickItem::getSnapshotId()
 
 void LLPickItem::setPickDesc(const std::string& descr)
 {
-	childSetValue("picture_descr",descr);
+	getChild<LLUICtrl>("picture_descr")->setValue(descr);
 }
 
 void LLPickItem::setPickId(const LLUUID& id)
@@ -1121,7 +1120,7 @@ const LLVector3d& LLPickItem::getPosGlobal()
 
 const std::string LLPickItem::getDescription()
 {
-	return childGetValue("picture_descr").asString();
+	return getChild<LLUICtrl>("picture_descr")->getValue().asString();
 }
 
 void LLPickItem::update()
@@ -1148,10 +1147,15 @@ void LLPickItem::processProperties(void *data, EAvatarProcessorType type)
 	LLAvatarPropertiesProcessor::instance().removeObserver(mCreatorID, this);
 }
 
+void set_child_visible(LLView* parent, const std::string& child_name, bool visible)
+{
+	parent->getChildView(child_name)->setVisible(visible);
+}
+
 BOOL LLPickItem::postBuild()
 {
-	setMouseEnterCallback(boost::bind(&LLPanelPickInfo::childSetVisible, this, "hovered_icon", true));
-	setMouseLeaveCallback(boost::bind(&LLPanelPickInfo::childSetVisible, this, "hovered_icon", false));
+	setMouseEnterCallback(boost::bind(&set_child_visible, this, "hovered_icon", true));
+	setMouseLeaveCallback(boost::bind(&set_child_visible, this, "hovered_icon", false));
 	return TRUE;
 }
 
@@ -1159,7 +1163,7 @@ void LLPickItem::setValue(const LLSD& value)
 {
 	if (!value.isMap()) return;;
 	if (!value.has("selected")) return;
-	childSetVisible("selected_icon", value["selected"]);
+	getChildView("selected_icon")->setVisible( value["selected"]);
 }
 
 //////////////////////////////////////////////////////////////////////////
@@ -1205,8 +1209,8 @@ void LLClassifiedItem::processProperties(void* data, EAvatarProcessorType type)
 
 BOOL LLClassifiedItem::postBuild()
 {
-	setMouseEnterCallback(boost::bind(&LLPanelPickInfo::childSetVisible, this, "hovered_icon", true));
-	setMouseLeaveCallback(boost::bind(&LLPanelPickInfo::childSetVisible, this, "hovered_icon", false));
+	setMouseEnterCallback(boost::bind(&set_child_visible, this, "hovered_icon", true));
+	setMouseLeaveCallback(boost::bind(&set_child_visible, this, "hovered_icon", false));
 	return TRUE;
 }
 
@@ -1214,7 +1218,7 @@ void LLClassifiedItem::setValue(const LLSD& value)
 {
 	if (!value.isMap()) return;;
 	if (!value.has("selected")) return;
-	childSetVisible("selected_icon", value["selected"]);
+	getChildView("selected_icon")->setVisible( value["selected"]);
 }
 
 void LLClassifiedItem::fillIn(LLPanelClassifiedEdit* panel)
@@ -1237,22 +1241,22 @@ void LLClassifiedItem::fillIn(LLPanelClassifiedEdit* panel)
 
 void LLClassifiedItem::setClassifiedName(const std::string& name)
 {
-	childSetValue("name", name);
+	getChild<LLUICtrl>("name")->setValue(name);
 }
 
 void LLClassifiedItem::setDescription(const std::string& desc)
 {
-	childSetValue("description", desc);
+	getChild<LLUICtrl>("description")->setValue(desc);
 }
 
 void LLClassifiedItem::setSnapshotId(const LLUUID& snapshot_id)
 {
-	childSetValue("picture", snapshot_id);
+	getChild<LLUICtrl>("picture")->setValue(snapshot_id);
 }
 
 LLUUID LLClassifiedItem::getSnapshotId()
 {
-	return childGetValue("picture");
+	return getChild<LLUICtrl>("picture")->getValue();
 }
 
 //EOF
diff --git a/indra/newview/llpanelpicks.h b/indra/newview/llpanelpicks.h
index a98b8c413eda97b69def4e86b0137cc781f15200..9dd1ba6ff9cdb0a90106d51abf04e142e8077dfd 100644
--- a/indra/newview/llpanelpicks.h
+++ b/indra/newview/llpanelpicks.h
@@ -275,11 +275,11 @@ class LLClassifiedItem : public LLPanel, public LLAvatarPropertiesObserver
 
 	void setClassifiedName (const std::string& name);
 
-	std::string getClassifiedName() { return childGetValue("name").asString(); }
+	std::string getClassifiedName() { return getChild<LLUICtrl>("name")->getValue().asString(); }
 
 	void setDescription(const std::string& desc);
 
-	std::string getDescription() { return childGetValue("description").asString(); }
+	std::string getDescription() { return getChild<LLUICtrl>("description")->getValue().asString(); }
 
 	void setSnapshotId(const LLUUID& snapshot_id);
 
diff --git a/indra/newview/llpanelprofileview.cpp b/indra/newview/llpanelprofileview.cpp
index 044036ea50e6b46d1d8437af0e2f619c71c998bd..d59e694be6b943ff7d8800d503370b317dc40eb2 100644
--- a/indra/newview/llpanelprofileview.cpp
+++ b/indra/newview/llpanelprofileview.cpp
@@ -123,8 +123,8 @@ BOOL LLPanelProfileView::postBuild()
 	getTabContainer()[PANEL_NOTES] = getChild<LLPanelAvatarNotes>(PANEL_NOTES);
 	
 	//*TODO remove this, according to style guide we don't use status combobox
-	getTabContainer()[PANEL_PROFILE]->childSetVisible("online_me_status_text", FALSE);
-	getTabContainer()[PANEL_PROFILE]->childSetVisible("status_combo", FALSE);
+	getTabContainer()[PANEL_PROFILE]->getChildView("online_me_status_text")->setVisible( FALSE);
+	getTabContainer()[PANEL_PROFILE]->getChildView("status_combo")->setVisible( FALSE);
 
 	mStatusText = getChild<LLTextBox>("status");
 	mStatusText->setVisible(false);
diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp
index 1048e3fcc017876357eb94a89850bf34e9dae67e..af58912b38a1687a83fae01645df83379feb7993 100644
--- a/indra/newview/llpanelteleporthistory.cpp
+++ b/indra/newview/llpanelteleporthistory.cpp
@@ -169,7 +169,7 @@ void LLTeleportHistoryFlatItem::setValue(const LLSD& value)
 {
 	if (!value.isMap()) return;;
 	if (!value.has("selected")) return;
-	childSetVisible("selected_icon", value["selected"]);
+	getChildView("selected_icon")->setVisible( value["selected"]);
 }
 
 void LLTeleportHistoryFlatItem::setHighlightedText(const std::string& text)
@@ -193,7 +193,7 @@ void LLTeleportHistoryFlatItem::updateTitle()
 
 void LLTeleportHistoryFlatItem::onMouseEnter(S32 x, S32 y, MASK mask)
 {
-	childSetVisible("hovered_icon", true);
+	getChildView("hovered_icon")->setVisible( true);
 	mProfileBtn->setVisible(true);
 
 	LLPanel::onMouseEnter(x, y, mask);
@@ -201,7 +201,7 @@ void LLTeleportHistoryFlatItem::onMouseEnter(S32 x, S32 y, MASK mask)
 
 void LLTeleportHistoryFlatItem::onMouseLeave(S32 x, S32 y, MASK mask)
 {
-	childSetVisible("hovered_icon", false);
+	getChildView("hovered_icon")->setVisible( false);
 	mProfileBtn->setVisible(false);
 
 	LLPanel::onMouseLeave(x, y, mask);
diff --git a/indra/newview/llpanelvolume.cpp b/indra/newview/llpanelvolume.cpp
index 8b016372392b207f060c882527bc408ebe9958bc..2b76b715682dbdce93640ae01176cb23c173d4d7 100644
--- a/indra/newview/llpanelvolume.cpp
+++ b/indra/newview/llpanelvolume.cpp
@@ -85,21 +85,21 @@ BOOL	LLPanelVolume::postBuild()
 	{
 		childSetCommitCallback("Flexible1D Checkbox Ctrl",onCommitIsFlexible,this);
 		childSetCommitCallback("FlexNumSections",onCommitFlexible,this);
-		childSetValidate("FlexNumSections",precommitValidate);
+		getChild<LLUICtrl>("FlexNumSections")->setValidateBeforeCommit(precommitValidate);
 		childSetCommitCallback("FlexGravity",onCommitFlexible,this);
-		childSetValidate("FlexGravity",precommitValidate);
+		getChild<LLUICtrl>("FlexGravity")->setValidateBeforeCommit(precommitValidate);
 		childSetCommitCallback("FlexFriction",onCommitFlexible,this);
-		childSetValidate("FlexFriction",precommitValidate);
+		getChild<LLUICtrl>("FlexFriction")->setValidateBeforeCommit(precommitValidate);
 		childSetCommitCallback("FlexWind",onCommitFlexible,this);
-		childSetValidate("FlexWind",precommitValidate);
+		getChild<LLUICtrl>("FlexWind")->setValidateBeforeCommit(precommitValidate);
 		childSetCommitCallback("FlexTension",onCommitFlexible,this);
-		childSetValidate("FlexTension",precommitValidate);
+		getChild<LLUICtrl>("FlexTension")->setValidateBeforeCommit(precommitValidate);
 		childSetCommitCallback("FlexForceX",onCommitFlexible,this);
-		childSetValidate("FlexForceX",precommitValidate);
+		getChild<LLUICtrl>("FlexForceX")->setValidateBeforeCommit(precommitValidate);
 		childSetCommitCallback("FlexForceY",onCommitFlexible,this);
-		childSetValidate("FlexForceY",precommitValidate);
+		getChild<LLUICtrl>("FlexForceY")->setValidateBeforeCommit(precommitValidate);
 		childSetCommitCallback("FlexForceZ",onCommitFlexible,this);
-		childSetValidate("FlexForceZ",precommitValidate);
+		getChild<LLUICtrl>("FlexForceZ")->setValidateBeforeCommit(precommitValidate);
 	}
 
 	// LIGHT Parameters
@@ -121,18 +121,18 @@ BOOL	LLPanelVolume::postBuild()
 		}
 
 		childSetCommitCallback("Light Intensity",onCommitLight,this);
-		childSetValidate("Light Intensity",precommitValidate);
+		getChild<LLUICtrl>("Light Intensity")->setValidateBeforeCommit(precommitValidate);
 		childSetCommitCallback("Light Radius",onCommitLight,this);
-		childSetValidate("Light Radius",precommitValidate);
+		getChild<LLUICtrl>("Light Radius")->setValidateBeforeCommit(precommitValidate);
 		childSetCommitCallback("Light Falloff",onCommitLight,this);
-		childSetValidate("Light Falloff",precommitValidate);
+		getChild<LLUICtrl>("Light Falloff")->setValidateBeforeCommit(precommitValidate);
 		
 		childSetCommitCallback("Light FOV", onCommitLight, this);
-		childSetValidate("Light FOV", precommitValidate);
+		getChild<LLUICtrl>("Light FOV")->setValidateBeforeCommit( precommitValidate);
 		childSetCommitCallback("Light Focus", onCommitLight, this);
-		childSetValidate("Light Focus", precommitValidate);
+		getChild<LLUICtrl>("Light Focus")->setValidateBeforeCommit( precommitValidate);
 		childSetCommitCallback("Light Ambiance", onCommitLight, this);
-		childSetValidate("Light Ambiance", precommitValidate);
+		getChild<LLUICtrl>("Light Ambiance")->setValidateBeforeCommit( precommitValidate);
 	}
 	
 	// Start with everyone disabled
@@ -210,25 +210,25 @@ void LLPanelVolume::getState( )
 	// Select Single Message
 	if (single_volume)
 	{
-		childSetVisible("edit_object",true);
-		childSetEnabled("edit_object",true);
-		childSetVisible("select_single",false);
+		getChildView("edit_object")->setVisible(true);
+		getChildView("edit_object")->setEnabled(true);
+		getChildView("select_single")->setVisible(false);
 	}
 	else
 	{	
-		childSetVisible("edit_object",false);
-		childSetVisible("select_single",true);
-		childSetEnabled("select_single",true);
+		getChildView("edit_object")->setVisible(false);
+		getChildView("select_single")->setVisible(true);
+		getChildView("select_single")->setEnabled(true);
 	}
 	
 	// Light properties
 	BOOL is_light = volobjp && volobjp->getIsLight();
-	childSetValue("Light Checkbox Ctrl",is_light);
-	childSetEnabled("Light Checkbox Ctrl",editable && single_volume && volobjp);
+	getChild<LLUICtrl>("Light Checkbox Ctrl")->setValue(is_light);
+	getChildView("Light Checkbox Ctrl")->setEnabled(editable && single_volume && volobjp);
 	
 	if (is_light && editable && single_volume)
 	{
-		childSetEnabled("label color",true);
+		getChildView("label color")->setEnabled(true);
 		//mLabelColor		 ->setEnabled( TRUE );
 		LLColorSwatchCtrl* LightColorSwatch = getChild<LLColorSwatchCtrl>("colorswatch");
 		if(LightColorSwatch)
@@ -246,22 +246,22 @@ void LLPanelVolume::getState( )
 			LightTextureCtrl->setImageAssetID(volobjp->getLightTextureID());
 		}
 
-		childSetEnabled("Light Intensity",true);
-		childSetEnabled("Light Radius",true);
-		childSetEnabled("Light Falloff",true);
+		getChildView("Light Intensity")->setEnabled(true);
+		getChildView("Light Radius")->setEnabled(true);
+		getChildView("Light Falloff")->setEnabled(true);
 
-		childSetEnabled("Light FOV", true);
-		childSetEnabled("Light Focus", true);
-		childSetEnabled("Light Ambiance", true);
+		getChildView("Light FOV")->setEnabled(true);
+		getChildView("Light Focus")->setEnabled(true);
+		getChildView("Light Ambiance")->setEnabled(true);
 		
-		childSetValue("Light Intensity",volobjp->getLightIntensity());
-		childSetValue("Light Radius",volobjp->getLightRadius());
-		childSetValue("Light Falloff",volobjp->getLightFalloff());
+		getChild<LLUICtrl>("Light Intensity")->setValue(volobjp->getLightIntensity());
+		getChild<LLUICtrl>("Light Radius")->setValue(volobjp->getLightRadius());
+		getChild<LLUICtrl>("Light Falloff")->setValue(volobjp->getLightFalloff());
 
 		LLVector3 params = volobjp->getSpotLightParams();
-		childSetValue("Light FOV", params.mV[0]);
-		childSetValue("Light Focus", params.mV[1]);
-		childSetValue("Light Ambiance", params.mV[2]);
+		getChild<LLUICtrl>("Light FOV")->setValue(params.mV[0]);
+		getChild<LLUICtrl>("Light Focus")->setValue(params.mV[1]);
+		getChild<LLUICtrl>("Light Ambiance")->setValue(params.mV[2]);
 
 		mLightSavedColor = volobjp->getLightColor();
 	}
@@ -271,7 +271,7 @@ void LLPanelVolume::getState( )
 		getChild<LLSpinCtrl>("Light Radius", true)->clear();
 		getChild<LLSpinCtrl>("Light Falloff", true)->clear();
 
-		childSetEnabled("label color",false);	
+		getChildView("label color")->setEnabled(false);	
 		LLColorSwatchCtrl* LightColorSwatch = getChild<LLColorSwatchCtrl>("colorswatch");
 		if(LightColorSwatch)
 		{
@@ -285,56 +285,56 @@ void LLPanelVolume::getState( )
 			LightTextureCtrl->setValid(FALSE);
 		}
 
-		childSetEnabled("Light Intensity",false);
-		childSetEnabled("Light Radius",false);
-		childSetEnabled("Light Falloff",false);
+		getChildView("Light Intensity")->setEnabled(false);
+		getChildView("Light Radius")->setEnabled(false);
+		getChildView("Light Falloff")->setEnabled(false);
 
-		childSetEnabled("Light FOV",false);
-		childSetEnabled("Light Focus",false);
-		childSetEnabled("Light Ambiance",false);
+		getChildView("Light FOV")->setEnabled(false);
+		getChildView("Light Focus")->setEnabled(false);
+		getChildView("Light Ambiance")->setEnabled(false);
 	}
 	
 	// Flexible properties
 	BOOL is_flexible = volobjp && volobjp->isFlexible();
-	childSetValue("Flexible1D Checkbox Ctrl",is_flexible);
+	getChild<LLUICtrl>("Flexible1D Checkbox Ctrl")->setValue(is_flexible);
 	if (is_flexible || (volobjp && volobjp->canBeFlexible()))
 	{
-		childSetEnabled("Flexible1D Checkbox Ctrl", editable && single_volume && volobjp);
+		getChildView("Flexible1D Checkbox Ctrl")->setEnabled(editable && single_volume && volobjp);
 	}
 	else
 	{
-		childSetEnabled("Flexible1D Checkbox Ctrl", false);
+		getChildView("Flexible1D Checkbox Ctrl")->setEnabled(false);
 	}
 	if (is_flexible && editable && single_volume)
 	{
-		childSetVisible("FlexNumSections",true);
-		childSetVisible("FlexGravity",true);
-		childSetVisible("FlexTension",true);
-		childSetVisible("FlexFriction",true);
-		childSetVisible("FlexWind",true);
-		childSetVisible("FlexForceX",true);
-		childSetVisible("FlexForceY",true);
-		childSetVisible("FlexForceZ",true);
-
-		childSetEnabled("FlexNumSections",true);
-		childSetEnabled("FlexGravity",true);
-		childSetEnabled("FlexTension",true);
-		childSetEnabled("FlexFriction",true);
-		childSetEnabled("FlexWind",true);
-		childSetEnabled("FlexForceX",true);
-		childSetEnabled("FlexForceY",true);
-		childSetEnabled("FlexForceZ",true);
+		getChildView("FlexNumSections")->setVisible(true);
+		getChildView("FlexGravity")->setVisible(true);
+		getChildView("FlexTension")->setVisible(true);
+		getChildView("FlexFriction")->setVisible(true);
+		getChildView("FlexWind")->setVisible(true);
+		getChildView("FlexForceX")->setVisible(true);
+		getChildView("FlexForceY")->setVisible(true);
+		getChildView("FlexForceZ")->setVisible(true);
+
+		getChildView("FlexNumSections")->setEnabled(true);
+		getChildView("FlexGravity")->setEnabled(true);
+		getChildView("FlexTension")->setEnabled(true);
+		getChildView("FlexFriction")->setEnabled(true);
+		getChildView("FlexWind")->setEnabled(true);
+		getChildView("FlexForceX")->setEnabled(true);
+		getChildView("FlexForceY")->setEnabled(true);
+		getChildView("FlexForceZ")->setEnabled(true);
 
 		LLFlexibleObjectData *attributes = (LLFlexibleObjectData *)objectp->getParameterEntry(LLNetworkData::PARAMS_FLEXIBLE);
 		
-		childSetValue("FlexNumSections",(F32)attributes->getSimulateLOD());
-		childSetValue("FlexGravity",attributes->getGravity());
-		childSetValue("FlexTension",attributes->getTension());
-		childSetValue("FlexFriction",attributes->getAirFriction());
-		childSetValue("FlexWind",attributes->getWindSensitivity());
-		childSetValue("FlexForceX",attributes->getUserForce().mV[VX]);
-		childSetValue("FlexForceY",attributes->getUserForce().mV[VY]);
-		childSetValue("FlexForceZ",attributes->getUserForce().mV[VZ]);
+		getChild<LLUICtrl>("FlexNumSections")->setValue((F32)attributes->getSimulateLOD());
+		getChild<LLUICtrl>("FlexGravity")->setValue(attributes->getGravity());
+		getChild<LLUICtrl>("FlexTension")->setValue(attributes->getTension());
+		getChild<LLUICtrl>("FlexFriction")->setValue(attributes->getAirFriction());
+		getChild<LLUICtrl>("FlexWind")->setValue(attributes->getWindSensitivity());
+		getChild<LLUICtrl>("FlexForceX")->setValue(attributes->getUserForce().mV[VX]);
+		getChild<LLUICtrl>("FlexForceY")->setValue(attributes->getUserForce().mV[VY]);
+		getChild<LLUICtrl>("FlexForceZ")->setValue(attributes->getUserForce().mV[VZ]);
 	}
 	else
 	{
@@ -347,14 +347,14 @@ void LLPanelVolume::getState( )
 		getChild<LLSpinCtrl>("FlexForceY", true)->clear();
 		getChild<LLSpinCtrl>("FlexForceZ", true)->clear();
 
-		childSetEnabled("FlexNumSections",false);
-		childSetEnabled("FlexGravity",false);
-		childSetEnabled("FlexTension",false);
-		childSetEnabled("FlexFriction",false);
-		childSetEnabled("FlexWind",false);
-		childSetEnabled("FlexForceX",false);
-		childSetEnabled("FlexForceY",false);
-		childSetEnabled("FlexForceZ",false);
+		getChildView("FlexNumSections")->setEnabled(false);
+		getChildView("FlexGravity")->setEnabled(false);
+		getChildView("FlexTension")->setEnabled(false);
+		getChildView("FlexFriction")->setEnabled(false);
+		getChildView("FlexWind")->setEnabled(false);
+		getChildView("FlexForceX")->setEnabled(false);
+		getChildView("FlexForceY")->setEnabled(false);
+		getChildView("FlexForceZ")->setEnabled(false);
 	}
 	
 	mObject = objectp;
@@ -384,11 +384,11 @@ void LLPanelVolume::refresh()
 
 	BOOL visible = LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_DEFERRED) > 0 ? TRUE : FALSE;
 
-	childSetVisible("label texture", visible);
-	childSetVisible("Light FOV", visible);
-	childSetVisible("Light Focus", visible);
-	childSetVisible("Light Ambiance", visible);
-	childSetVisible("light texture control", visible);
+	getChildView("label texture")->setVisible( visible);
+	getChildView("Light FOV")->setVisible( visible);
+	getChildView("Light Focus")->setVisible( visible);
+	getChildView("Light Ambiance")->setVisible( visible);
+	getChildView("light texture control")->setVisible( visible);
 
 }
 
@@ -403,13 +403,13 @@ void LLPanelVolume::clearCtrls()
 {
 	LLPanel::clearCtrls();
 
-	childSetEnabled("select_single",false);
-	childSetVisible("select_single",true);
-	childSetEnabled("edit_object",false);
-	childSetVisible("edit_object",false);
-	childSetEnabled("Light Checkbox Ctrl",false);
-	childSetEnabled("label color",false);
-	childSetEnabled("label color",false);
+	getChildView("select_single")->setEnabled(false);
+	getChildView("select_single")->setVisible(true);
+	getChildView("edit_object")->setEnabled(false);
+	getChildView("edit_object")->setVisible(false);
+	getChildView("Light Checkbox Ctrl")->setEnabled(false);
+	getChildView("label color")->setEnabled(false);
+	getChildView("label color")->setEnabled(false);
 	LLColorSwatchCtrl* LightColorSwatch = getChild<LLColorSwatchCtrl>("colorswatch");
 	if(LightColorSwatch)
 	{
@@ -423,19 +423,19 @@ void LLPanelVolume::clearCtrls()
 		LightTextureCtrl->setValid( FALSE );
 	}
 
-	childSetEnabled("Light Intensity",false);
-	childSetEnabled("Light Radius",false);
-	childSetEnabled("Light Falloff",false);
-
-	childSetEnabled("Flexible1D Checkbox Ctrl",false);
-	childSetEnabled("FlexNumSections",false);
-	childSetEnabled("FlexGravity",false);
-	childSetEnabled("FlexTension",false);
-	childSetEnabled("FlexFriction",false);
-	childSetEnabled("FlexWind",false);
-	childSetEnabled("FlexForceX",false);
-	childSetEnabled("FlexForceY",false);
-	childSetEnabled("FlexForceZ",false);
+	getChildView("Light Intensity")->setEnabled(false);
+	getChildView("Light Radius")->setEnabled(false);
+	getChildView("Light Falloff")->setEnabled(false);
+
+	getChildView("Flexible1D Checkbox Ctrl")->setEnabled(false);
+	getChildView("FlexNumSections")->setEnabled(false);
+	getChildView("FlexGravity")->setEnabled(false);
+	getChildView("FlexTension")->setEnabled(false);
+	getChildView("FlexFriction")->setEnabled(false);
+	getChildView("FlexWind")->setEnabled(false);
+	getChildView("FlexForceX")->setEnabled(false);
+	getChildView("FlexForceY")->setEnabled(false);
+	getChildView("FlexForceZ")->setEnabled(false);
 }
 
 //
@@ -451,7 +451,7 @@ void LLPanelVolume::sendIsLight()
 	}	
 	LLVOVolume *volobjp = (LLVOVolume *)objectp;
 	
-	BOOL value = childGetValue("Light Checkbox Ctrl");
+	BOOL value = getChild<LLUICtrl>("Light Checkbox Ctrl")->getValue();
 	volobjp->setIsLight(value);
 	llinfos << "update light sent" << llendl;
 }
@@ -465,7 +465,7 @@ void LLPanelVolume::sendIsFlexible()
 	}	
 	LLVOVolume *volobjp = (LLVOVolume *)objectp;
 	
-	BOOL is_flexible = childGetValue("Flexible1D Checkbox Ctrl");
+	BOOL is_flexible = getChild<LLUICtrl>("Flexible1D Checkbox Ctrl")->getValue();
 	//BOOL is_flexible = mCheckFlexible1D->get();
 
 	if (is_flexible)
@@ -557,9 +557,9 @@ void LLPanelVolume::onCommitLight( LLUICtrl* ctrl, void* userdata )
 	LLVOVolume *volobjp = (LLVOVolume *)objectp;
 	
 	
-	volobjp->setLightIntensity((F32)self->childGetValue("Light Intensity").asReal());
-	volobjp->setLightRadius((F32)self->childGetValue("Light Radius").asReal());
-	volobjp->setLightFalloff((F32)self->childGetValue("Light Falloff").asReal());
+	volobjp->setLightIntensity((F32)self->getChild<LLUICtrl>("Light Intensity")->getValue().asReal());
+	volobjp->setLightRadius((F32)self->getChild<LLUICtrl>("Light Radius")->getValue().asReal());
+	volobjp->setLightFalloff((F32)self->getChild<LLUICtrl>("Light Falloff")->getValue().asReal());
 
 	LLColorSwatchCtrl*	LightColorSwatch = self->getChild<LLColorSwatchCtrl>("colorswatch");
 	if(LightColorSwatch)
@@ -578,25 +578,25 @@ void LLPanelVolume::onCommitLight( LLUICtrl* ctrl, void* userdata )
 			{ //this commit is making this a spot light, set UI to default params
 				volobjp->setLightTextureID(id);
 				LLVector3 spot_params = volobjp->getSpotLightParams();
-				self->childSetValue("Light FOV", spot_params.mV[0]);
-				self->childSetValue("Light Focus", spot_params.mV[1]);
-				self->childSetValue("Light Ambiance", spot_params.mV[2]);
+				self->getChild<LLUICtrl>("Light FOV")->setValue(spot_params.mV[0]);
+				self->getChild<LLUICtrl>("Light Focus")->setValue(spot_params.mV[1]);
+				self->getChild<LLUICtrl>("Light Ambiance")->setValue(spot_params.mV[2]);
 			}
 			else
 			{ //modifying existing params
 				LLVector3 spot_params;
-				spot_params.mV[0] = (F32) self->childGetValue("Light FOV").asReal();
-				spot_params.mV[1] = (F32) self->childGetValue("Light Focus").asReal();
-				spot_params.mV[2] = (F32) self->childGetValue("Light Ambiance").asReal();
+				spot_params.mV[0] = (F32) self->getChild<LLUICtrl>("Light FOV")->getValue().asReal();
+				spot_params.mV[1] = (F32) self->getChild<LLUICtrl>("Light Focus")->getValue().asReal();
+				spot_params.mV[2] = (F32) self->getChild<LLUICtrl>("Light Ambiance")->getValue().asReal();
 				volobjp->setSpotLightParams(spot_params);
 			}
 		}
 		else if (volobjp->isLightSpotlight())
 		{ //no longer a spot light
 			volobjp->setLightTextureID(id);
-			//self->childDisable("Light FOV");
-			//self->childDisable("Light Focus");
-			//self->childDisable("Light Ambiance");
+			//self->getChildView("Light FOV")->setEnabled(FALSE);
+			//self->getChildView("Light Focus")->setEnabled(FALSE);
+			//self->getChildView("Light Ambiance")->setEnabled(FALSE);
 		}
 	}
 
@@ -629,14 +629,14 @@ void LLPanelVolume::onCommitFlexible( LLUICtrl* ctrl, void* userdata )
 		new_attributes = *attributes;
 
 
-		new_attributes.setSimulateLOD(self->childGetValue("FlexNumSections").asInteger());//(S32)self->mSpinSections->get());
-		new_attributes.setGravity((F32)self->childGetValue("FlexGravity").asReal());
-		new_attributes.setTension((F32)self->childGetValue("FlexTension").asReal());
-		new_attributes.setAirFriction((F32)self->childGetValue("FlexFriction").asReal());
-		new_attributes.setWindSensitivity((F32)self->childGetValue("FlexWind").asReal());
-		F32 fx = (F32)self->childGetValue("FlexForceX").asReal();
-		F32 fy = (F32)self->childGetValue("FlexForceY").asReal();
-		F32 fz = (F32)self->childGetValue("FlexForceZ").asReal();
+		new_attributes.setSimulateLOD(self->getChild<LLUICtrl>("FlexNumSections")->getValue().asInteger());//(S32)self->mSpinSections->get());
+		new_attributes.setGravity((F32)self->getChild<LLUICtrl>("FlexGravity")->getValue().asReal());
+		new_attributes.setTension((F32)self->getChild<LLUICtrl>("FlexTension")->getValue().asReal());
+		new_attributes.setAirFriction((F32)self->getChild<LLUICtrl>("FlexFriction")->getValue().asReal());
+		new_attributes.setWindSensitivity((F32)self->getChild<LLUICtrl>("FlexWind")->getValue().asReal());
+		F32 fx = (F32)self->getChild<LLUICtrl>("FlexForceX")->getValue().asReal();
+		F32 fy = (F32)self->getChild<LLUICtrl>("FlexForceY")->getValue().asReal();
+		F32 fz = (F32)self->getChild<LLUICtrl>("FlexForceZ")->getValue().asReal();
 		LLVector3 force(fx,fy,fz);
 
 		new_attributes.setUserForce(force);
diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp
index f2e69699984b78147e9e622e285277462b163c3b..4e8e4e3a40198a4625c39a68c8e9218c4bc7bc8d 100644
--- a/indra/newview/llparticipantlist.cpp
+++ b/indra/newview/llparticipantlist.cpp
@@ -695,11 +695,11 @@ void LLParticipantList::LLParticipantListMenu::show(LLView* spawning_view, const
 
 	if (is_muted)
 	{
-		LLMenuGL::sMenuContainer->childSetVisible("ModerateVoiceMuteSelected", false);
+		LLMenuGL::sMenuContainer->getChildView("ModerateVoiceMuteSelected")->setVisible( false);
 	}
 	else
 	{
-		LLMenuGL::sMenuContainer->childSetVisible("ModerateVoiceUnMuteSelected", false);
+		LLMenuGL::sMenuContainer->getChildView("ModerateVoiceUnMuteSelected")->setVisible( false);
 	}
 }
 
diff --git a/indra/newview/llpreview.cpp b/indra/newview/llpreview.cpp
index dd31a62642272bf49b7b5ffbe64484d51545ddea..4becde7ab5cd4e52507a190982bb9224bb8a1d00 100644
--- a/indra/newview/llpreview.cpp
+++ b/indra/newview/llpreview.cpp
@@ -149,12 +149,12 @@ void LLPreview::onCommit()
 		}
 		
 		LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item);
-		new_item->setDescription(childGetText("desc"));
+		new_item->setDescription(getChild<LLUICtrl>("desc")->getValue().asString());
 
-		std::string new_name = childGetText("name");
+		std::string new_name = getChild<LLUICtrl>("name")->getValue().asString();
 		if ( (new_item->getName() != new_name) && !new_name.empty())
 		{
-			new_item->rename(childGetText("name"));
+			new_item->rename(getChild<LLUICtrl>("name")->getValue().asString());
 		}
 
 		if(mObjectUUID.notNull())
@@ -186,7 +186,7 @@ void LLPreview::onCommit()
 					{
 						LLSelectMgr::getInstance()->deselectAll();
 						LLSelectMgr::getInstance()->addAsIndividual( obj, SELECT_ALL_TES, FALSE );
-						LLSelectMgr::getInstance()->selectionSetObjectDescription( childGetText("desc") );
+						LLSelectMgr::getInstance()->selectionSetObjectDescription( getChild<LLUICtrl>("desc")->getValue().asString() );
 
 						LLSelectMgr::getInstance()->deselectAll();
 					}
@@ -232,10 +232,10 @@ void LLPreview::refreshFromItem()
 		LLUIString title = getString("Title", args);
 		setTitle(title.getString());
 	}
-	childSetText("desc",item->getDescription());
+	getChild<LLUICtrl>("desc")->setValue(item->getDescription());
 
 	BOOL can_agent_manipulate = item->getPermissions().allowModifyBy(gAgent.getID());
-	childSetEnabled("desc",can_agent_manipulate);
+	getChildView("desc")->setEnabled(can_agent_manipulate);
 }
 
 // static 
diff --git a/indra/newview/llpreviewanim.cpp b/indra/newview/llpreviewanim.cpp
index 262961b73b2f2ccb462c7a741398f3a52fcdae25..a59ed53889af2b8877730002548e7a5eacf6c5fb 100644
--- a/indra/newview/llpreviewanim.cpp
+++ b/indra/newview/llpreviewanim.cpp
@@ -60,8 +60,8 @@ void LLPreviewAnim::endAnimCallback( void *userdata )
 	delete handlep; // done with the handle
 	if (self)
 	{
-		self->childSetValue("Anim play btn", FALSE);
-		self->childSetValue("Anim audition btn", FALSE);
+		self->getChild<LLUICtrl>("Anim play btn")->setValue(FALSE);
+		self->getChild<LLUICtrl>("Anim audition btn")->setValue(FALSE);
 	}
 }
 
@@ -72,14 +72,14 @@ BOOL LLPreviewAnim::postBuild()
 	if(item)
 	{
 		gAgentAvatarp->createMotion(item->getAssetUUID()); // preload the animation
-		childSetText("desc", item->getDescription());
+		getChild<LLUICtrl>("desc")->setValue(item->getDescription());
 	}
 
 	childSetAction("Anim play btn",playAnim, this);
 	childSetAction("Anim audition btn",auditionAnim, this);
 
 	childSetCommitCallback("desc", LLPreview::onText, this);
-	childSetPrevalidate("desc", &LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("desc")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);
 	
 	return LLPreview::postBuild();
 }
@@ -121,7 +121,7 @@ void LLPreviewAnim::playAnim( void *userdata )
 			btn->toggleState();
 		}
 		
-		if (self->childGetValue("Anim play btn").asBoolean() ) 
+		if (self->getChild<LLUICtrl>("Anim play btn")->getValue().asBoolean() ) 
 		{
 			self->mPauseRequest = NULL;
 			gAgent.sendAnimationRequest(itemID, ANIM_REQUEST_START);
@@ -155,7 +155,7 @@ void LLPreviewAnim::auditionAnim( void *userdata )
 			btn->toggleState();
 		}
 		
-		if (self->childGetValue("Anim audition btn").asBoolean() ) 
+		if (self->getChild<LLUICtrl>("Anim audition btn")->getValue().asBoolean() ) 
 		{
 			self->mPauseRequest = NULL;
 			gAgentAvatarp->startMotion(item->getAssetUUID());
diff --git a/indra/newview/llpreviewgesture.cpp b/indra/newview/llpreviewgesture.cpp
index 6f9d8a76234056dbe46731e4fdc8467d6862999a..6ef7c85e31b2ffb2803b677234c8c6251b67a5e8 100644
--- a/indra/newview/llpreviewgesture.cpp
+++ b/indra/newview/llpreviewgesture.cpp
@@ -482,11 +482,11 @@ BOOL LLPreviewGesture::postBuild()
 
 	if (item) 
 	{
-		childSetText("desc", item->getDescription());
-		childSetPrevalidate("desc", &LLTextValidate::validateASCIIPrintableNoPipe);
+		getChild<LLUICtrl>("desc")->setValue(item->getDescription());
+		getChild<LLLineEditor>("desc")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);
 		
-		childSetText("name", item->getName());
-		childSetPrevalidate("name", &LLTextValidate::validateASCIIPrintableNoPipe);
+		getChild<LLUICtrl>("name")->setValue(item->getName());
+		getChild<LLLineEditor>("name")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);
 	}
 
 	return LLPreview::postBuild();
@@ -628,7 +628,7 @@ void LLPreviewGesture::refresh()
 	if (mPreviewGesture || !is_complete)
 	{
 		
-		childSetEnabled("desc", FALSE);
+		getChildView("desc")->setEnabled(FALSE);
 		//mDescEditor->setEnabled(FALSE);
 		mTriggerEditor->setEnabled(FALSE);
 		mReplaceText->setEnabled(FALSE);
@@ -659,7 +659,7 @@ void LLPreviewGesture::refresh()
 
 	BOOL modifiable = item->getPermissions().allowModifyBy(gAgent.getID());
 
-	childSetEnabled("desc", modifiable);
+	getChildView("desc")->setEnabled(modifiable);
 	mTriggerEditor->setEnabled(TRUE);
 	mLibraryList->setEnabled(modifiable);
 	mStepList->setEnabled(modifiable);
diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp
index fb7ac0d86b4208ee5cd07cce41c8088523483925..ee86d3a2c6e11fb90f511d179667a04e4ea3a9da 100644
--- a/indra/newview/llpreviewnotecard.cpp
+++ b/indra/newview/llpreviewnotecard.cpp
@@ -91,20 +91,20 @@ BOOL LLPreviewNotecard::postBuild()
 	ed->makePristine();
 
 	childSetAction("Save", onClickSave, this);
-	childSetVisible("lock", FALSE);	
+	getChildView("lock")->setVisible( FALSE);	
 
 	childSetAction("Delete", onClickDelete, this);
-	childSetEnabled("Delete", false);
+	getChildView("Delete")->setEnabled(false);
 
 	const LLInventoryItem* item = getItem();
 
 	childSetCommitCallback("desc", LLPreview::onText, this);
 	if (item)
 	{
-		childSetText("desc", item->getDescription());
-		childSetEnabled("Delete", true);
+		getChild<LLUICtrl>("desc")->setValue(item->getDescription());
+		getChildView("Delete")->setEnabled(true);
 	}
-	childSetPrevalidate("desc", &LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("desc")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);
 
 	return LLPreview::postBuild();
 }
@@ -120,10 +120,10 @@ void LLPreviewNotecard::setEnabled( BOOL enabled )
 
 	LLViewerTextEditor* editor = getChild<LLViewerTextEditor>("Notecard Editor");
 
-	childSetEnabled("Notecard Editor", enabled);
-	childSetVisible("lock", !enabled);
-	childSetEnabled("desc", enabled);
-	childSetEnabled("Save", enabled && editor && (!editor->isPristine()));
+	getChildView("Notecard Editor")->setEnabled(enabled);
+	getChildView("lock")->setVisible( !enabled);
+	getChildView("desc")->setEnabled(enabled);
+	getChildView("Save")->setEnabled(enabled && editor && (!editor->isPristine()));
 }
 
 
@@ -132,7 +132,7 @@ void LLPreviewNotecard::draw()
 	LLViewerTextEditor* editor = getChild<LLViewerTextEditor>("Notecard Editor");
 	BOOL changed = !editor->isPristine();
 
-	childSetEnabled("Save", changed && getEnabled());
+	getChildView("Save")->setEnabled(changed && getEnabled());
 	
 	LLPreview::draw();
 }
@@ -283,7 +283,7 @@ void LLPreviewNotecard::loadAsset()
 								GP_OBJECT_MANIPULATE))
 		{
 			editor->setEnabled(FALSE);
-			childSetVisible("lock", TRUE);
+			getChildView("lock")->setVisible( TRUE);
 		}
 	}
 	else
diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp
index 7b926f468dd7d466f7740a3bcf4f302472f0ef29..73845e2772fe0d1bd49630e6dc5626c6c027c1b9 100644
--- a/indra/newview/llpreviewscript.cpp
+++ b/indra/newview/llpreviewscript.cpp
@@ -219,7 +219,7 @@ void LLFloaterScriptSearch::onBtnSearch(void *userdata)
 void LLFloaterScriptSearch::handleBtnSearch()
 {
 	LLCheckBoxCtrl* caseChk = getChild<LLCheckBoxCtrl>("case_text");
-	mEditorCore->mEditor->selectNext(childGetText("search_text"), caseChk->get());
+	mEditorCore->mEditor->selectNext(getChild<LLUICtrl>("search_text")->getValue().asString(), caseChk->get());
 }
 
 // static 
@@ -232,7 +232,7 @@ void LLFloaterScriptSearch::onBtnReplace(void *userdata)
 void LLFloaterScriptSearch::handleBtnReplace()
 {
 	LLCheckBoxCtrl* caseChk = getChild<LLCheckBoxCtrl>("case_text");
-	mEditorCore->mEditor->replaceText(childGetText("search_text"), childGetText("replace_text"), caseChk->get());
+	mEditorCore->mEditor->replaceText(getChild<LLUICtrl>("search_text")->getValue().asString(), getChild<LLUICtrl>("replace_text")->getValue().asString(), caseChk->get());
 }
 
 // static 
@@ -245,7 +245,7 @@ void LLFloaterScriptSearch::onBtnReplaceAll(void *userdata)
 void LLFloaterScriptSearch::handleBtnReplaceAll()
 {
 	LLCheckBoxCtrl* caseChk = getChild<LLCheckBoxCtrl>("case_text");
-	mEditorCore->mEditor->replaceTextAll(childGetText("search_text"), childGetText("replace_text"), caseChk->get());
+	mEditorCore->mEditor->replaceTextAll(getChild<LLUICtrl>("search_text")->getValue().asString(), getChild<LLUICtrl>("replace_text")->getValue().asString(), caseChk->get());
 }
 
 
@@ -457,7 +457,7 @@ bool LLScriptEdCore::hasChanged()
 void LLScriptEdCore::draw()
 {
 	BOOL script_changed	= hasChanged();
-	childSetEnabled("Save_btn",	script_changed);
+	getChildView("Save_btn")->setEnabled(script_changed);
 
 	if( mEditor->hasFocus() )
 	{
@@ -469,11 +469,11 @@ void LLScriptEdCore::draw()
 		args["[LINE]"] = llformat ("%d", line);
 		args["[COLUMN]"] = llformat ("%d", column);
 		cursor_pos = LLTrans::getString("CursorPos", args);
-		childSetText("line_col", cursor_pos);
+		getChild<LLUICtrl>("line_col")->setValue(cursor_pos);
 	}
 	else
 	{
-		childSetText("line_col", LLStringUtil::null);
+		getChild<LLUICtrl>("line_col")->setValue(LLStringUtil::null);
 	}
 
 	updateDynamicHelp();
@@ -666,7 +666,7 @@ void LLScriptEdCore::onBtnDynamicHelp()
 		if (parent)
 			parent->addDependentFloater(live_help_floater, TRUE);
 		live_help_floater->childSetCommitCallback("lock_check", onCheckLock, this);
-		live_help_floater->childSetValue("lock_check", gSavedSettings.getBOOL("ScriptHelpFollowsCursor"));
+		live_help_floater->getChild<LLUICtrl>("lock_check")->setValue(gSavedSettings.getBOOL("ScriptHelpFollowsCursor"));
 		live_help_floater->childSetCommitCallback("history_combo", onHelpComboCommit, this);
 		live_help_floater->childSetAction("back_btn", onClickBack, this);
 		live_help_floater->childSetAction("fwd_btn", onClickForward, this);
@@ -959,10 +959,10 @@ BOOL LLPreviewLSL::postBuild()
 	llassert(item);
 	if (item)
 	{
-		childSetText("desc", item->getDescription());
+		getChild<LLUICtrl>("desc")->setValue(item->getDescription());
 	}
 	childSetCommitCallback("desc", LLPreview::onText, this);
-	childSetPrevalidate("desc", &LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("desc")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);
 
 	return LLPreview::postBuild();
 }
@@ -1040,8 +1040,8 @@ void LLPreviewLSL::loadAsset()
 			mScriptEd->mFunctions->setEnabled(FALSE);
 			mAssetStatus = PREVIEW_ASSET_LOADED;
 		}
-		childSetVisible("lock", !is_modifiable);
-		mScriptEd->childSetEnabled("Insert...", is_modifiable);
+		getChildView("lock")->setVisible( !is_modifiable);
+		mScriptEd->getChildView("Insert...")->setEnabled(is_modifiable);
 	}
 	else
 	{
@@ -1429,14 +1429,14 @@ LLLiveLSLEditor::LLLiveLSLEditor(const LLSD& key) :
 BOOL LLLiveLSLEditor::postBuild()
 {
 	childSetCommitCallback("running", LLLiveLSLEditor::onRunningCheckboxClicked, this);
-	childSetEnabled("running", FALSE);
+	getChildView("running")->setEnabled(FALSE);
 
 	childSetAction("Reset",&LLLiveLSLEditor::onReset,this);
-	childSetEnabled("Reset", TRUE);
+	getChildView("Reset")->setEnabled(TRUE);
 
 	mMonoCheckbox =	getChild<LLCheckBoxCtrl>("mono");
 	childSetCommitCallback("mono", &LLLiveLSLEditor::onMonoCheckboxClicked, this);
-	childSetEnabled("mono", FALSE);
+	getChildView("mono")->setEnabled(FALSE);
 
 	mScriptEd->mEditor->makePristine();
 	mScriptEd->mEditor->setFocus(TRUE);
diff --git a/indra/newview/llpreviewsound.cpp b/indra/newview/llpreviewsound.cpp
index 44b828854bdc99c89381f70793a429cb0cd536ae..d9bcf5fba66dc26b0c943c9455e6448f7ae31708 100644
--- a/indra/newview/llpreviewsound.cpp
+++ b/indra/newview/llpreviewsound.cpp
@@ -60,7 +60,7 @@ BOOL	LLPreviewSound::postBuild()
 	const LLInventoryItem* item = getItem();
 	if (item)
 	{
-		childSetText("desc", item->getDescription());
+		getChild<LLUICtrl>("desc")->setValue(item->getDescription());
 		if (gAudiop)
 			gAudiop->preloadSound(item->getAssetUUID()); // preload the sound
 	}
@@ -75,7 +75,7 @@ BOOL	LLPreviewSound::postBuild()
 	button->setSoundFlags(LLView::SILENT);
 
 	childSetCommitCallback("desc", LLPreview::onText, this);
-	childSetPrevalidate("desc", &LLTextValidate::validateASCIIPrintableNoPipe);	
+	getChild<LLLineEditor>("desc")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);	
 
 	return LLPreview::postBuild();
 }
diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp
index 7fdc5c8b5f6a05200d6b3be0ebe18cafb27c575b..c1cb386556fdc5bbab63527bb52ca8ad0065a20b 100644
--- a/indra/newview/llpreviewtexture.cpp
+++ b/indra/newview/llpreviewtexture.cpp
@@ -105,7 +105,7 @@ BOOL LLPreviewTexture::postBuild()
 	{
 		getChild<LLButton>("Keep")->setLabel(getString("Copy"));
 		childSetAction("Keep",LLPreview::onBtnCopyToInv,this);
-		childSetVisible("Discard", false);
+		getChildView("Discard")->setVisible( false);
 	}
 	else if (mShowKeepDiscard)
 	{
@@ -114,13 +114,13 @@ BOOL LLPreviewTexture::postBuild()
 	}
 	else
 	{
-		childSetVisible("Keep", false);
-		childSetVisible("Discard", false);
+		getChildView("Keep")->setVisible( false);
+		getChildView("Discard")->setVisible( false);
 	}
 	
 	childSetAction("save_tex_btn", LLPreviewTexture::onSaveAsBtn, this);
-	childSetVisible("save_tex_btn", true);
-	childSetEnabled("save_tex_btn", canSaveAs());
+	getChildView("save_tex_btn")->setVisible( true);
+	getChildView("save_tex_btn")->setEnabled(canSaveAs());
 	
 	if (!mCopyToInv) 
 	{
@@ -129,8 +129,8 @@ BOOL LLPreviewTexture::postBuild()
 		if (item)
 		{
 			childSetCommitCallback("desc", LLPreview::onText, this);
-			childSetText("desc", item->getDescription());
-			childSetPrevalidate("desc", &LLTextValidate::validateASCIIPrintableNoPipe);
+			getChild<LLUICtrl>("desc")->setValue(item->getDescription());
+			getChild<LLLineEditor>("desc")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);
 		}
 	}
 	
@@ -289,8 +289,7 @@ void LLPreviewTexture::reshape(S32 width, S32 height, BOOL called_from_parent)
 {
 	LLPreview::reshape(width, height, called_from_parent);
 
-	LLRect dim_rect;
-	childGetRect("dimensions", dim_rect);
+	LLRect dim_rect(getChildView("dimensions")->getRect());
 
 	S32 horiz_pad = 2 * (LLPANEL_BORDER_WIDTH + PREVIEW_PAD) + PREVIEW_RESIZE_HANDLE_SIZE;
 
@@ -412,12 +411,11 @@ void LLPreviewTexture::updateDimensions()
 	
 	mUpdateDimensions = FALSE;
 
-	childSetTextArg("dimensions", "[WIDTH]", llformat("%d", mImage->getFullWidth()));
-	childSetTextArg("dimensions", "[HEIGHT]", llformat("%d", mImage->getFullHeight()));
+	getChild<LLUICtrl>("dimensions")->setTextArg("[WIDTH]", llformat("%d", mImage->getFullWidth()));
+	getChild<LLUICtrl>("dimensions")->setTextArg("[HEIGHT]", llformat("%d", mImage->getFullHeight()));
 
 	
-	LLRect dim_rect;
-	childGetRect("dimensions", dim_rect);
+	LLRect dim_rect(getChildView("dimensions")->getRect());
 
 	S32 horiz_pad = 2 * (LLPANEL_BORDER_WIDTH + PREVIEW_PAD) + PREVIEW_RESIZE_HANDLE_SIZE;
 
@@ -491,9 +489,8 @@ void LLPreviewTexture::updateDimensions()
 
 	// Hide the aspect ratio label if the window is too narrow
 	// Assumes the label should be to the right of the dimensions
-	LLRect aspect_label_rect;
-	childGetRect("aspect_ratio", aspect_label_rect);
-	childSetVisible("aspect_ratio", dim_rect.mRight < aspect_label_rect.mLeft);
+	LLRect aspect_label_rect(getChildView("aspect_ratio")->getRect());
+	getChildView("aspect_ratio")->setVisible( dim_rect.mRight < aspect_label_rect.mLeft);
 }
 
 
@@ -550,7 +547,7 @@ void LLPreviewTexture::loadAsset()
 	mAssetStatus = PREVIEW_ASSET_LOADING;
 	mUpdateDimensions = TRUE;
 	updateDimensions();
-	childSetEnabled("save_tex_btn", canSaveAs());
+	getChildView("save_tex_btn")->setEnabled(canSaveAs());
 }
 
 LLPreview::EAssetStatus LLPreviewTexture::getAssetStatus()
diff --git a/indra/newview/llsaveoutfitcombobtn.cpp b/indra/newview/llsaveoutfitcombobtn.cpp
index 9518b0cbb32bd1134b599702cb656a5ca5cf325f..e2f5aee56d55c32d2ddcc9e6e3b88b8860ad3e0e 100644
--- a/indra/newview/llsaveoutfitcombobtn.cpp
+++ b/indra/newview/llsaveoutfitcombobtn.cpp
@@ -94,5 +94,5 @@ void LLSaveOutfitComboBtn::setMenuItemEnabled(const std::string& item, bool enab
 
 void LLSaveOutfitComboBtn::setSaveBtnEnabled(bool enabled)
 {
-	mParent->childSetEnabled(SAVE_BTN, enabled);
+	mParent->getChildView(SAVE_BTN)->setEnabled(enabled);
 }
diff --git a/indra/newview/llscrollingpanelparam.cpp b/indra/newview/llscrollingpanelparam.cpp
index 36d581a41a928d9a5acfc32daec9664508e19f99..d715c47631c2cec00b946f39e6ee1fa21a51c4bc 100644
--- a/indra/newview/llscrollingpanelparam.cpp
+++ b/indra/newview/llscrollingpanelparam.cpp
@@ -79,17 +79,17 @@ LLScrollingPanelParam::LLScrollingPanelParam( const LLPanel::Params& panel_param
 	
 	mHintMin->setAllowsUpdates( FALSE );
 	mHintMax->setAllowsUpdates( FALSE );
-	childSetValue("param slider", weightToPercent(param->getWeight()));
+	getChild<LLUICtrl>("param slider")->setValue(weightToPercent(param->getWeight()));
 
 	std::string display_name = LLTrans::getString(param->getDisplayName());
-	childSetLabelArg("param slider", "[DESC]", display_name);
-	childSetEnabled("param slider", mAllowModify);
+	getChild<LLUICtrl>("param slider")->setLabelArg("[DESC]", display_name);
+	getChildView("param slider")->setEnabled(mAllowModify);
 	childSetCommitCallback("param slider", LLScrollingPanelParam::onSliderMoved, this);
 
 	std::string min_name = LLTrans::getString(param->getMinDisplayName());
 	std::string max_name = LLTrans::getString(param->getMaxDisplayName());
-	childSetValue("min param text", min_name);
-	childSetValue("max param text", max_name);
+	getChild<LLUICtrl>("min param text")->setValue(min_name);
+	getChild<LLUICtrl>("max param text")->setValue(max_name);
 
 	LLButton* less = getChild<LLButton>("less");
 	if (less)
@@ -126,14 +126,14 @@ void LLScrollingPanelParam::updatePanel(BOOL allow_modify)
 		return;
 	}
 	F32 current_weight = mWearable->getVisualParamWeight( param->getID() );
-	childSetValue("param slider", weightToPercent( current_weight ) );
+	getChild<LLUICtrl>("param slider")->setValue(weightToPercent( current_weight ) );
 	mHintMin->requestUpdate( sUpdateDelayFrames++ );
 	mHintMax->requestUpdate( sUpdateDelayFrames++ );
 
 	mAllowModify = allow_modify;
-	childSetEnabled("param slider", mAllowModify);
-	childSetEnabled("less", mAllowModify);
-	childSetEnabled("more", mAllowModify);
+	getChildView("param slider")->setEnabled(mAllowModify);
+	getChildView("less")->setEnabled(mAllowModify);
+	getChildView("more")->setEnabled(mAllowModify);
 }
 
 void LLScrollingPanelParam::setVisible( BOOL visible )
@@ -159,16 +159,16 @@ void LLScrollingPanelParam::draw()
 		return;
 	}
 	
-	childSetVisible("less", mHintMin->getVisible());
-	childSetVisible("more", mHintMax->getVisible());
+	getChildView("less")->setVisible( mHintMin->getVisible());
+	getChildView("more")->setVisible( mHintMax->getVisible());
 
 	// hide borders if texture has been loaded
-	childSetVisible("left_border", !mHintMin->getVisible());
-	childSetVisible("right_border", !mHintMax->getVisible());
+	getChildView("left_border")->setVisible( !mHintMin->getVisible());
+	getChildView("right_border")->setVisible( !mHintMax->getVisible());
 
 	// Draw all the children except for the labels
-	childSetVisible( "min param text", FALSE );
-	childSetVisible( "max param text", FALSE );
+	getChildView("min param text")->setVisible( FALSE );
+	getChildView("max param text")->setVisible( FALSE );
 	LLPanel::draw();
 
 	// Draw the hints over the "less" and "more" buttons.
@@ -190,10 +190,10 @@ void LLScrollingPanelParam::draw()
 
 
 	// Draw labels on top of the buttons
-	childSetVisible( "min param text", TRUE );
+	getChildView("min param text")->setVisible( TRUE );
 	drawChild(getChild<LLView>("min param text"));
 
-	childSetVisible( "max param text", TRUE );
+	getChildView("max param text")->setVisible( TRUE );
 	drawChild(getChild<LLView>("max param text"));
 }
 
diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp
index 7a7ffb998382c95c8ab082576ad70d6c0f9062e6..6b5672414e8cbcd388c0ead6077ddd66832a22fe 100644
--- a/indra/newview/llsidepanelappearance.cpp
+++ b/indra/newview/llsidepanelappearance.cpp
@@ -484,8 +484,8 @@ void LLSidepanelAppearance::inventoryFetched()
 
 void LLSidepanelAppearance::setWearablesLoading(bool val)
 {
-	childSetVisible("wearables_loading_indicator", val);
-	childSetVisible("edit_outfit_btn", !val);
+	getChildView("wearables_loading_indicator")->setVisible( val);
+	getChildView("edit_outfit_btn")->setVisible( !val);
 
 	if (!val)
 	{
diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp
index d9870e81c5ee92139c6bb0193be06cd0be89045e..56bb7167b6f9465c0270d2149134306d29b0848c 100644
--- a/indra/newview/llsidepaneliteminfo.cpp
+++ b/indra/newview/llsidepaneliteminfo.cpp
@@ -110,9 +110,9 @@ BOOL LLSidepanelItemInfo::postBuild()
 {
 	LLSidepanelInventorySubpanel::postBuild();
 
-	childSetPrevalidate("LabelItemName",&LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("LabelItemName")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);
 	getChild<LLUICtrl>("LabelItemName")->setCommitCallback(boost::bind(&LLSidepanelItemInfo::onCommitName,this));
-	childSetPrevalidate("LabelItemDesc",&LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("LabelItemDesc")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);
 	getChild<LLUICtrl>("LabelItemDesc")->setCommitCallback(boost::bind(&LLSidepanelItemInfo:: onCommitDescription, this));
 	// Creator information
 	getChild<LLUICtrl>("BtnCreator")->setCommitCallback(boost::bind(&LLSidepanelItemInfo::onClickCreator,this));
@@ -193,7 +193,7 @@ void LLSidepanelItemInfo::refresh()
 
 		for(size_t t=0; t<LL_ARRAY_SIZE(no_item_names); ++t)
 		{
-			childSetEnabled(no_item_names[t],false);
+			getChildView(no_item_names[t])->setEnabled(false);
 		}
 		
 		const std::string hide_names[]={
@@ -205,7 +205,7 @@ void LLSidepanelItemInfo::refresh()
 		};
 		for(size_t t=0; t<LL_ARRAY_SIZE(hide_names); ++t)
 		{
-			childSetVisible(hide_names[t],false);
+			getChildView(hide_names[t])->setVisible(false);
 		}
 	}
 
@@ -217,7 +217,7 @@ void LLSidepanelItemInfo::refresh()
 		};
 		for(size_t t=0; t<LL_ARRAY_SIZE(no_edit_mode_names); ++t)
 		{
-			childSetEnabled(no_edit_mode_names[t],false);
+			getChildView(no_edit_mode_names[t])->setEnabled(false);
 		}
 	}
 
@@ -265,13 +265,13 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 											   GP_OBJECT_MANIPULATE)
 		&& is_obj_modify && is_complete && not_in_trash;
 
-	childSetEnabled("LabelItemNameTitle",TRUE);
-	childSetEnabled("LabelItemName",is_modifiable && !is_calling_card); // for now, don't allow rename of calling cards
-	childSetText("LabelItemName",item->getName());
-	childSetEnabled("LabelItemDescTitle",TRUE);
-	childSetEnabled("LabelItemDesc",is_modifiable);
-	childSetVisible("IconLocked",!is_modifiable);
-	childSetText("LabelItemDesc",item->getDescription());
+	getChildView("LabelItemNameTitle")->setEnabled(TRUE);
+	getChildView("LabelItemName")->setEnabled(is_modifiable && !is_calling_card); // for now, don't allow rename of calling cards
+	getChild<LLUICtrl>("LabelItemName")->setValue(item->getName());
+	getChildView("LabelItemDescTitle")->setEnabled(TRUE);
+	getChildView("LabelItemDesc")->setEnabled(is_modifiable);
+	getChildView("IconLocked")->setVisible(!is_modifiable);
+	getChild<LLUICtrl>("LabelItemDesc")->setValue(item->getDescription());
 
 	//////////////////
 	// CREATOR NAME //
@@ -283,17 +283,17 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 	{
 		std::string name;
 		gCacheName->getFullName(item->getCreatorUUID(), name);
-		childSetEnabled("BtnCreator",TRUE);
-		childSetEnabled("LabelCreatorTitle",TRUE);
-		childSetEnabled("LabelCreatorName",TRUE);
-		childSetText("LabelCreatorName",name);
+		getChildView("BtnCreator")->setEnabled(TRUE);
+		getChildView("LabelCreatorTitle")->setEnabled(TRUE);
+		getChildView("LabelCreatorName")->setEnabled(TRUE);
+		getChild<LLUICtrl>("LabelCreatorName")->setValue(name);
 	}
 	else
 	{
-		childSetEnabled("BtnCreator",FALSE);
-		childSetEnabled("LabelCreatorTitle",FALSE);
-		childSetEnabled("LabelCreatorName",FALSE);
-		childSetText("LabelCreatorName",getString("unknown"));
+		getChildView("BtnCreator")->setEnabled(FALSE);
+		getChildView("LabelCreatorTitle")->setEnabled(FALSE);
+		getChildView("LabelCreatorName")->setEnabled(FALSE);
+		getChild<LLUICtrl>("LabelCreatorName")->setValue(getString("unknown"));
 	}
 
 	////////////////
@@ -310,17 +310,17 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 		{
 			gCacheName->getFullName(perm.getOwner(), name);
 		}
-		childSetEnabled("BtnOwner",TRUE);
-		childSetEnabled("LabelOwnerTitle",TRUE);
-		childSetEnabled("LabelOwnerName",TRUE);
-		childSetText("LabelOwnerName",name);
+		getChildView("BtnOwner")->setEnabled(TRUE);
+		getChildView("LabelOwnerTitle")->setEnabled(TRUE);
+		getChildView("LabelOwnerName")->setEnabled(TRUE);
+		getChild<LLUICtrl>("LabelOwnerName")->setValue(name);
 	}
 	else
 	{
-		childSetEnabled("BtnOwner",FALSE);
-		childSetEnabled("LabelOwnerTitle",FALSE);
-		childSetEnabled("LabelOwnerName",FALSE);
-		childSetText("LabelOwnerName",getString("public"));
+		getChildView("BtnOwner")->setEnabled(FALSE);
+		getChildView("LabelOwnerTitle")->setEnabled(FALSE);
+		getChildView("LabelOwnerName")->setEnabled(FALSE);
+		getChild<LLUICtrl>("LabelOwnerName")->setValue(getString("public"));
 	}
 	
 	////////////
@@ -329,11 +329,11 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 
 	if (object)
 	{
-		childSetText("origin",getString("origin_inworld"));
+		getChild<LLUICtrl>("origin")->setValue(getString("origin_inworld"));
 	}
 	else
 	{
-		childSetText("origin",getString("origin_inventory"));
+		getChild<LLUICtrl>("origin")->setValue(getString("origin_inventory"));
 	}
 
 	//////////////////
@@ -343,7 +343,7 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 	time_t time_utc = item->getCreationDate();
 	if (0 == time_utc)
 	{
-		childSetText("LabelAcquiredDate",getString("unknown"));
+		getChild<LLUICtrl>("LabelAcquiredDate")->setValue(getString("unknown"));
 	}
 	else
 	{
@@ -351,7 +351,7 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 		LLSD substitution;
 		substitution["datetime"] = (S32) time_utc;
 		LLStringUtil::format (timeStr, substitution);
-		childSetText ("LabelAcquiredDate", timeStr);
+		getChild<LLUICtrl>("LabelAcquiredDate")->setValue(timeStr);
 	}
 	
 	//////////////////////////////////////
@@ -394,12 +394,12 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 	{
 		for(size_t t=0; t<LL_ARRAY_SIZE(perm_and_sale_items); ++t)
 		{
-			childSetVisible(perm_and_sale_items[t],false);
+			getChildView(perm_and_sale_items[t])->setVisible(false);
 		}
 		
 		for(size_t t=0; t<LL_ARRAY_SIZE(debug_items); ++t)
 		{
-			childSetVisible(debug_items[t],false);
+			getChildView(debug_items[t])->setVisible(false);
 		}
 		return;
 	}
@@ -407,7 +407,7 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 	{
 		for(size_t t=0; t<LL_ARRAY_SIZE(perm_and_sale_items); ++t)
 		{
-			childSetVisible(perm_and_sale_items[t],true);
+			getChildView(perm_and_sale_items[t])->setVisible(true);
 		}
 	}
 
@@ -416,11 +416,11 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 	///////////////////////
 	if(can_agent_manipulate)
 	{
-		childSetText("OwnerLabel",getString("you_can"));
+		getChild<LLUICtrl>("OwnerLabel")->setValue(getString("you_can"));
 	}
 	else
 	{
-		childSetText("OwnerLabel",getString("owner_can"));
+		getChild<LLUICtrl>("OwnerLabel")->setValue(getString("owner_can"));
 	}
 
 	U32 base_mask		= perm.getMaskBase();
@@ -429,13 +429,13 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 	U32 everyone_mask	= perm.getMaskEveryone();
 	U32 next_owner_mask	= perm.getMaskNextOwner();
 
-	childSetEnabled("OwnerLabel",TRUE);
-	childSetEnabled("CheckOwnerModify",FALSE);
-	childSetValue("CheckOwnerModify",LLSD((BOOL)(owner_mask & PERM_MODIFY)));
-	childSetEnabled("CheckOwnerCopy",FALSE);
-	childSetValue("CheckOwnerCopy",LLSD((BOOL)(owner_mask & PERM_COPY)));
-	childSetEnabled("CheckOwnerTransfer",FALSE);
-	childSetValue("CheckOwnerTransfer",LLSD((BOOL)(owner_mask & PERM_TRANSFER)));
+	getChildView("OwnerLabel")->setEnabled(TRUE);
+	getChildView("CheckOwnerModify")->setEnabled(FALSE);
+	getChild<LLUICtrl>("CheckOwnerModify")->setValue(LLSD((BOOL)(owner_mask & PERM_MODIFY)));
+	getChildView("CheckOwnerCopy")->setEnabled(FALSE);
+	getChild<LLUICtrl>("CheckOwnerCopy")->setValue(LLSD((BOOL)(owner_mask & PERM_COPY)));
+	getChildView("CheckOwnerTransfer")->setEnabled(FALSE);
+	getChild<LLUICtrl>("CheckOwnerTransfer")->setValue(LLSD((BOOL)(owner_mask & PERM_TRANSFER)));
 
 	///////////////////////
 	// DEBUG PERMISSIONS //
@@ -459,39 +459,39 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 
 		perm_string = "B: ";
 		perm_string += mask_to_string(base_mask);
-		childSetText("BaseMaskDebug",perm_string);
-		childSetVisible("BaseMaskDebug",TRUE);
+		getChild<LLUICtrl>("BaseMaskDebug")->setValue(perm_string);
+		getChildView("BaseMaskDebug")->setVisible(TRUE);
 		
 		perm_string = "O: ";
 		perm_string += mask_to_string(owner_mask);
-		childSetText("OwnerMaskDebug",perm_string);
-		childSetVisible("OwnerMaskDebug",TRUE);
+		getChild<LLUICtrl>("OwnerMaskDebug")->setValue(perm_string);
+		getChildView("OwnerMaskDebug")->setVisible(TRUE);
 		
 		perm_string = "G";
 		perm_string += overwrite_group ? "*: " : ": ";
 		perm_string += mask_to_string(group_mask);
-		childSetText("GroupMaskDebug",perm_string);
-		childSetVisible("GroupMaskDebug",TRUE);
+		getChild<LLUICtrl>("GroupMaskDebug")->setValue(perm_string);
+		getChildView("GroupMaskDebug")->setVisible(TRUE);
 		
 		perm_string = "E";
 		perm_string += overwrite_everyone ? "*: " : ": ";
 		perm_string += mask_to_string(everyone_mask);
-		childSetText("EveryoneMaskDebug",perm_string);
-		childSetVisible("EveryoneMaskDebug",TRUE);
+		getChild<LLUICtrl>("EveryoneMaskDebug")->setValue(perm_string);
+		getChildView("EveryoneMaskDebug")->setVisible(TRUE);
 		
 		perm_string = "N";
 		perm_string += slam_perm ? "*: " : ": ";
 		perm_string += mask_to_string(next_owner_mask);
-		childSetText("NextMaskDebug",perm_string);
-		childSetVisible("NextMaskDebug",TRUE);
+		getChild<LLUICtrl>("NextMaskDebug")->setValue(perm_string);
+		getChildView("NextMaskDebug")->setVisible(TRUE);
 	}
 	else
 	{
-		childSetVisible("BaseMaskDebug",FALSE);
-		childSetVisible("OwnerMaskDebug",FALSE);
-		childSetVisible("GroupMaskDebug",FALSE);
-		childSetVisible("EveryoneMaskDebug",FALSE);
-		childSetVisible("NextMaskDebug",FALSE);
+		getChildView("BaseMaskDebug")->setVisible(FALSE);
+		getChildView("OwnerMaskDebug")->setVisible(FALSE);
+		getChildView("GroupMaskDebug")->setVisible(FALSE);
+		getChildView("EveryoneMaskDebug")->setVisible(FALSE);
+		getChildView("NextMaskDebug")->setVisible(FALSE);
 	}
 
 	/////////////
@@ -501,18 +501,18 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 	// Check for ability to change values.
 	if (is_link || cannot_restrict_permissions)
 	{
-		childSetEnabled("CheckShareWithGroup",FALSE);
-		childSetEnabled("CheckEveryoneCopy",FALSE);
+		getChildView("CheckShareWithGroup")->setEnabled(FALSE);
+		getChildView("CheckEveryoneCopy")->setEnabled(FALSE);
 	}
 	else if (is_obj_modify && can_agent_manipulate)
 	{
-		childSetEnabled("CheckShareWithGroup",TRUE);
-		childSetEnabled("CheckEveryoneCopy",(owner_mask & PERM_COPY) && (owner_mask & PERM_TRANSFER));
+		getChildView("CheckShareWithGroup")->setEnabled(TRUE);
+		getChildView("CheckEveryoneCopy")->setEnabled((owner_mask & PERM_COPY) && (owner_mask & PERM_TRANSFER));
 	}
 	else
 	{
-		childSetEnabled("CheckShareWithGroup",FALSE);
-		childSetEnabled("CheckEveryoneCopy",FALSE);
+		getChildView("CheckShareWithGroup")->setEnabled(FALSE);
+		getChildView("CheckEveryoneCopy")->setEnabled(FALSE);
 	}
 
 	// Set values.
@@ -522,7 +522,7 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 
 	if (is_group_copy && is_group_modify && is_group_move)
 	{
-		childSetValue("CheckShareWithGroup",LLSD((BOOL)TRUE));
+		getChild<LLUICtrl>("CheckShareWithGroup")->setValue(LLSD((BOOL)TRUE));
 
 		LLCheckBoxCtrl* ctl = getChild<LLCheckBoxCtrl>("CheckShareWithGroup");
 		if(ctl)
@@ -532,7 +532,7 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 	}
 	else if (!is_group_copy && !is_group_modify && !is_group_move)
 	{
-		childSetValue("CheckShareWithGroup",LLSD((BOOL)FALSE));
+		getChild<LLUICtrl>("CheckShareWithGroup")->setValue(LLSD((BOOL)FALSE));
 		LLCheckBoxCtrl* ctl = getChild<LLCheckBoxCtrl>("CheckShareWithGroup");
 		if(ctl)
 		{
@@ -549,7 +549,7 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 		}
 	}
 	
-	childSetValue("CheckEveryoneCopy",LLSD((BOOL)(everyone_mask & PERM_COPY)));
+	getChild<LLUICtrl>("CheckEveryoneCopy")->setValue(LLSD((BOOL)(everyone_mask & PERM_COPY)));
 
 	///////////////
 	// SALE INFO //
@@ -561,48 +561,48 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
 	if (is_obj_modify && can_agent_sell 
 		&& gAgent.allowOperation(PERM_TRANSFER, perm, GP_OBJECT_MANIPULATE))
 	{
-		childSetEnabled("SaleLabel",is_complete);
-		childSetEnabled("CheckPurchase",is_complete);
+		getChildView("SaleLabel")->setEnabled(is_complete);
+		getChildView("CheckPurchase")->setEnabled(is_complete);
 
-		childSetEnabled("NextOwnerLabel",TRUE);
-		childSetEnabled("CheckNextOwnerModify",(base_mask & PERM_MODIFY) && !cannot_restrict_permissions);
-		childSetEnabled("CheckNextOwnerCopy",(base_mask & PERM_COPY) && !cannot_restrict_permissions);
-		childSetEnabled("CheckNextOwnerTransfer",(next_owner_mask & PERM_COPY) && !cannot_restrict_permissions);
+		getChildView("NextOwnerLabel")->setEnabled(TRUE);
+		getChildView("CheckNextOwnerModify")->setEnabled((base_mask & PERM_MODIFY) && !cannot_restrict_permissions);
+		getChildView("CheckNextOwnerCopy")->setEnabled((base_mask & PERM_COPY) && !cannot_restrict_permissions);
+		getChildView("CheckNextOwnerTransfer")->setEnabled((next_owner_mask & PERM_COPY) && !cannot_restrict_permissions);
 
-		childSetEnabled("TextPrice",is_complete && is_for_sale);
-		childSetEnabled("Edit Cost",is_complete && is_for_sale);
+		getChildView("TextPrice")->setEnabled(is_complete && is_for_sale);
+		getChildView("Edit Cost")->setEnabled(is_complete && is_for_sale);
 	}
 	else
 	{
-		childSetEnabled("SaleLabel",FALSE);
-		childSetEnabled("CheckPurchase",FALSE);
+		getChildView("SaleLabel")->setEnabled(FALSE);
+		getChildView("CheckPurchase")->setEnabled(FALSE);
 
-		childSetEnabled("NextOwnerLabel",FALSE);
-		childSetEnabled("CheckNextOwnerModify",FALSE);
-		childSetEnabled("CheckNextOwnerCopy",FALSE);
-		childSetEnabled("CheckNextOwnerTransfer",FALSE);
+		getChildView("NextOwnerLabel")->setEnabled(FALSE);
+		getChildView("CheckNextOwnerModify")->setEnabled(FALSE);
+		getChildView("CheckNextOwnerCopy")->setEnabled(FALSE);
+		getChildView("CheckNextOwnerTransfer")->setEnabled(FALSE);
 
-		childSetEnabled("TextPrice",FALSE);
-		childSetEnabled("Edit Cost",FALSE);
+		getChildView("TextPrice")->setEnabled(FALSE);
+		getChildView("Edit Cost")->setEnabled(FALSE);
 	}
 
 	// Set values.
-	childSetValue("CheckPurchase", is_for_sale);
-	childSetEnabled("combobox sale copy", is_for_sale);
-	childSetEnabled("Edit Cost", is_for_sale);
-	childSetValue("CheckNextOwnerModify",LLSD(BOOL(next_owner_mask & PERM_MODIFY)));
-	childSetValue("CheckNextOwnerCopy",LLSD(BOOL(next_owner_mask & PERM_COPY)));
-	childSetValue("CheckNextOwnerTransfer",LLSD(BOOL(next_owner_mask & PERM_TRANSFER)));
+	getChild<LLUICtrl>("CheckPurchase")->setValue(is_for_sale);
+	getChildView("combobox sale copy")->setEnabled(is_for_sale);
+	getChildView("Edit Cost")->setEnabled(is_for_sale);
+	getChild<LLUICtrl>("CheckNextOwnerModify")->setValue(LLSD(BOOL(next_owner_mask & PERM_MODIFY)));
+	getChild<LLUICtrl>("CheckNextOwnerCopy")->setValue(LLSD(BOOL(next_owner_mask & PERM_COPY)));
+	getChild<LLUICtrl>("CheckNextOwnerTransfer")->setValue(LLSD(BOOL(next_owner_mask & PERM_TRANSFER)));
 
 	if (is_for_sale)
 	{
 		S32 numerical_price;
 		numerical_price = sale_info.getSalePrice();
-		childSetText("Edit Cost",llformat("%d",numerical_price));
+		getChild<LLUICtrl>("Edit Cost")->setValue(llformat("%d",numerical_price));
 	}
 	else
 	{
-		childSetText("Edit Cost",llformat("%d",0));
+		getChild<LLUICtrl>("Edit Cost")->setValue(llformat("%d",0));
 	}
 }
 
@@ -823,10 +823,10 @@ void LLSidepanelItemInfo::updateSaleInfo()
 	LLSaleInfo sale_info(item->getSaleInfo());
 	if(!gAgent.allowOperation(PERM_TRANSFER, item->getPermissions(), GP_OBJECT_SET_SALE))
 	{
-		childSetValue("CheckPurchase",LLSD((BOOL)FALSE));
+		getChild<LLUICtrl>("CheckPurchase")->setValue(LLSD((BOOL)FALSE));
 	}
 
-	if((BOOL)childGetValue("CheckPurchase"))
+	if((BOOL)getChild<LLUICtrl>("CheckPurchase")->getValue())
 	{
 		// turn on sale info
 		LLSaleInfo::EForSale sale_type = LLSaleInfo::FS_COPY;
diff --git a/indra/newview/llsidepaneltaskinfo.cpp b/indra/newview/llsidepaneltaskinfo.cpp
index 3ab71eac64f8d37a9db1833579e577f5a7244f78..2755a1c3ae53ed9584e8151bb134b29e046183db 100644
--- a/indra/newview/llsidepaneltaskinfo.cpp
+++ b/indra/newview/llsidepaneltaskinfo.cpp
@@ -107,9 +107,9 @@ BOOL LLSidepanelTaskInfo::postBuild()
 	mLabelGroupName = getChild<LLNameBox>("Group Name Proxy");
 
 	childSetCommitCallback("Object Name",						LLSidepanelTaskInfo::onCommitName,this);
-	childSetPrevalidate("Object Name",							LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("Object Name")->setPrevalidate(LLTextValidate::validateASCIIPrintableNoPipe);
 	childSetCommitCallback("Object Description",				LLSidepanelTaskInfo::onCommitDesc,this);
-	childSetPrevalidate("Object Description",					LLTextValidate::validateASCIIPrintableNoPipe);
+	getChild<LLLineEditor>("Object Description")->setPrevalidate(LLTextValidate::validateASCIIPrintableNoPipe);
 	getChild<LLUICtrl>("button set group")->setCommitCallback(boost::bind(&LLSidepanelTaskInfo::onClickGroup,this));
 	childSetCommitCallback("checkbox share with group",			&LLSidepanelTaskInfo::onCommitGroupShare,this);
 	childSetAction("button deed",								&LLSidepanelTaskInfo::onClickDeedToGroup,this);
@@ -144,81 +144,81 @@ BOOL LLSidepanelTaskInfo::postBuild()
 
 void LLSidepanelTaskInfo::disableAll()
 {
-	childSetEnabled("perm_modify",						FALSE);
-	childSetText("perm_modify",							LLStringUtil::null);
-
-	childSetEnabled("Creator:",					   		FALSE);
-	childSetText("Creator Name",						LLStringUtil::null);
-	childSetEnabled("Creator Name",						FALSE);
-
-	childSetEnabled("Owner:",							FALSE);
-	childSetText("Owner Name",							LLStringUtil::null);
-	childSetEnabled("Owner Name",						FALSE);
-
-	childSetEnabled("Group:",							FALSE);
-	childSetText("Group Name",							LLStringUtil::null);
-	childSetEnabled("Group Name",						FALSE);
-	childSetEnabled("button set group",					FALSE);
-
-	childSetText("Object Name",							LLStringUtil::null);
-	childSetEnabled("Object Name",						FALSE);
-	childSetEnabled("Name:",						   	FALSE);
-	childSetText("Group Name",							LLStringUtil::null);
-	childSetEnabled("Group Name",						FALSE);
-	childSetEnabled("Description:",						FALSE);
-	childSetText("Object Description",					LLStringUtil::null);
-	childSetEnabled("Object Description",				FALSE);
-
-	childSetEnabled("Permissions:",						FALSE);
+	getChildView("perm_modify")->setEnabled(FALSE);
+	getChild<LLUICtrl>("perm_modify")->setValue(LLStringUtil::null);
+
+	getChildView("Creator:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Creator Name")->setValue(LLStringUtil::null);
+	getChildView("Creator Name")->setEnabled(FALSE);
+
+	getChildView("Owner:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Owner Name")->setValue(LLStringUtil::null);
+	getChildView("Owner Name")->setEnabled(FALSE);
+
+	getChildView("Group:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Group Name")->setValue(LLStringUtil::null);
+	getChildView("Group Name")->setEnabled(FALSE);
+	getChildView("button set group")->setEnabled(FALSE);
+
+	getChild<LLUICtrl>("Object Name")->setValue(LLStringUtil::null);
+	getChildView("Object Name")->setEnabled(FALSE);
+	getChildView("Name:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Group Name")->setValue(LLStringUtil::null);
+	getChildView("Group Name")->setEnabled(FALSE);
+	getChildView("Description:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Object Description")->setValue(LLStringUtil::null);
+	getChildView("Object Description")->setEnabled(FALSE);
+
+	getChildView("Permissions:")->setEnabled(FALSE);
 		
-	childSetValue("checkbox share with group",			FALSE);
-	childSetEnabled("checkbox share with group",	   	FALSE);
-	childSetEnabled("button deed",						FALSE);
+	getChild<LLUICtrl>("checkbox share with group")->setValue(FALSE);
+	getChildView("checkbox share with group")->setEnabled(FALSE);
+	getChildView("button deed")->setEnabled(FALSE);
 
-	childSetValue("checkbox allow everyone move",	   	FALSE);
-	childSetEnabled("checkbox allow everyone move",	   	FALSE);
-	childSetValue("checkbox allow everyone copy",	   	FALSE);
-	childSetEnabled("checkbox allow everyone copy",	   	FALSE);
+	getChild<LLUICtrl>("checkbox allow everyone move")->setValue(FALSE);
+	getChildView("checkbox allow everyone move")->setEnabled(FALSE);
+	getChild<LLUICtrl>("checkbox allow everyone copy")->setValue(FALSE);
+	getChildView("checkbox allow everyone copy")->setEnabled(FALSE);
 
 	//Next owner can:
-	childSetEnabled("Next owner can:",					FALSE);
-	childSetValue("checkbox next owner can modify",		FALSE);
-	childSetEnabled("checkbox next owner can modify",  	FALSE);
-	childSetValue("checkbox next owner can copy",	   	FALSE);
-	childSetEnabled("checkbox next owner can copy",	   	FALSE);
-	childSetValue("checkbox next owner can transfer",  	FALSE);
-	childSetEnabled("checkbox next owner can transfer",	FALSE);
+	getChildView("Next owner can:")->setEnabled(FALSE);
+	getChild<LLUICtrl>("checkbox next owner can modify")->setValue(FALSE);
+	getChildView("checkbox next owner can modify")->setEnabled(FALSE);
+	getChild<LLUICtrl>("checkbox next owner can copy")->setValue(FALSE);
+	getChildView("checkbox next owner can copy")->setEnabled(FALSE);
+	getChild<LLUICtrl>("checkbox next owner can transfer")->setValue(FALSE);
+	getChildView("checkbox next owner can transfer")->setEnabled(FALSE);
 
 	//checkbox for sale
-	childSetValue("checkbox for sale",					FALSE);
-	childSetEnabled("checkbox for sale",			   	FALSE);
+	getChild<LLUICtrl>("checkbox for sale")->setValue(FALSE);
+	getChildView("checkbox for sale")->setEnabled(FALSE);
 
 	//checkbox include in search
-	childSetValue("search_check",			 			FALSE);
-	childSetEnabled("search_check",			 			FALSE);
+	getChild<LLUICtrl>("search_check")->setValue(FALSE);
+	getChildView("search_check")->setEnabled(FALSE);
 		
 	LLComboBox*	combo_sale_type = getChild<LLComboBox>("sale type");
 	combo_sale_type->setValue(LLSaleInfo::FS_COPY);
 	combo_sale_type->setEnabled(FALSE);
 		
-	childSetEnabled("Cost",								FALSE);
-	childSetText("Cost",							   	getString("Cost Default"));
-	childSetText("Edit Cost",							LLStringUtil::null);
-	childSetEnabled("Edit Cost",					   	FALSE);
+	getChildView("Cost")->setEnabled(FALSE);
+	getChild<LLUICtrl>("Cost")->setValue(getString("Cost Default"));
+	getChild<LLUICtrl>("Edit Cost")->setValue(LLStringUtil::null);
+	getChildView("Edit Cost")->setEnabled(FALSE);
 		
-	childSetEnabled("label click action",				FALSE);
+	getChildView("label click action")->setEnabled(FALSE);
 	LLComboBox*	combo_click_action = getChild<LLComboBox>("clickaction");
 	if (combo_click_action)
 	{
 		combo_click_action->setEnabled(FALSE);
 		combo_click_action->clear();
 	}
-	childSetVisible("B:",								FALSE);
-	childSetVisible("O:",								FALSE);
-	childSetVisible("G:",								FALSE);
-	childSetVisible("E:",								FALSE);
-	childSetVisible("N:",								FALSE);
-	childSetVisible("F:",								FALSE);
+	getChildView("B:")->setVisible(								FALSE);
+	getChildView("O:")->setVisible(								FALSE);
+	getChildView("G:")->setVisible(								FALSE);
+	getChildView("E:")->setVisible(								FALSE);
+	getChildView("N:")->setVisible(								FALSE);
+	getChildView("F:")->setVisible(								FALSE);
 	
 	mOpenBtn->setEnabled(FALSE);
 	mPayBtn->setEnabled(FALSE);
@@ -289,23 +289,23 @@ void LLSidepanelTaskInfo::refresh()
 	{
 		++string_index;
 	}
-	childSetEnabled("perm_modify", 			   			TRUE);
-	childSetText("perm_modify",							MODIFY_INFO_STRINGS[string_index]);
+	getChildView("perm_modify")->setEnabled(TRUE);
+	getChild<LLUICtrl>("perm_modify")->setValue(MODIFY_INFO_STRINGS[string_index]);
 
-	childSetEnabled("Permissions:", 					TRUE);
+	getChildView("Permissions:")->setEnabled(TRUE);
 	
 	// Update creator text field
-	childSetEnabled("Creator:", 						TRUE);
+	getChildView("Creator:")->setEnabled(TRUE);
 	BOOL creators_identical;
 	std::string creator_name;
 	creators_identical = LLSelectMgr::getInstance()->selectGetCreator(mCreatorID,
 																	  creator_name);
 
-	childSetText("Creator Name",						creator_name);
-	childSetEnabled("Creator Name", 					TRUE);
+	getChild<LLUICtrl>("Creator Name")->setValue(creator_name);
+	getChildView("Creator Name")->setEnabled(TRUE);
 
 	// Update owner text field
-	childSetEnabled("Owner:", 							TRUE);
+	getChildView("Owner:")->setEnabled(TRUE);
 
 	std::string owner_name;
 	const BOOL owners_identical = LLSelectMgr::getInstance()->selectGetOwner(mOwnerID, owner_name);
@@ -330,12 +330,12 @@ void LLSidepanelTaskInfo::refresh()
 			}
 		}
 	}
-	childSetText("Owner Name",						owner_name);
-	childSetEnabled("Owner Name", 					TRUE);
+	getChild<LLUICtrl>("Owner Name")->setValue(owner_name);
+	getChildView("Owner Name")->setEnabled(TRUE);
 
 	// update group text field
-	childSetEnabled("Group:", 						TRUE);
-	childSetText("Group Name", 						LLStringUtil::null);
+	getChildView("Group:")->setEnabled(TRUE);
+	getChild<LLUICtrl>("Group Name")->setValue(LLStringUtil::null);
 	LLUUID group_id;
 	BOOL groups_identical = LLSelectMgr::getInstance()->selectGetGroup(group_id);
 	if (groups_identical)
@@ -356,18 +356,18 @@ void LLSidepanelTaskInfo::refresh()
 		}
 	}
 	
-	childSetEnabled("button set group", owners_identical && (mOwnerID == gAgent.getID()));
+	getChildView("button set group")->setEnabled(owners_identical && (mOwnerID == gAgent.getID()));
 
-	childSetEnabled("Name:", 						TRUE);
+	getChildView("Name:")->setEnabled(TRUE);
 	LLLineEditor* LineEditorObjectName = getChild<LLLineEditor>("Object Name");
-	childSetEnabled("Description:", 				TRUE);
+	getChildView("Description:")->setEnabled(TRUE);
 	LLLineEditor* LineEditorObjectDesc = getChild<LLLineEditor>("Object Description");
 
 	if (is_one_object)
 	{
 		if (!LineEditorObjectName->hasFocus())
 		{
-			childSetText("Object Name",nodep->mName);
+			getChild<LLUICtrl>("Object Name")->setValue(nodep->mName);
 		}
 
 		if (LineEditorObjectDesc)
@@ -380,7 +380,7 @@ void LLSidepanelTaskInfo::refresh()
 	}
 	else
 	{
-		childSetText("Object Name",					LLStringUtil::null);
+		getChild<LLUICtrl>("Object Name")->setValue(LLStringUtil::null);
 		LineEditorObjectDesc->setText(LLStringUtil::null);
 	}
 
@@ -392,13 +392,13 @@ void LLSidepanelTaskInfo::refresh()
 	}
 	if (edit_name_desc)
 	{
-		childSetEnabled("Object Name", 				TRUE);
-		childSetEnabled("Object Description", 		TRUE);
+		getChildView("Object Name")->setEnabled(TRUE);
+		getChildView("Object Description")->setEnabled(TRUE);
 	}
 	else
 	{
-		childSetEnabled("Object Name", 				FALSE);
-		childSetEnabled("Object Description", 		FALSE);
+		getChildView("Object Name")->setEnabled(FALSE);
+		getChildView("Object Description")->setEnabled(FALSE);
 	}
 
 	S32 total_sale_price = 0;
@@ -420,9 +420,9 @@ void LLSidepanelTaskInfo::refresh()
 
 	if (!owners_identical)
 	{
-		childSetEnabled("Cost", 					FALSE);
-		childSetText("Edit Cost",					LLStringUtil::null);
-		childSetEnabled("Edit Cost", 				FALSE);
+		getChildView("Cost")->setEnabled(FALSE);
+		getChild<LLUICtrl>("Edit Cost")->setValue(LLStringUtil::null);
+		getChildView("Edit Cost")->setEnabled(FALSE);
 	}
 	// You own these objects.
 	else if (self_owned || (group_owned && gAgent.hasPowerInGroup(group_id,GP_OBJECT_SET_SALE)))
@@ -430,11 +430,11 @@ void LLSidepanelTaskInfo::refresh()
 		// If there are multiple items for sale then set text to PRICE PER UNIT.
 		if (num_for_sale > 1)
 		{
-			childSetText("Cost",					getString("Cost Per Unit"));
+			getChild<LLUICtrl>("Cost")->setValue(getString("Cost Per Unit"));
 		}
 		else
 		{
-			childSetText("Cost",					getString("Cost Default"));
+			getChild<LLUICtrl>("Cost")->setValue(getString("Cost Default"));
 		}
 		
 		LLSpinCtrl *edit_price = getChild<LLSpinCtrl>("Edit Cost");
@@ -458,35 +458,35 @@ void LLSidepanelTaskInfo::refresh()
 		// The edit fields are only enabled if you can sell this object
 		// and the sale price is not mixed.
 		BOOL enable_edit = (num_for_sale && can_transfer) ? !is_for_sale_mixed : FALSE;
-		childSetEnabled("Cost",					enable_edit);
-		childSetEnabled("Edit Cost",			enable_edit);
+		getChildView("Cost")->setEnabled(enable_edit);
+		getChildView("Edit Cost")->setEnabled(enable_edit);
 	}
 	// Someone, not you, owns these objects.
 	else if (!public_owned)
 	{
-		childSetEnabled("Cost",					FALSE);
-		childSetEnabled("Edit Cost",			FALSE);
+		getChildView("Cost")->setEnabled(FALSE);
+		getChildView("Edit Cost")->setEnabled(FALSE);
 		
 		// Don't show a price if none of the items are for sale.
 		if (num_for_sale)
-			childSetText("Edit Cost",			llformat("%d",total_sale_price));
+			getChild<LLUICtrl>("Edit Cost")->setValue(llformat("%d",total_sale_price));
 		else
-			childSetText("Edit Cost",			LLStringUtil::null);
+			getChild<LLUICtrl>("Edit Cost")->setValue(LLStringUtil::null);
 
 		// If multiple items are for sale, set text to TOTAL PRICE.
 		if (num_for_sale > 1)
-			childSetText("Cost",				getString("Cost Total"));
+			getChild<LLUICtrl>("Cost")->setValue(getString("Cost Total"));
 		else
-			childSetText("Cost",				getString("Cost Default"));
+			getChild<LLUICtrl>("Cost")->setValue(getString("Cost Default"));
 	}
 	// This is a public object.
 	else
 	{
-		childSetEnabled("Cost",					FALSE);
-		childSetText("Cost",					getString("Cost Default"));
+		getChildView("Cost")->setEnabled(FALSE);
+		getChild<LLUICtrl>("Cost")->setValue(getString("Cost Default"));
 		
-		childSetText("Edit Cost",				LLStringUtil::null);
-		childSetEnabled("Edit Cost",			FALSE);
+		getChild<LLUICtrl>("Edit Cost")->setValue(LLStringUtil::null);
+		getChildView("Edit Cost")->setEnabled(FALSE);
 	}
 
 	// Enable and disable the permissions checkboxes
@@ -528,20 +528,20 @@ void LLSidepanelTaskInfo::refresh()
 	{
 		if (valid_base_perms)
 		{
-			childSetText("B:",								"B: " + mask_to_string(base_mask_on));
-			childSetVisible("B:",							TRUE);
+			getChild<LLUICtrl>("B:")->setValue("B: " + mask_to_string(base_mask_on));
+			getChildView("B:")->setVisible(							TRUE);
 			
-			childSetText("O:",								"O: " + mask_to_string(owner_mask_on));
-			childSetVisible("O:",							TRUE);
+			getChild<LLUICtrl>("O:")->setValue("O: " + mask_to_string(owner_mask_on));
+			getChildView("O:")->setVisible(							TRUE);
 			
-			childSetText("G:",								"G: " + mask_to_string(group_mask_on));
-			childSetVisible("G:",							TRUE);
+			getChild<LLUICtrl>("G:")->setValue("G: " + mask_to_string(group_mask_on));
+			getChildView("G:")->setVisible(							TRUE);
 			
-			childSetText("E:",								"E: " + mask_to_string(everyone_mask_on));
-			childSetVisible("E:",							TRUE);
+			getChild<LLUICtrl>("E:")->setValue("E: " + mask_to_string(everyone_mask_on));
+			getChildView("E:")->setVisible(							TRUE);
 			
-			childSetText("N:",								"N: " + mask_to_string(next_owner_mask_on));
-			childSetVisible("N:",							TRUE);
+			getChild<LLUICtrl>("N:")->setValue("N: " + mask_to_string(next_owner_mask_on));
+			getChildView("N:")->setVisible(							TRUE);
 		}
 
 		U32 flag_mask = 0x0;
@@ -550,17 +550,17 @@ void LLSidepanelTaskInfo::refresh()
 		if (objectp->permCopy()) 		flag_mask |= PERM_COPY;
 		if (objectp->permTransfer()) 	flag_mask |= PERM_TRANSFER;
 
-		childSetText("F:",									"F:" + mask_to_string(flag_mask));
-		childSetVisible("F:",								TRUE);
+		getChild<LLUICtrl>("F:")->setValue("F:" + mask_to_string(flag_mask));
+		getChildView("F:")->setVisible(								TRUE);
 	}
 	else
 	{
-		childSetVisible("B:",								FALSE);
-		childSetVisible("O:",								FALSE);
-		childSetVisible("G:",								FALSE);
-		childSetVisible("E:",								FALSE);
-		childSetVisible("N:",								FALSE);
-		childSetVisible("F:",								FALSE);
+		getChildView("B:")->setVisible(								FALSE);
+		getChildView("O:")->setVisible(								FALSE);
+		getChildView("G:")->setVisible(								FALSE);
+		getChildView("E:")->setVisible(								FALSE);
+		getChildView("N:")->setVisible(								FALSE);
+		getChildView("F:")->setVisible(								FALSE);
 	}
 
 	BOOL has_change_perm_ability = FALSE;
@@ -580,65 +580,65 @@ void LLSidepanelTaskInfo::refresh()
 	if (!has_change_perm_ability && !has_change_sale_ability && !root_selected)
 	{
 		// ...must select root to choose permissions
-		childSetValue("perm_modify", 						getString("text modify warning"));
+		getChild<LLUICtrl>("perm_modify")->setValue(getString("text modify warning"));
 	}
 
 	if (has_change_perm_ability)
 	{
-		childSetEnabled("checkbox share with group",		TRUE);
-		childSetEnabled("checkbox allow everyone move",		owner_mask_on & PERM_MOVE);
-		childSetEnabled("checkbox allow everyone copy",		owner_mask_on & PERM_COPY && owner_mask_on & PERM_TRANSFER);
+		getChildView("checkbox share with group")->setEnabled(TRUE);
+		getChildView("checkbox allow everyone move")->setEnabled(owner_mask_on & PERM_MOVE);
+		getChildView("checkbox allow everyone copy")->setEnabled(owner_mask_on & PERM_COPY && owner_mask_on & PERM_TRANSFER);
 	}
 	else
 	{
-		childSetEnabled("checkbox share with group", 		FALSE);
-		childSetEnabled("checkbox allow everyone move", 	FALSE);
-		childSetEnabled("checkbox allow everyone copy", 	FALSE);
+		getChildView("checkbox share with group")->setEnabled(FALSE);
+		getChildView("checkbox allow everyone move")->setEnabled(FALSE);
+		getChildView("checkbox allow everyone copy")->setEnabled(FALSE);
 	}
 
 	if (has_change_sale_ability && (owner_mask_on & PERM_TRANSFER))
 	{
-		childSetEnabled("checkbox for sale", 				can_transfer || (!can_transfer && num_for_sale));
+		getChildView("checkbox for sale")->setEnabled(can_transfer || (!can_transfer && num_for_sale));
 		// Set the checkbox to tentative if the prices of each object selected
 		// are not the same.
-		childSetTentative("checkbox for sale", 				is_for_sale_mixed);
-		childSetEnabled("sale type", 						num_for_sale && can_transfer && !is_sale_price_mixed);
+		getChild<LLUICtrl>("checkbox for sale")->setTentative( 				is_for_sale_mixed);
+		getChildView("sale type")->setEnabled(num_for_sale && can_transfer && !is_sale_price_mixed);
 
-		childSetEnabled("Next owner can:", 					TRUE);
-		childSetEnabled("checkbox next owner can modify", 	base_mask_on & PERM_MODIFY);
-		childSetEnabled("checkbox next owner can copy", 	base_mask_on & PERM_COPY);
-		childSetEnabled("checkbox next owner can transfer", next_owner_mask_on & PERM_COPY);
+		getChildView("Next owner can:")->setEnabled(TRUE);
+		getChildView("checkbox next owner can modify")->setEnabled(base_mask_on & PERM_MODIFY);
+		getChildView("checkbox next owner can copy")->setEnabled(base_mask_on & PERM_COPY);
+		getChildView("checkbox next owner can transfer")->setEnabled(next_owner_mask_on & PERM_COPY);
 	}
 	else 
 	{
-		childSetEnabled("checkbox for sale",				FALSE);
-		childSetEnabled("sale type",						FALSE);
+		getChildView("checkbox for sale")->setEnabled(FALSE);
+		getChildView("sale type")->setEnabled(FALSE);
 
-		childSetEnabled("Next owner can:",					FALSE);
-		childSetEnabled("checkbox next owner can modify",	FALSE);
-		childSetEnabled("checkbox next owner can copy",		FALSE);
-		childSetEnabled("checkbox next owner can transfer",	FALSE);
+		getChildView("Next owner can:")->setEnabled(FALSE);
+		getChildView("checkbox next owner can modify")->setEnabled(FALSE);
+		getChildView("checkbox next owner can copy")->setEnabled(FALSE);
+		getChildView("checkbox next owner can transfer")->setEnabled(FALSE);
 	}
 
 	if (valid_group_perms)
 	{
 		if ((group_mask_on & PERM_COPY) && (group_mask_on & PERM_MODIFY) && (group_mask_on & PERM_MOVE))
 		{
-			childSetValue("checkbox share with group",		TRUE);
-			childSetTentative("checkbox share with group",	FALSE);
-			childSetEnabled("button deed",					gAgent.hasPowerInGroup(group_id, GP_OBJECT_DEED) && (owner_mask_on & PERM_TRANSFER) && !group_owned && can_transfer);
+			getChild<LLUICtrl>("checkbox share with group")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox share with group")->setTentative(	FALSE);
+			getChildView("button deed")->setEnabled(gAgent.hasPowerInGroup(group_id, GP_OBJECT_DEED) && (owner_mask_on & PERM_TRANSFER) && !group_owned && can_transfer);
 		}
 		else if ((group_mask_off & PERM_COPY) && (group_mask_off & PERM_MODIFY) && (group_mask_off & PERM_MOVE))
 		{
-			childSetValue("checkbox share with group",		FALSE);
-			childSetTentative("checkbox share with group",	FALSE);
-			childSetEnabled("button deed",					FALSE);
+			getChild<LLUICtrl>("checkbox share with group")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox share with group")->setTentative(	FALSE);
+			getChildView("button deed")->setEnabled(FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox share with group",		TRUE);
-			childSetTentative("checkbox share with group",	TRUE);
-			childSetEnabled("button deed",					gAgent.hasPowerInGroup(group_id, GP_OBJECT_DEED) && (group_mask_on & PERM_MOVE) && (owner_mask_on & PERM_TRANSFER) && !group_owned && can_transfer);
+			getChild<LLUICtrl>("checkbox share with group")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox share with group")->setTentative(	TRUE);
+			getChildView("button deed")->setEnabled(gAgent.hasPowerInGroup(group_id, GP_OBJECT_DEED) && (group_mask_on & PERM_MOVE) && (owner_mask_on & PERM_TRANSFER) && !group_owned && can_transfer);
 		}
 	}			
 
@@ -647,35 +647,35 @@ void LLSidepanelTaskInfo::refresh()
 		// Move
 		if (everyone_mask_on & PERM_MOVE)
 		{
-			childSetValue("checkbox allow everyone move",		TRUE);
-			childSetTentative("checkbox allow everyone move", 	FALSE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setTentative( 	FALSE);
 		}
 		else if (everyone_mask_off & PERM_MOVE)
 		{
-			childSetValue("checkbox allow everyone move",		FALSE);
-			childSetTentative("checkbox allow everyone move", 	FALSE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setTentative( 	FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox allow everyone move",		TRUE);
-			childSetTentative("checkbox allow everyone move", 	TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone move")->setTentative( 	TRUE);
 		}
 
 		// Copy == everyone can't copy
 		if (everyone_mask_on & PERM_COPY)
 		{
-			childSetValue("checkbox allow everyone copy",		TRUE);
-			childSetTentative("checkbox allow everyone copy", 	!can_copy || !can_transfer);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setTentative( 	!can_copy || !can_transfer);
 		}
 		else if (everyone_mask_off & PERM_COPY)
 		{
-			childSetValue("checkbox allow everyone copy",		FALSE);
-			childSetTentative("checkbox allow everyone copy",	FALSE);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setTentative(	FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox allow everyone copy",		TRUE);
-			childSetTentative("checkbox allow everyone copy",	TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox allow everyone copy")->setTentative(	TRUE);
 		}
 	}
 
@@ -684,52 +684,52 @@ void LLSidepanelTaskInfo::refresh()
 		// Modify == next owner canot modify
 		if (next_owner_mask_on & PERM_MODIFY)
 		{
-			childSetValue("checkbox next owner can modify",		TRUE);
-			childSetTentative("checkbox next owner can modify",	FALSE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setTentative(	FALSE);
 		}
 		else if (next_owner_mask_off & PERM_MODIFY)
 		{
-			childSetValue("checkbox next owner can modify",		FALSE);
-			childSetTentative("checkbox next owner can modify",	FALSE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setTentative(	FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox next owner can modify",		TRUE);
-			childSetTentative("checkbox next owner can modify",	TRUE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can modify")->setTentative(	TRUE);
 		}
 
 		// Copy == next owner cannot copy
 		if (next_owner_mask_on & PERM_COPY)
 		{			
-			childSetValue("checkbox next owner can copy",		TRUE);
-			childSetTentative("checkbox next owner can copy",	!can_copy);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setTentative(	!can_copy);
 		}
 		else if (next_owner_mask_off & PERM_COPY)
 		{
-			childSetValue("checkbox next owner can copy",		FALSE);
-			childSetTentative("checkbox next owner can copy",	FALSE);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setTentative(	FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox next owner can copy",		TRUE);
-			childSetTentative("checkbox next owner can copy",	TRUE);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can copy")->setTentative(	TRUE);
 		}
 
 		// Transfer == next owner cannot transfer
 		if (next_owner_mask_on & PERM_TRANSFER)
 		{
-			childSetValue("checkbox next owner can transfer",	TRUE);
-			childSetTentative("checkbox next owner can transfer", !can_transfer);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setTentative( !can_transfer);
 		}
 		else if (next_owner_mask_off & PERM_TRANSFER)
 		{
-			childSetValue("checkbox next owner can transfer",	FALSE);
-			childSetTentative("checkbox next owner can transfer", FALSE);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setValue(FALSE);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setTentative( FALSE);
 		}
 		else
 		{
-			childSetValue("checkbox next owner can transfer",	TRUE);
-			childSetTentative("checkbox next owner can transfer", TRUE);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setValue(TRUE);
+			getChild<LLUICtrl>("checkbox next owner can transfer")->setTentative( TRUE);
 		}
 	}
 
@@ -751,7 +751,7 @@ void LLSidepanelTaskInfo::refresh()
 		combo_sale_type->setTentative(				TRUE); // unfortunately this doesn't do anything at the moment.
 	}
 
-	childSetValue("checkbox for sale", (num_for_sale != 0));
+	getChild<LLUICtrl>("checkbox for sale")->setValue((num_for_sale != 0));
 
 	// HACK: There are some old objects in world that are set for sale,
 	// but are no-transfer.  We need to let users turn for-sale off, but only
@@ -761,7 +761,7 @@ void LLSidepanelTaskInfo::refresh()
 	{
 		if (num_for_sale && has_change_sale_ability)
 		{
-			childSetEnabled("checkbox for sale", true);
+			getChildView("checkbox for sale")->setEnabled(true);
 		}
 	}
 	
@@ -769,9 +769,9 @@ void LLSidepanelTaskInfo::refresh()
 	const BOOL all_volume = LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME );
 	bool include_in_search;
 	const BOOL all_include_in_search = LLSelectMgr::getInstance()->selectionGetIncludeInSearch(&include_in_search);
-	childSetEnabled("search_check", 				has_change_sale_ability && all_volume);
-	childSetValue("search_check", 					include_in_search);
-	childSetTentative("search_check", 				!all_include_in_search);
+	getChildView("search_check")->setEnabled(has_change_sale_ability && all_volume);
+	getChild<LLUICtrl>("search_check")->setValue(include_in_search);
+	getChild<LLUICtrl>("search_check")->setTentative( 				!all_include_in_search);
 
 	// Click action (touch, sit, buy)
 	U8 click_action = 0;
@@ -783,8 +783,8 @@ void LLSidepanelTaskInfo::refresh()
 			ComboClickAction->setCurrentByIndex((S32)click_action);
 		}
 	}
-	childSetEnabled("label click action",			is_perm_modify && all_volume);
-	childSetEnabled("clickaction",					is_perm_modify && all_volume);
+	getChildView("label click action")->setEnabled(is_perm_modify && all_volume);
+	getChildView("clickaction")->setEnabled(is_perm_modify && all_volume);
 
 	if (!getIsEditing())
 	{
@@ -810,7 +810,7 @@ void LLSidepanelTaskInfo::refresh()
 			};
 		for (size_t t=0; t<LL_ARRAY_SIZE(no_item_names); ++t)
 		{
-			childSetEnabled(no_item_names[t],		FALSE);
+			getChildView(no_item_names[t])->setEnabled(	FALSE);
 		}
 	}
 	updateVerbs();
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index c02559b2093b9712720276ddeb6e7224e6fc65b5..fc5937ea7dea252d7c9200ff0b383cc184579d70 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -235,7 +235,7 @@ BOOL LLStatusBar::postBuild()
 	mSGPacketLoss->mPerSec = FALSE;
 	addChild(mSGPacketLoss);
 
-	childSetActionTextbox("stat_btn", onClickStatGraph);
+	getChild<LLTextBox>("stat_btn")->setClickedCallback(onClickStatGraph);
 
 	mPanelVolumePulldown = new LLPanelVolumePulldown();
 	addChild(mPanelVolumePulldown);
@@ -300,15 +300,16 @@ void LLStatusBar::refresh()
 
 	if (LLHUDIcon::iconsNearby())
 	{
-		childGetRect( "scriptout", buttonRect );
+		LLView* script_out = getChildView("scriptout");
+		buttonRect = script_out->getRect();
 		r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight());
-		childSetRect("scriptout",r);
-		childSetVisible("scriptout", true);
+		script_out->setShape(r);
+		script_out->setVisible( true);
 		x += buttonRect.getWidth();
 	}
 	else
 	{
-		childSetVisible("scriptout", false);
+		getChildView("scriptout")->setVisible( false);
 	}
 
 	if (gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK &&
@@ -317,24 +318,25 @@ void LLStatusBar::refresh()
 		// set visibility based on flashing
 		if( mHealthTimer->hasExpired() )
 		{
-			childSetVisible("health", true);
+			getChildView("health")->setVisible( true);
 		}
 		else
 		{
 			BOOL flash = S32(mHealthTimer->getElapsedSeconds() * ICON_FLASH_FREQUENCY) & 1;
-			childSetVisible("health", flash);
+			getChildView("health")->setVisible( flash);
 		}
 
 		// Health
-		childGetRect( "health", buttonRect );
+		LLView* healthp = getChildView("health");
+		buttonRect = healthp->getRect();
 		r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight());
-		childSetRect("health", r);
+		healthp->setShape(r);
 		x += buttonRect.getWidth();
 	}
 
 	mSGBandwidth->setVisible(net_stats_visible);
 	mSGPacketLoss->setVisible(net_stats_visible);
-	childSetEnabled("stat_btn", net_stats_visible);
+	getChildView("stat_btn")->setEnabled(net_stats_visible);
 
 	// update the master volume button state
 	bool mute_audio = LLAppViewer::instance()->getMasterSystemAudioMute();
diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp
index 0b02861b75836b5743a97b7e8e3f826ee57b97fb..476b210ae693da518d0ecfee86396544556fc532 100644
--- a/indra/newview/lltexturectrl.cpp
+++ b/indra/newview/lltexturectrl.cpp
@@ -226,7 +226,7 @@ void LLFloaterTexturePicker::setImageID(const LLUUID& image_id)
 			if (itemp && !itemp->getPermissions().allowCopyBy(gAgent.getID()))
 			{
 				// no copy texture
-				childSetValue("apply_immediate_check", FALSE);
+				getChild<LLUICtrl>("apply_immediate_check")->setValue(FALSE);
 				mNoCopyTextureSelected = TRUE;
 			}
 			mInventoryPanel->setSelection(item_id, TAKE_FOCUS_NO);
@@ -236,7 +236,7 @@ void LLFloaterTexturePicker::setImageID(const LLUUID& image_id)
 
 void LLFloaterTexturePicker::setActive( BOOL active )					
 {
-	if (!active && childGetValue("Pipette").asBoolean())
+	if (!active && getChild<LLUICtrl>("Pipette")->getValue().asBoolean())
 	{
 		stopUsingPipette();
 	}
@@ -248,7 +248,7 @@ void LLFloaterTexturePicker::setCanApplyImmediately(BOOL b)
 	mCanApplyImmediately = b;
 	if (!mCanApplyImmediately)
 	{
-		childSetValue("apply_immediate_check", FALSE);
+		getChild<LLUICtrl>("apply_immediate_check")->setValue(FALSE);
 	}
 	updateFilterPermMask();
 }
@@ -403,7 +403,7 @@ BOOL LLFloaterTexturePicker::postBuild()
 
 
 	childSetCommitCallback("show_folders_check", onShowFolders, this);
-	childSetVisible("show_folders_check", FALSE);
+	getChildView("show_folders_check")->setVisible( FALSE);
 
 	mFilterEdit = getChild<LLFilterEditor>("inventory search editor");
 	mFilterEdit->setCommitCallback(boost::bind(&LLFloaterTexturePicker::onFilterEdit, this, _2));
@@ -442,12 +442,12 @@ BOOL LLFloaterTexturePicker::postBuild()
 
 	mNoCopyTextureSelected = FALSE;
 
-	childSetValue("apply_immediate_check", gSavedSettings.getBOOL("ApplyTextureImmediately"));
+	getChild<LLUICtrl>("apply_immediate_check")->setValue(gSavedSettings.getBOOL("ApplyTextureImmediately"));
 	childSetCommitCallback("apply_immediate_check", onApplyImmediateCheck, this);
 
 	if (!mCanApplyImmediately)
 	{
-		childSetEnabled("show_folders_check", FALSE);
+		getChildView("show_folders_check")->setEnabled(FALSE);
 	}
 
 	getChild<LLUICtrl>("Pipette")->setCommitCallback( boost::bind(&LLFloaterTexturePicker::onBtnPipette, this));
@@ -524,10 +524,10 @@ void LLFloaterTexturePicker::draw()
 	updateImageStats();
 
 	// if we're inactive, gray out "apply immediate" checkbox
-	childSetEnabled("show_folders_check", mActive && mCanApplyImmediately && !mNoCopyTextureSelected);
-	childSetEnabled("Select", mActive);
-	childSetEnabled("Pipette", mActive);
-	childSetValue("Pipette", LLToolMgr::getInstance()->getCurrentTool() == LLToolPipette::getInstance());
+	getChildView("show_folders_check")->setEnabled(mActive && mCanApplyImmediately && !mNoCopyTextureSelected);
+	getChildView("Select")->setEnabled(mActive);
+	getChildView("Pipette")->setEnabled(mActive);
+	getChild<LLUICtrl>("Pipette")->setValue(LLToolMgr::getInstance()->getCurrentTool() == LLToolPipette::getInstance());
 
 	//BOOL allow_copy = FALSE;
 	if( mOwner ) 
@@ -544,9 +544,9 @@ void LLFloaterTexturePicker::draw()
 			mTentativeLabel->setVisible( FALSE  );
 		}
 
-		childSetEnabled("Default",  mImageAssetID != mOwner->getDefaultImageAssetID());
-		childSetEnabled("Blank",   mImageAssetID != mWhiteImageAssetID );
-		childSetEnabled("None", mOwner->getAllowNoTexture() && !mImageAssetID.isNull() );
+		getChildView("Default")->setEnabled(mImageAssetID != mOwner->getDefaultImageAssetID());
+		getChildView("Blank")->setEnabled(mImageAssetID != mWhiteImageAssetID );
+		getChildView("None")->setEnabled(mOwner->getAllowNoTexture() && !mImageAssetID.isNull() );
 
 		LLFloater::draw();
 
@@ -651,13 +651,13 @@ const LLUUID& LLFloaterTexturePicker::findItemID(const LLUUID& asset_id, BOOL co
 
 PermissionMask LLFloaterTexturePicker::getFilterPermMask()
 {
-	bool apply_immediate = childGetValue("apply_immediate_check").asBoolean();
+	bool apply_immediate = getChild<LLUICtrl>("apply_immediate_check")->getValue().asBoolean();
 	return apply_immediate ? mImmediateFilterPermMask : mNonImmediateFilterPermMask;
 }
 
 void LLFloaterTexturePicker::commitIfImmediateSet()
 {
-	bool apply_immediate = childGetValue("apply_immediate_check").asBoolean();
+	bool apply_immediate = getChild<LLUICtrl>("apply_immediate_check")->getValue().asBoolean();
 	if (!mNoCopyTextureSelected && apply_immediate && mOwner)
 	{
 		mOwner->onFloaterCommit(LLTextureCtrl::TEXTURE_CHANGE);
@@ -730,7 +730,7 @@ void LLFloaterTexturePicker::onBtnSelect(void* userdata)
 
 void LLFloaterTexturePicker::onBtnPipette()
 {
-	BOOL pipette_active = childGetValue("Pipette").asBoolean();
+	BOOL pipette_active = getChild<LLUICtrl>("Pipette")->getValue().asBoolean();
 	pipette_active = !pipette_active;
 	if (pipette_active)
 	{
diff --git a/indra/newview/lltoastgroupnotifypanel.cpp b/indra/newview/lltoastgroupnotifypanel.cpp
index 7eac3867d5dd3d1b32a1ebe478fc4d968e55a559..57b80fc792291af749ffa50c539ec31e317f3783 100644
--- a/indra/newview/lltoastgroupnotifypanel.cpp
+++ b/indra/newview/lltoastgroupnotifypanel.cpp
@@ -130,7 +130,7 @@ LLToastGroupNotifyPanel::LLToastGroupNotifyPanel(LLNotificationPtr& notification
 		pAttachLink->setValue(payload["inventory_name"]);
 
 		mInventoryOffer = new LLOfferInfo(payload["inventory_offer"]);
-		childSetActionTextbox("attachment", boost::bind(
+		getChild<LLTextBox>("attachment")->setClickedCallback(boost::bind(
 				&LLToastGroupNotifyPanel::onClickAttachment, this));
 
 		LLUIImagePtr attachIconImg = LLInventoryIcon::getIcon(mInventoryOffer->mType,
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 95c4f01e4698acab8db68faafb00f97cd27fddbd..f9e7191b213f1b965d6b1f741f4d473fa9604a15 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -1561,7 +1561,7 @@ BOOL LLToolPie::pickRightMouseDownCallback()
 				mute_msg = LLTrans::getString("MuteObject2");
 			}
 			
-			gMenuHolder->childSetText("Object Mute", mute_msg);
+			gMenuHolder->getChild<LLUICtrl>("Object Mute")->setValue(mute_msg);
 			gMenuObject->show(x, y);
 
 			showVisualContextMenuEffect();
diff --git a/indra/newview/llviewchildren.cpp b/indra/newview/llviewchildren.cpp
index 41eafa871d04610e3292611c0e0f352adb3a719c..b86e0ac44130ccbc36ecd1671f68885bbe6d37f4 100644
--- a/indra/newview/llviewchildren.cpp
+++ b/indra/newview/llviewchildren.cpp
@@ -55,12 +55,12 @@ LLViewChildren::LLViewChildren(LLPanel& parent)
 
 void LLViewChildren::show(const std::string& id, bool visible)
 {
-	mParent.childSetVisible(id, visible);
+	mParent.getChildView(id)->setVisible(visible);
 }
 
 void LLViewChildren::enable(const std::string& id, bool enabled)
 {
-	mParent.childSetEnabled(id, enabled);
+	mParent.getChildView(id)->setEnabled(enabled);
 }
 
 void LLViewChildren::setText(
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index b3fc0df1bf1c26a920a64805682e4e8d5423e82a..82143f656dcecaff70b34585e760b1a407f3204f 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -327,11 +327,11 @@ LLMenuParcelObserver::~LLMenuParcelObserver()
 
 void LLMenuParcelObserver::changed()
 {
-	gMenuHolder->childSetEnabled("Land Buy Pass", LLPanelLandGeneral::enableBuyPass(NULL));
+	gMenuHolder->getChildView("Land Buy Pass")->setEnabled(LLPanelLandGeneral::enableBuyPass(NULL));
 	
 	BOOL buyable = enable_buy_land(NULL);
-	gMenuHolder->childSetEnabled("Land Buy", buyable);
-	gMenuHolder->childSetEnabled("Buy Land...", buyable);
+	gMenuHolder->getChildView("Land Buy")->setEnabled(buyable);
+	gMenuHolder->getChildView("Buy Land...")->setEnabled(buyable);
 }
 
 
@@ -451,10 +451,10 @@ void init_menus()
 	// Assume L$10 for now, the server will tell us the real cost at login
 	// *TODO:Also fix cost in llfolderview.cpp for Inventory menus
 	const std::string upload_cost("10");
-	gMenuHolder->childSetLabelArg("Upload Image", "[COST]", upload_cost);
-	gMenuHolder->childSetLabelArg("Upload Sound", "[COST]", upload_cost);
-	gMenuHolder->childSetLabelArg("Upload Animation", "[COST]", upload_cost);
-	gMenuHolder->childSetLabelArg("Bulk Upload", "[COST]", upload_cost);
+	gMenuHolder->getChild<LLUICtrl>("Upload Image")->setLabelArg("[COST]", upload_cost);
+	gMenuHolder->getChild<LLUICtrl>("Upload Sound")->setLabelArg("[COST]", upload_cost);
+	gMenuHolder->getChild<LLUICtrl>("Upload Animation")->setLabelArg("[COST]", upload_cost);
+	gMenuHolder->getChild<LLUICtrl>("Bulk Upload")->setLabelArg("[COST]", upload_cost);
 
 	gAFKMenu = gMenuBarView->getChild<LLMenuItemCallGL>("Set Away", TRUE);
 	gBusyMenu = gMenuBarView->getChild<LLMenuItemCallGL>("Set Busy", TRUE);
@@ -2423,8 +2423,8 @@ class LLObjectEnableTouch : public view_listener_t
 		{
 			touch_text = userdata.asString();
 		}
-		gMenuHolder->childSetText("Object Touch", touch_text);
-		gMenuHolder->childSetText("Attachment Object Touch", touch_text);
+		gMenuHolder->getChild<LLUICtrl>("Object Touch")->setValue(touch_text);
+		gMenuHolder->getChild<LLUICtrl>("Attachment Object Touch")->setValue(touch_text);
 
 		return new_value;
 	}
@@ -7668,7 +7668,7 @@ class LLUploadCostCalculator : public view_listener_t
 	bool handleEvent(const LLSD& userdata)
 	{
 		std::string menu_name = userdata.asString();
-		gMenuHolder->childSetLabelArg(menu_name, "[COST]", mCostStr);
+		gMenuHolder->getChildView(menu_name)->setLabelArg("[COST]", mCostStr);
 
 		return true;
 	}
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 2b6eadcc040da2fb95894deb46c85c1402df35ac..6d447aeccae6f22d219e46f7a34d8e6fa41a3512 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -5303,10 +5303,10 @@ void process_economy_data(LLMessageSystem *msg, void** /*user_data*/)
 
 	LL_INFOS_ONCE("Messaging") << "EconomyData message arrived; upload cost is L$" << upload_cost << LL_ENDL;
 
-	gMenuHolder->childSetLabelArg("Upload Image", "[COST]", llformat("%d", upload_cost));
-	gMenuHolder->childSetLabelArg("Upload Sound", "[COST]", llformat("%d", upload_cost));
-	gMenuHolder->childSetLabelArg("Upload Animation", "[COST]", llformat("%d", upload_cost));
-	gMenuHolder->childSetLabelArg("Bulk Upload", "[COST]", llformat("%d", upload_cost));
+	gMenuHolder->getChild<LLUICtrl>("Upload Image")->setLabelArg("[COST]", llformat("%d", upload_cost));
+	gMenuHolder->getChild<LLUICtrl>("Upload Sound")->setLabelArg("[COST]", llformat("%d", upload_cost));
+	gMenuHolder->getChild<LLUICtrl>("Upload Animation")->setLabelArg("[COST]", llformat("%d", upload_cost));
+	gMenuHolder->getChild<LLUICtrl>("Bulk Upload")->setLabelArg("[COST]", llformat("%d", upload_cost));
 }
 
 void notify_cautioned_script_question(const LLSD& notification, const LLSD& response, S32 orig_questions, BOOL granted)