diff options
| author | Vadim Savchuk <vsavchuk@productengine.com> | 2010-08-02 19:46:42 +0300 | 
|---|---|---|
| committer | Vadim Savchuk <vsavchuk@productengine.com> | 2010-08-02 19:46:42 +0300 | 
| commit | 4104ba0a3d7aabbec3bb0df1ce233bee4a22496a (patch) | |
| tree | 2189b853f4dfe99435048241bda6c3959b31f695 | |
| parent | 9fcfa8277b5ab6177a5ed54418c545776dea2fc5 (diff) | |
| parent | 5b7031dd83bea0f3201fd45d55ef896227f399ce (diff) | |
Manual merge from default branch. Resolved conflicts in indra/newview/llfloatercamera.cpp.
--HG--
branch : product-engine
151 files changed, 4108 insertions, 3708 deletions
diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp index 2240a2146c..d6c062fc5e 100644 --- a/indra/llrender/llfontgl.cpp +++ b/indra/llrender/llfontgl.cpp @@ -147,6 +147,8 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, const LLRect& rect  S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, const LLColor4 &color, HAlign halign, VAlign valign, U8 style,   					 ShadowType shadow, S32 max_chars, S32 max_pixels, F32* right_x, BOOL use_ellipses) const  { +	LLFastTimer _(FTM_RENDER_FONTS); +  	if(!sDisplayFont) //do not display texts  	{  		return wstr.length() ; @@ -193,9 +195,6 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons  	origin.mV[VX] -= llround((F32)sCurOrigin.mX) - (sCurOrigin.mX);  	origin.mV[VY] -= llround((F32)sCurOrigin.mY) - (sCurOrigin.mY); -	LLFastTimer t(FTM_RENDER_FONTS); - -	gGL.color4fv( color.mV );  	S32 chars_drawn = 0;  	S32 i; @@ -286,6 +285,9 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons  	LLVector2 uvs[GLYPH_BATCH_SIZE * 4];  	LLColor4U colors[GLYPH_BATCH_SIZE * 4]; +	LLColor4U text_color(color); + +	S32 bitmap_num = -1;  	S32 glyph_count = 0;  	for (i = begin_offset; i < begin_offset + length; i++)  	{ @@ -303,8 +305,13 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons  			break;  		}  		// Per-glyph bitmap texture. -		LLImageGL *image_gl = mFontFreetype->getFontBitmapCache()->getImageGL(fgi->mBitmapNum); -		gGL.getTexUnit(0)->bind(image_gl); +		S32 next_bitmap_num = fgi->mBitmapNum; +		if (next_bitmap_num != bitmap_num) +		{ +			bitmap_num = next_bitmap_num; +			LLImageGL *font_image = font_bitmap_cache->getImageGL(bitmap_num); +			gGL.getTexUnit(0)->bind(font_image); +		}  		if ((start_x + scaled_max_pixels) < (cur_x + fgi->mXBearing + fgi->mWidth))  		{ @@ -335,7 +342,7 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons  			glyph_count = 0;  		} -		drawGlyph(glyph_count, vertices, uvs, colors, screen_rect, uv_rect, color, style_to_add, shadow, drop_shadow_strength); +		drawGlyph(glyph_count, vertices, uvs, colors, screen_rect, uv_rect, text_color, style_to_add, shadow, drop_shadow_strength);  		chars_drawn++;  		cur_x += fgi->mXAdvance; @@ -1145,7 +1152,6 @@ void LLFontGL::renderQuad(LLVector3* vertex_out, LLVector2* uv_out, LLColor4U* c  	colors_out[index] = color;  } -//FIXME: do colors out as well  void LLFontGL::drawGlyph(S32& glyph_count, LLVector3* vertex_out, LLVector2* uv_out, LLColor4U* colors_out, const LLRectf& screen_rect, const LLRectf& uv_rect, const LLColor4U& color, U8 style, ShadowType shadow, F32 drop_shadow_strength) const  {  	F32 slant_offset; @@ -1199,8 +1205,8 @@ void LLFontGL::drawGlyph(S32& glyph_count, LLVector3* vertex_out, LLVector2* uv_  	}  	else if (shadow == DROP_SHADOW)  	{ -		LLColor4 shadow_color = LLFontGL::sShadowColor; -		shadow_color.mV[VALPHA] = color.mV[VALPHA] * drop_shadow_strength; +		LLColor4U shadow_color = LLFontGL::sShadowColor; +		shadow_color.mV[VALPHA] = U8(color.mV[VALPHA] * drop_shadow_strength);  		LLRectf screen_rect_shadow = screen_rect;  		screen_rect_shadow.translate(1.f, -1.f);  		renderQuad(&vertex_out[glyph_count * 4], &uv_out[glyph_count * 4], &colors_out[glyph_count * 4], screen_rect_shadow, uv_rect, shadow_color, slant_offset); diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index 7ff68fe34b..236594d602 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -1122,7 +1122,7 @@ void clear_glerror()  //  // Static members -std::map<LLGLenum, LLGLboolean> LLGLState::sStateMap; +boost::unordered_map<LLGLenum, LLGLboolean> LLGLState::sStateMap;  GLboolean LLGLDepthTest::sDepthEnabled = GL_FALSE; // OpenGL default  GLenum LLGLDepthTest::sDepthFunc = GL_LESS; // OpenGL default @@ -1170,7 +1170,7 @@ void LLGLState::resetTextureStates()  void LLGLState::dumpStates()   {  	LL_INFOS("RenderState") << "GL States:" << LL_ENDL; -	for (std::map<LLGLenum, LLGLboolean>::iterator iter = sStateMap.begin(); +	for (boost::unordered_map<LLGLenum, LLGLboolean>::iterator iter = sStateMap.begin();  		 iter != sStateMap.end(); ++iter)  	{  		LL_INFOS("RenderState") << llformat(" 0x%04x : %s",(S32)iter->first,iter->second?"TRUE":"FALSE") << LL_ENDL; @@ -1206,7 +1206,7 @@ void LLGLState::checkStates(const std::string& msg)  		}  	} -	for (std::map<LLGLenum, LLGLboolean>::iterator iter = sStateMap.begin(); +	for (boost::unordered_map<LLGLenum, LLGLboolean>::iterator iter = sStateMap.begin();  		 iter != sStateMap.end(); ++iter)  	{  		LLGLenum state = iter->first; diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h index 0c2da7dd08..c4f5d91e1a 100644 --- a/indra/llrender/llgl.h +++ b/indra/llrender/llgl.h @@ -36,7 +36,7 @@  // This file contains various stuff for handling gl extensions and other gl related stuff.  #include <string> -#include <map> +#include <boost/unordered_map.hpp>  #include <list>  #include "llerror.h" @@ -241,7 +241,7 @@ public:  	static void checkClientArrays(const std::string& msg = "", U32 data_mask = 0x0001);  protected: -	static std::map<LLGLenum, LLGLboolean> sStateMap; +	static boost::unordered_map<LLGLenum, LLGLboolean> sStateMap;  public:  	enum { CURRENT_STATE = -2 }; diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index aeedf62379..5a4f0515fc 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -120,6 +120,7 @@ LLButton::LLButton(const LLButton::Params& p)  	mFlashing( FALSE ),  	mCurGlowStrength(0.f),  	mNeedsHighlight(FALSE), +	mMouseOver(false),  	mUnselectedLabel(p.label()),  	mSelectedLabel(p.label_selected()),  	mGLFont(p.font), @@ -504,7 +505,11 @@ void LLButton::onMouseEnter(S32 x, S32 y, MASK mask)  	LLUICtrl::onMouseEnter(x, y, mask);  	if (isInEnabledChain()) +	{  		mNeedsHighlight = TRUE; +	} + +	mMouseOver = true;  }  void LLButton::onMouseLeave(S32 x, S32 y, MASK mask) @@ -512,6 +517,7 @@ void LLButton::onMouseLeave(S32 x, S32 y, MASK mask)  	LLUICtrl::onMouseLeave(x, y, mask);  	mNeedsHighlight = FALSE; +	mMouseOver = true;  }  void LLButton::setHighlight(bool b) @@ -565,14 +571,10 @@ void LLButton::draw()  	}  	// Unselected image assignments -	S32 local_mouse_x; -	S32 local_mouse_y; -	LLUI::getMousePositionLocal(this, &local_mouse_x, &local_mouse_y); -  	bool enabled = isInEnabledChain();  	bool pressed = pressed_by_keyboard  -					|| (hasMouseCapture() && pointInView(local_mouse_x, local_mouse_y)) +					|| (hasMouseCapture() && mMouseOver)  					|| mForcePressedState;  	bool selected = getToggleState(); diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index f4af19b696..5f25084b35 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -356,6 +356,7 @@ private:  	BOOL						mCommitOnReturn;  	BOOL						mFadeWhenDisabled;  	bool						mForcePressedState; +	bool						mMouseOver;  	LLFrameTimer				mFlashingTimer;  }; diff --git a/indra/llui/llcallbackmap.h b/indra/llui/llcallbackmap.h index 97b1e2fc50..60c4fc6b6d 100644 --- a/indra/llui/llcallbackmap.h +++ b/indra/llui/llcallbackmap.h @@ -35,12 +35,13 @@  #include <map>  #include <string> +#include <boost/function.hpp>  class LLCallbackMap  {  public:  	// callback definition. -	typedef void* (*callback_t)(void* data); +	typedef boost::function<void* (void* data)> callback_t;  	typedef std::map<std::string, LLCallbackMap> map_t;  	typedef map_t::iterator map_iter_t; diff --git a/indra/llui/lllocalcliprect.cpp b/indra/llui/lllocalcliprect.cpp index 55329f64e4..805d5879f7 100644 --- a/indra/llui/lllocalcliprect.cpp +++ b/indra/llui/lllocalcliprect.cpp @@ -45,9 +45,9 @@ LLScreenClipRect::LLScreenClipRect(const LLRect& rect, BOOL enabled)  	if (mEnabled)  	{  		pushClipRect(rect); +		mScissorState.setEnabled(!sClipRectStack.empty()); +		updateScissorRegion();  	} -	mScissorState.setEnabled(!sClipRectStack.empty()); -	updateScissorRegion();  }  LLScreenClipRect::~LLScreenClipRect() @@ -55,8 +55,8 @@ LLScreenClipRect::~LLScreenClipRect()  	if (mEnabled)  	{  		popClipRect(); +		updateScissorRegion();  	} -	updateScissorRegion();  }  //static  diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 8610d79142..12007f7b52 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -928,6 +928,15 @@ void LLMenuItemCheckGL::setValue(const LLSD& value)  	}  } +//virtual +LLSD LLMenuItemCheckGL::getValue() const +{ +	// Get our boolean value from the view model. +	// If we don't override this method then the implementation from +	// LLMenuItemGL will return a string. (EXT-8501) +	return LLUICtrl::getValue(); +} +  // called to rebuild the draw label  void LLMenuItemCheckGL::buildDrawLabel( void )  { diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h index a484405eaa..bf40163dac 100644 --- a/indra/llui/llmenugl.h +++ b/indra/llui/llmenugl.h @@ -322,6 +322,7 @@ public:  	virtual void onCommit( void );  	virtual void setValue(const LLSD& value); +	virtual LLSD getValue() const;  	// called to rebuild the draw label  	virtual void buildDrawLabel( void ); diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp index 9ebdcb87c6..0f769bd6dc 100644 --- a/indra/llui/llpanel.cpp +++ b/indra/llui/llpanel.cpp @@ -661,7 +661,7 @@ void LLPanel::childSetEnabled(const std::string& id, bool enabled)  void LLPanel::childSetTentative(const std::string& id, bool tentative)  { -	LLView* child = findChild<LLView>(id); +	LLUICtrl* child = findChild<LLUICtrl>(id);  	if (child)  	{  		child->setTentative(tentative); @@ -860,13 +860,16 @@ LLPanel *LLPanel::childGetVisibleTab(const std::string& id) const  	return NULL;  } -static LLPanel *childGetVisibleTabWithHelp(LLView *parent) +LLPanel* LLPanel::childGetVisibleTabWithHelp()  {  	LLView *child; -	// look through immediate children first for an active tab with help -	for (child = parent->getFirstChild(); child; child = parent->findNextSibling(child)) +	bfs_tree_iterator_t it = beginTreeBFS(); +	// skip ourselves +	++it; +	for (; it != endTreeBFS(); ++it)  	{ +		child = *it;  		LLPanel *curTabPanel = NULL;  		// do we have a tab container? @@ -890,36 +893,21 @@ static LLPanel *childGetVisibleTabWithHelp(LLView *parent)  		}  	} -	// then try a bit harder and recurse through all children -	for (child = parent->getFirstChild(); child; child = parent->findNextSibling(child)) -	{ -		if (child->getVisible()) -		{ -			LLPanel* tab = ::childGetVisibleTabWithHelp(child); -			if (tab) -			{ -				return tab; -			} -		} -	} -  	// couldn't find any active tabs with a help topic string  	return NULL;  } -LLPanel *LLPanel::childGetVisibleTabWithHelp() -{ -	// find a visible tab with a help topic (to determine help context) -	return ::childGetVisibleTabWithHelp(this); -} -static LLPanel *childGetVisiblePanelWithHelp(LLView *parent) +LLPanel *LLPanel::childGetVisiblePanelWithHelp()  {  	LLView *child; -	// look through immediate children first for an active panel with help -	for (child = parent->getFirstChild(); child; child = parent->findNextSibling(child)) +	bfs_tree_iterator_t it = beginTreeBFS(); +	// skip ourselves +	++it; +	for (; it != endTreeBFS(); ++it)  	{ +		child = *it;  		// do we have a panel with a help topic?  		LLPanel *panel = dynamic_cast<LLPanel *>(child);  		if (panel && panel->getVisible() && !panel->getHelpTopic().empty()) @@ -928,39 +916,19 @@ static LLPanel *childGetVisiblePanelWithHelp(LLView *parent)  		}  	} -	// then try a bit harder and recurse through all children -	for (child = parent->getFirstChild(); child; child = parent->findNextSibling(child)) -	{ -		if (child->getVisible()) -		{ -			LLPanel* panel = ::childGetVisiblePanelWithHelp(child); -			if (panel) -			{ -				return panel; -			} -		} -	} -  	// couldn't find any active panels with a help topic string  	return NULL;  } -LLPanel *LLPanel::childGetVisiblePanelWithHelp() +void LLPanel::childSetAction(const std::string& id, const commit_signal_t::slot_type& function)  { -	// find a visible tab with a help topic (to determine help context) -	return ::childGetVisiblePanelWithHelp(this); -} - -void LLPanel::childSetPrevalidate(const std::string& id, bool (*func)(const LLWString &) ) -{ -	LLLineEditor* child = findChild<LLLineEditor>(id); -	if (child) +	LLButton* button = findChild<LLButton>(id); +	if (button)  	{ -		child->setPrevalidate(func); +		button->setClickedCallback(function);  	}  } -  void LLPanel::childSetAction(const std::string& id, boost::function<void(void*)> function, void* value)  {  	LLButton* button = findChild<LLButton>(id); diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h index 03e3dc0c0e..784054cd86 100644 --- a/indra/llui/llpanel.h +++ b/indra/llui/llpanel.h @@ -170,6 +170,7 @@ public:  	std::string getString(const std::string& name) const;  	// ** Wrappers for setting child properties by name ** -TomY +	// WARNING: These are deprecated, please use getChild<T>("name")->doStuff() idiom instead  	// LLView  	void childSetVisible(const std::string& name, bool visible); @@ -233,7 +234,8 @@ public:  	void childSetPrevalidate(const std::string& id, bool (*func)(const LLWString &) );  	// LLButton -	void childSetAction(const std::string& id, boost::function<void(void*)> function, void* value = NULL); +	void childSetAction(const std::string& id, boost::function<void(void*)> function, void* value); +	void childSetAction(const std::string& id, const commit_signal_t::slot_type& function);  	// LLTextBox  	void childSetActionTextbox(const std::string& id, boost::function<void(void*)> function, void* value = NULL); diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 4bcf7e6980..cde08c7b19 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -1495,24 +1495,32 @@ void LLTextBase::getSegmentAndOffset( S32 startpos, segment_set_t::iterator* seg  LLTextBase::segment_set_t::iterator LLTextBase::getSegIterContaining(S32 index)  { +	static LLPointer<LLIndexSegment> index_segment = new LLIndexSegment(); +  	if (index > getLength()) { return mSegments.end(); }  	// when there are no segments, we return the end iterator, which must be checked by caller  	if (mSegments.size() <= 1) { return mSegments.begin(); }  	//FIXME: avoid operator new somehow (without running into refcount problems) -	segment_set_t::iterator it = mSegments.upper_bound(new LLIndexSegment(index)); +	index_segment->setStart(index); +	index_segment->setEnd(index); +	segment_set_t::iterator it = mSegments.upper_bound(index_segment);  	return it;  }  LLTextBase::segment_set_t::const_iterator LLTextBase::getSegIterContaining(S32 index) const  { +	static LLPointer<LLIndexSegment> index_segment = new LLIndexSegment(); +  	if (index > getLength()) { return mSegments.end(); }  	// when there are no segments, we return the end iterator, which must be checked by caller  	if (mSegments.size() <= 1) { return mSegments.begin(); } -	LLTextBase::segment_set_t::const_iterator it =  mSegments.upper_bound(new LLIndexSegment(index)); +	index_segment->setStart(index); +	index_segment->setEnd(index); +	LLTextBase::segment_set_t::const_iterator it =  mSegments.upper_bound(index_segment);  	return it;  } diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h index 4b83d5effb..db010d1cf6 100644 --- a/indra/llui/lltextbase.h +++ b/indra/llui/lltextbase.h @@ -163,7 +163,7 @@ protected:  class LLIndexSegment : public LLTextSegment  {  public: -	LLIndexSegment(S32 pos) : LLTextSegment(pos, pos) {} +	LLIndexSegment() : LLTextSegment(0, 0) {}  };  class LLInlineViewSegment : public LLTextSegment diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp index 6781c23416..482a53e4af 100644 --- a/indra/llui/lltexteditor.cpp +++ b/indra/llui/lltexteditor.cpp @@ -461,8 +461,13 @@ S32 LLTextEditor::nextWordPos(S32 cursorPos) const  const LLTextSegmentPtr	LLTextEditor::getPreviousSegment() const  { +	static LLPointer<LLIndexSegment> index_segment = new LLIndexSegment; + +	index_segment->setStart(mCursorPos); +	index_segment->setEnd(mCursorPos); +  	// find segment index at character to left of cursor (or rightmost edge of selection) -	segment_set_t::const_iterator it = mSegments.lower_bound(new LLIndexSegment(mCursorPos)); +	segment_set_t::const_iterator it = mSegments.lower_bound(index_segment);  	if (it != mSegments.end())  	{ diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index 7f9dca08d2..ee308f575a 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -466,7 +466,7 @@ void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 border_width, S32 border  	gl_draw_scaled_image_with_border(x, y, width, height, image, color, solid_color, uv_rect, scale_rect);  } -void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTexture* image, const LLColor4& color, BOOL solid_color, const LLRectf& uv_rect, const LLRectf& scale_rect) +void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTexture* image, const LLColor4& color, BOOL solid_color, const LLRectf& uv_outer_rect, const LLRectf& center_rect)  {  	stop_glerror(); @@ -476,36 +476,53 @@ void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTex  		return;  	} +	// add in offset of current image to current ui translation +	const LLVector3 ui_translation = gGL.getUITranslation() + LLVector3(x, y, 0.f); +	const LLVector3 ui_scale = gGL.getUIScale(); + +	F32 uv_width = uv_outer_rect.getWidth(); +	F32 uv_height = uv_outer_rect.getHeight(); +  	// shrink scaling region to be proportional to clipped image region -	LLRectf scale_rect_uv( -		uv_rect.mLeft + (scale_rect.mLeft * uv_rect.getWidth()), -		uv_rect.mBottom + (scale_rect.mTop * uv_rect.getHeight()), -		uv_rect.mLeft + (scale_rect.mRight * uv_rect.getWidth()), -		uv_rect.mBottom + (scale_rect.mBottom * uv_rect.getHeight())); - -	S32 image_natural_width = llround((F32)image->getWidth(0) * uv_rect.getWidth()); -	S32 image_natural_height = llround((F32)image->getHeight(0) * uv_rect.getHeight()); - -	LLRect draw_rect(0, height, width, 0); -	LLRect draw_scale_rect(llround(scale_rect_uv.mLeft * (F32)image->getWidth(0)), -						llround(scale_rect_uv.mTop * (F32)image->getHeight(0)), -						llround(scale_rect_uv.mRight * (F32)image->getWidth(0)), -						llround(scale_rect_uv.mBottom * (F32)image->getHeight(0))); -	// scale fixed region of image to drawn region -	draw_scale_rect.mRight += width - image_natural_width; -	draw_scale_rect.mTop += height - image_natural_height; - -	S32 border_shrink_width = llmax(0, draw_scale_rect.mLeft - draw_scale_rect.mRight); -	S32 border_shrink_height = llmax(0, draw_scale_rect.mBottom - draw_scale_rect.mTop); - -	F32 shrink_width_ratio = scale_rect.getWidth() == 1.f ? 0.f : border_shrink_width / ((F32)image_natural_width * (1.f - scale_rect.getWidth())); -	F32 shrink_height_ratio = scale_rect.getHeight() == 1.f ? 0.f : border_shrink_height / ((F32)image_natural_height * (1.f - scale_rect.getHeight())); - -	F32 shrink_scale = 1.f - llmax(shrink_width_ratio, shrink_height_ratio); -	draw_scale_rect.mLeft = llround((F32)draw_scale_rect.mLeft * shrink_scale); -	draw_scale_rect.mTop = llround(lerp((F32)height, (F32)draw_scale_rect.mTop, shrink_scale)); -	draw_scale_rect.mRight = llround(lerp((F32)width, (F32)draw_scale_rect.mRight, shrink_scale)); -	draw_scale_rect.mBottom = llround((F32)draw_scale_rect.mBottom * shrink_scale); +	LLRectf uv_center_rect( +		uv_outer_rect.mLeft + (center_rect.mLeft * uv_width), +		uv_outer_rect.mBottom + (center_rect.mTop * uv_height), +		uv_outer_rect.mLeft + (center_rect.mRight * uv_width), +		uv_outer_rect.mBottom + (center_rect.mBottom * uv_height)); + +	F32 image_width = image->getWidth(0); +	F32 image_height = image->getHeight(0); + +	S32 image_natural_width = llround(image_width * uv_width); +	S32 image_natural_height = llround(image_height * uv_height); + +	LLRectf draw_center_rect(	uv_center_rect.mLeft * image_width, +								uv_center_rect.mTop * image_height, +								uv_center_rect.mRight * image_width, +								uv_center_rect.mBottom * image_height); + +	{	// scale fixed region of image to drawn region +		draw_center_rect.mRight += width - image_natural_width; +		draw_center_rect.mTop += height - image_natural_height; + +		F32 border_shrink_width = llmax(0.f, draw_center_rect.mLeft - draw_center_rect.mRight); +		F32 border_shrink_height = llmax(0.f, draw_center_rect.mBottom - draw_center_rect.mTop); + +		F32 shrink_width_ratio = center_rect.getWidth() == 1.f ? 0.f : border_shrink_width / ((F32)image_natural_width * (1.f - center_rect.getWidth())); +		F32 shrink_height_ratio = center_rect.getHeight() == 1.f ? 0.f : border_shrink_height / ((F32)image_natural_height * (1.f - center_rect.getHeight())); + +		F32 shrink_scale = 1.f - llmax(shrink_width_ratio, shrink_height_ratio); + +		draw_center_rect.mLeft = llround(ui_translation.mV[VX] + (F32)draw_center_rect.mLeft * shrink_scale * ui_scale.mV[VX]); +		draw_center_rect.mTop = llround(ui_translation.mV[VY] + lerp((F32)height, (F32)draw_center_rect.mTop, shrink_scale * ui_scale.mV[VY])); +		draw_center_rect.mRight = llround(ui_translation.mV[VX] + lerp((F32)width, (F32)draw_center_rect.mRight, shrink_scale * ui_scale.mV[VX])); +		draw_center_rect.mBottom = llround(ui_translation.mV[VY] + (F32)draw_center_rect.mBottom * shrink_scale * ui_scale.mV[VY]); +	} + +	LLRectf draw_outer_rect(ui_translation.mV[VX],  +							ui_translation.mV[VY] + height * ui_scale.mV[VY],  +							ui_translation.mV[VX] + width * ui_scale.mV[VX],  +							ui_translation.mV[VY]);  	LLGLSUIDefault gls_ui; @@ -515,136 +532,174 @@ void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTex  		gGL.getTexUnit(0)->setTextureAlphaBlend(LLTexUnit::TBO_MULT, LLTexUnit::TBS_TEX_ALPHA, LLTexUnit::TBS_VERT_ALPHA);  	} -	gGL.pushUIMatrix(); -	{ -		gGL.translateUI((F32)x, (F32)y, 0.f); +	gGL.getTexUnit(0)->bind(image); -		gGL.getTexUnit(0)->bind(image); +	gGL.color4fv(color.mV); +	 +	const S32 NUM_VERTICES = 9 * 4; // 9 quads +	LLVector2 uv[NUM_VERTICES]; +	LLVector3 pos[NUM_VERTICES]; -		gGL.color4fv(color.mV); -		 -		gGL.begin(LLRender::QUADS); -		{ -			// draw bottom left -			gGL.texCoord2f(uv_rect.mLeft, uv_rect.mBottom); -			gGL.vertex2i(0, 0); +	S32 index = 0; -			gGL.texCoord2f(scale_rect_uv.mLeft, uv_rect.mBottom); -			gGL.vertex2i(draw_scale_rect.mLeft, 0); +	gGL.begin(LLRender::QUADS); +	{ +		// draw bottom left +		uv[index] = LLVector2(uv_outer_rect.mLeft, uv_outer_rect.mBottom); +		pos[index] = LLVector3(draw_outer_rect.mLeft, draw_outer_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mLeft, scale_rect_uv.mBottom); -			gGL.vertex2i(draw_scale_rect.mLeft, draw_scale_rect.mBottom); +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_outer_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_outer_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(uv_rect.mLeft, scale_rect_uv.mBottom); -			gGL.vertex2i(0, draw_scale_rect.mBottom); +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_center_rect.mBottom, 0.f); +		index++; -			// draw bottom middle -			gGL.texCoord2f(scale_rect_uv.mLeft, uv_rect.mBottom); -			gGL.vertex2i(draw_scale_rect.mLeft, 0); +		uv[index] = LLVector2(uv_outer_rect.mLeft, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_outer_rect.mLeft, draw_center_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mRight, uv_rect.mBottom); -			gGL.vertex2i(draw_scale_rect.mRight, 0); +		// draw bottom middle +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_outer_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_outer_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mRight, scale_rect_uv.mBottom); -			gGL.vertex2i(draw_scale_rect.mRight, draw_scale_rect.mBottom); +		uv[index] = LLVector2(uv_center_rect.mRight, uv_outer_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_outer_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mLeft, scale_rect_uv.mBottom); -			gGL.vertex2i(draw_scale_rect.mLeft, draw_scale_rect.mBottom); +		uv[index] = LLVector2(uv_center_rect.mRight, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_center_rect.mBottom, 0.f); +		index++; -			// draw bottom right -			gGL.texCoord2f(scale_rect_uv.mRight, uv_rect.mBottom); -			gGL.vertex2i(draw_scale_rect.mRight, 0); +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_center_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(uv_rect.mRight, uv_rect.mBottom); -			gGL.vertex2i(width, 0); +		// draw bottom right +		uv[index] = LLVector2(uv_center_rect.mRight, uv_outer_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_outer_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(uv_rect.mRight, scale_rect_uv.mBottom); -			gGL.vertex2i(width, draw_scale_rect.mBottom); +		uv[index] = LLVector2(uv_outer_rect.mRight, uv_outer_rect.mBottom); +		pos[index] = LLVector3(draw_outer_rect.mRight, draw_outer_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mRight, scale_rect_uv.mBottom); -			gGL.vertex2i(draw_scale_rect.mRight, draw_scale_rect.mBottom); +		uv[index] = LLVector2(uv_outer_rect.mRight, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_outer_rect.mRight, draw_center_rect.mBottom, 0.f); +		index++; -			// draw left  -			gGL.texCoord2f(uv_rect.mLeft, scale_rect_uv.mBottom); -			gGL.vertex2i(0, draw_scale_rect.mBottom); +		uv[index] = LLVector2(uv_center_rect.mRight, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_center_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mLeft, scale_rect_uv.mBottom); -			gGL.vertex2i(draw_scale_rect.mLeft, draw_scale_rect.mBottom); +		// draw left  +		uv[index] = LLVector2(uv_outer_rect.mLeft, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_outer_rect.mLeft, draw_center_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mLeft, scale_rect_uv.mTop); -			gGL.vertex2i(draw_scale_rect.mLeft, draw_scale_rect.mTop); +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_center_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(uv_rect.mLeft, scale_rect_uv.mTop); -			gGL.vertex2i(0, draw_scale_rect.mTop); +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_center_rect.mTop, 0.f); +		index++; -			// draw middle -			gGL.texCoord2f(scale_rect_uv.mLeft, scale_rect_uv.mBottom); -			gGL.vertex2i(draw_scale_rect.mLeft, draw_scale_rect.mBottom); +		uv[index] = LLVector2(uv_outer_rect.mLeft, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_outer_rect.mLeft, draw_center_rect.mTop, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mRight, scale_rect_uv.mBottom); -			gGL.vertex2i(draw_scale_rect.mRight, draw_scale_rect.mBottom); +		// draw middle +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_center_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mRight, scale_rect_uv.mTop); -			gGL.vertex2i(draw_scale_rect.mRight, draw_scale_rect.mTop); +		uv[index] = LLVector2(uv_center_rect.mRight, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_center_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mLeft, scale_rect_uv.mTop); -			gGL.vertex2i(draw_scale_rect.mLeft, draw_scale_rect.mTop); +		uv[index] = LLVector2(uv_center_rect.mRight, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_center_rect.mTop, 0.f); +		index++; -			// draw right  -			gGL.texCoord2f(scale_rect_uv.mRight, scale_rect_uv.mBottom); -			gGL.vertex2i(draw_scale_rect.mRight, draw_scale_rect.mBottom); +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_center_rect.mTop, 0.f); +		index++; -			gGL.texCoord2f(uv_rect.mRight, scale_rect_uv.mBottom); -			gGL.vertex2i(width, draw_scale_rect.mBottom); +		// draw right  +		uv[index] = LLVector2(uv_center_rect.mRight, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_center_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(uv_rect.mRight, scale_rect_uv.mTop); -			gGL.vertex2i(width, draw_scale_rect.mTop); +		uv[index] = LLVector2(uv_outer_rect.mRight, uv_center_rect.mBottom); +		pos[index] = LLVector3(draw_outer_rect.mRight, draw_center_rect.mBottom, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mRight, scale_rect_uv.mTop); -			gGL.vertex2i(draw_scale_rect.mRight, draw_scale_rect.mTop); +		uv[index] = LLVector2(uv_outer_rect.mRight, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_outer_rect.mRight, draw_center_rect.mTop, 0.f); +		index++; -			// draw top left -			gGL.texCoord2f(uv_rect.mLeft, scale_rect_uv.mTop); -			gGL.vertex2i(0, draw_scale_rect.mTop); +		uv[index] = LLVector2(uv_center_rect.mRight, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_center_rect.mTop, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mLeft, scale_rect_uv.mTop); -			gGL.vertex2i(draw_scale_rect.mLeft, draw_scale_rect.mTop); +		// draw top left +		uv[index] = LLVector2(uv_outer_rect.mLeft, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_outer_rect.mLeft, draw_center_rect.mTop, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mLeft, uv_rect.mTop); -			gGL.vertex2i(draw_scale_rect.mLeft, height); +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_center_rect.mTop, 0.f); +		index++; -			gGL.texCoord2f(uv_rect.mLeft, uv_rect.mTop); -			gGL.vertex2i(0, height); +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_outer_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_outer_rect.mTop, 0.f); +		index++; -			// draw top middle -			gGL.texCoord2f(scale_rect_uv.mLeft, scale_rect_uv.mTop); -			gGL.vertex2i(draw_scale_rect.mLeft, draw_scale_rect.mTop); +		uv[index] = LLVector2(uv_outer_rect.mLeft, uv_outer_rect.mTop); +		pos[index] = LLVector3(draw_outer_rect.mLeft, draw_outer_rect.mTop, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mRight, scale_rect_uv.mTop); -			gGL.vertex2i(draw_scale_rect.mRight, draw_scale_rect.mTop); +		// draw top middle +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_center_rect.mTop, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mRight, uv_rect.mTop); -			gGL.vertex2i(draw_scale_rect.mRight, height); +		uv[index] = LLVector2(uv_center_rect.mRight, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_center_rect.mTop, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mLeft, uv_rect.mTop); -			gGL.vertex2i(draw_scale_rect.mLeft, height); +		uv[index] = LLVector2(uv_center_rect.mRight, uv_outer_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_outer_rect.mTop, 0.f); +		index++; -			// draw top right -			gGL.texCoord2f(scale_rect_uv.mRight, scale_rect_uv.mTop); -			gGL.vertex2i(draw_scale_rect.mRight, draw_scale_rect.mTop); +		uv[index] = LLVector2(uv_center_rect.mLeft, uv_outer_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mLeft, draw_outer_rect.mTop, 0.f); +		index++; -			gGL.texCoord2f(uv_rect.mRight, scale_rect_uv.mTop); -			gGL.vertex2i(width, draw_scale_rect.mTop); +		// draw top right +		uv[index] = LLVector2(uv_center_rect.mRight, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_center_rect.mTop, 0.f); +		index++; -			gGL.texCoord2f(uv_rect.mRight, uv_rect.mTop); -			gGL.vertex2i(width, height); +		uv[index] = LLVector2(uv_outer_rect.mRight, uv_center_rect.mTop); +		pos[index] = LLVector3(draw_outer_rect.mRight, draw_center_rect.mTop, 0.f); +		index++; -			gGL.texCoord2f(scale_rect_uv.mRight, uv_rect.mTop); -			gGL.vertex2i(draw_scale_rect.mRight, height); -		} -		gGL.end(); +		uv[index] = LLVector2(uv_outer_rect.mRight, uv_outer_rect.mTop); +		pos[index] = LLVector3(draw_outer_rect.mRight, draw_outer_rect.mTop, 0.f); +		index++; + +		uv[index] = LLVector2(uv_center_rect.mRight, uv_outer_rect.mTop); +		pos[index] = LLVector3(draw_center_rect.mRight, draw_outer_rect.mTop, 0.f); +		index++; + +		gGL.vertexBatchPreTransformed(pos, uv, NUM_VERTICES);  	} -	gGL.popUIMatrix(); +	gGL.end();  	if (solid_color)  	{ @@ -674,25 +729,36 @@ void gl_draw_scaled_rotated_image(S32 x, S32 y, S32 width, S32 height, F32 degre  	if (degrees == 0.f)  	{ -		gGL.pushUIMatrix(); -		gGL.translateUI((F32)x, (F32)y, 0.f); -			 +		const S32 NUM_VERTICES = 4; // 9 quads +		LLVector2 uv[NUM_VERTICES]; +		LLVector3 pos[NUM_VERTICES]; +  		gGL.begin(LLRender::QUADS);  		{ -			gGL.texCoord2f(uv_rect.mRight, uv_rect.mTop); -			gGL.vertex2i(width, height ); +			LLVector3 ui_translation = gGL.getUITranslation(); +			ui_translation.mV[VX] += x; +			ui_translation.mV[VY] += y; +			S32 index = 0; -			gGL.texCoord2f(uv_rect.mLeft, uv_rect.mTop); -			gGL.vertex2i(0, height ); +			uv[index] = LLVector2(uv_rect.mRight, uv_rect.mTop); +			pos[index] = LLVector3(ui_translation.mV[VX] + width, ui_translation.mV[VY] + height, 0.f); +			index++; -			gGL.texCoord2f(uv_rect.mLeft, uv_rect.mBottom); -			gGL.vertex2i(0, 0); +			uv[index] = LLVector2(uv_rect.mLeft, uv_rect.mTop); +			pos[index] = LLVector3(ui_translation.mV[VX], ui_translation.mV[VY] + height, 0.f); +			index++; -			gGL.texCoord2f(uv_rect.mRight, uv_rect.mBottom); -			gGL.vertex2i(width, 0); +			uv[index] = LLVector2(uv_rect.mLeft, uv_rect.mBottom); +			pos[index] = LLVector3(ui_translation.mV[VX], ui_translation.mV[VY], 0.f); +			index++; + +			uv[index] = LLVector2(uv_rect.mRight, uv_rect.mBottom); +			pos[index] = LLVector3(ui_translation.mV[VX] + width, ui_translation.mV[VY], 0.f); +			index++; + +			gGL.vertexBatchPreTransformed(pos, uv, NUM_VERTICES);  		}  		gGL.end(); -		gGL.popUIMatrix();  	}  	else  	{ @@ -761,25 +827,6 @@ void gl_stippled_line_3d( const LLVector3& start, const LLVector3& end, const LL  	LLUI::setLineWidth(1.f);  } - -void gl_rect_2d_xor(S32 left, S32 top, S32 right, S32 bottom) -{ -	gGL.color4fv( LLColor4::white.mV ); -	glLogicOp( GL_XOR ); -	stop_glerror(); - -	gGL.begin(LLRender::QUADS); -		gGL.vertex2i(left, top); -		gGL.vertex2i(left, bottom); -		gGL.vertex2i(right, bottom); -		gGL.vertex2i(right, top); -	gGL.end(); - -	glLogicOp( GL_COPY ); -	stop_glerror(); -} - -  void gl_arc_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled, F32 start_angle, F32 end_angle)  {  	if (end_angle < start_angle) @@ -1013,42 +1060,6 @@ void gl_washer_segment_2d(F32 outer_radius, F32 inner_radius, F32 start_radians,  	gGL.end();  } -// Draws spokes around a circle. -void gl_washer_spokes_2d(F32 outer_radius, F32 inner_radius, S32 count, const LLColor4& inner_color, const LLColor4& outer_color) -{ -	const F32 DELTA = F_TWO_PI / count; -	const F32 HALF_DELTA = DELTA * 0.5f; -	const F32 SIN_DELTA = sin( DELTA ); -	const F32 COS_DELTA = cos( DELTA ); - -	F32 x1 = outer_radius * cos( HALF_DELTA ); -	F32 y1 = outer_radius * sin( HALF_DELTA ); -	F32 x2 = inner_radius * cos( HALF_DELTA ); -	F32 y2 = inner_radius * sin( HALF_DELTA ); - -	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); - -	gGL.begin( LLRender::LINES  ); -	{ -		while( count-- ) -		{ -			gGL.color4fv(outer_color.mV); -			gGL.vertex2f( x1, y1 ); -			gGL.color4fv(inner_color.mV); -			gGL.vertex2f( x2, y2 ); - -			F32 x1_new = x1 * COS_DELTA - y1 * SIN_DELTA; -			y1 = x1 * SIN_DELTA +  y1 * COS_DELTA; -			x1 = x1_new; - -			F32 x2_new = x2 * COS_DELTA - y2 * SIN_DELTA; -			y2 = x2 * SIN_DELTA +  y2 * COS_DELTA; -			x2 = x2_new; -		} -	} -	gGL.end(); -} -  void gl_rect_2d_simple_tex( S32 width, S32 height )  {  	gGL.begin( LLRender::QUADS ); @@ -1236,6 +1247,7 @@ void gl_segmented_rect_2d_tex(const S32 left,  	gGL.popUIMatrix();  } +//FIXME: rewrite to use scissor?  void gl_segmented_rect_2d_fragment_tex(const S32 left,   									   const S32 top,   									   const S32 right,  diff --git a/indra/llui/llui.h b/indra/llui/llui.h index c18262ef76..745d0ff662 100644 --- a/indra/llui/llui.h +++ b/indra/llui/llui.h @@ -96,7 +96,6 @@ void gl_ring( F32 radius, F32 width, const LLColor4& center_color, const LLColor  void gl_corners_2d(S32 left, S32 top, S32 right, S32 bottom, S32 length, F32 max_frac);  void gl_washer_2d(F32 outer_radius, F32 inner_radius, S32 steps, const LLColor4& inner_color, const LLColor4& outer_color);  void gl_washer_segment_2d(F32 outer_radius, F32 inner_radius, F32 start_radians, F32 end_radians, S32 steps, const LLColor4& inner_color, const LLColor4& outer_color); -void gl_washer_spokes_2d(F32 outer_radius, F32 inner_radius, S32 count, const LLColor4& inner_color, const LLColor4& outer_color);  void gl_draw_image(S32 x, S32 y, LLTexture* image, const LLColor4& color = UI_VERTEX_COLOR, const LLRectf& uv_rect = LLRectf(0.f, 1.f, 1.f, 0.f));  void gl_draw_scaled_image(S32 x, S32 y, S32 width, S32 height, LLTexture* image, const LLColor4& color = UI_VERTEX_COLOR, const LLRectf& uv_rect = LLRectf(0.f, 1.f, 1.f, 0.f)); @@ -105,7 +104,6 @@ void gl_draw_scaled_rotated_image(S32 x, S32 y, S32 width, S32 height, F32 degre  void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 border_width, S32 border_height, S32 width, S32 height, LLTexture* image, const LLColor4 &color, BOOL solid_color = FALSE, const LLRectf& uv_rect = LLRectf(0.f, 1.f, 1.f, 0.f));  void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTexture* image, const LLColor4 &color, BOOL solid_color = FALSE, const LLRectf& uv_rect = LLRectf(0.f, 1.f, 1.f, 0.f), const LLRectf& scale_rect = LLRectf(0.f, 1.f, 1.f, 0.f)); -void gl_rect_2d_xor(S32 left, S32 top, S32 right, S32 bottom);  void gl_stippled_line_3d( const LLVector3& start, const LLVector3& end, const LLColor4& color, F32 phase = 0.f );   void gl_rect_2d_simple_tex( S32 width, S32 height ); diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index 1f9d2c9049..259104f72c 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -147,8 +147,6 @@ public:  	// LLView interface  	/*virtual*/ BOOL	setLabelArg( const std::string& key, const LLStringExplicit& text );  	/*virtual*/ BOOL	isCtrl() const; -	/*virtual*/ void	setTentative(BOOL b); -	/*virtual*/ BOOL	getTentative() const;  	/*virtual*/ void	onMouseEnter(S32 x, S32 y, MASK mask);  	/*virtual*/ void	onMouseLeave(S32 x, S32 y, MASK mask);  	/*virtual*/ BOOL	canFocusChildren() const; @@ -180,6 +178,8 @@ public:  	void setMakeVisibleControlVariable(LLControlVariable* control);  	void setMakeInvisibleControlVariable(LLControlVariable* control); +	virtual void	setTentative(BOOL b); +	virtual BOOL	getTentative() const;  	virtual void	setValue(const LLSD& value);  	virtual LLSD	getValue() const;      /// When two widgets are displaying the same data (e.g. during a skin diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp index 394ec957d5..4d3708302b 100644 --- a/indra/llui/llview.cpp +++ b/indra/llui/llview.cpp @@ -403,28 +403,40 @@ bool LLCompareByTabOrder::operator() (const LLView* const a, const LLView* const  	return (a_score == b_score) ? a < b : a_score < b_score;  } -bool LLView::trueToRoot(const boost::function<bool (const LLView*)>& predicate) const +BOOL LLView::isInVisibleChain() const  { -	const LLView* cur_view = this; -	while(cur_view) +	BOOL visible = TRUE; + +	const LLView* viewp = this; +	while(viewp)  	{ -		if(!predicate(cur_view)) +		if (!viewp->getVisible())  		{ -			return false; +			visible = FALSE; +			break;  		} -		cur_view = cur_view->getParent(); +		viewp = viewp->getParent();  	} -	return true; -} - -BOOL LLView::isInVisibleChain() const -{ -	return trueToRoot(&LLView::getVisible); +	 +	return visible;  }  BOOL LLView::isInEnabledChain() const  { -	return trueToRoot(&LLView::getEnabled); +	BOOL enabled = TRUE; + +	const LLView* viewp = this; +	while(viewp) +	{ +		if (!viewp->getEnabled()) +		{ +			enabled = FALSE; +			break; +		} +		viewp = viewp->getParent(); +	} +	 +	return enabled;  }  // virtual @@ -434,17 +446,6 @@ BOOL LLView::canFocusChildren() const  }  //virtual -void LLView::setTentative(BOOL b) -{ -} - -//virtual -BOOL LLView::getTentative() const -{ -	return FALSE; -} - -//virtual  void LLView::setEnabled(BOOL enabled)  {  	mEnabled = enabled; @@ -2784,6 +2785,19 @@ LLView::tree_post_iterator_t LLView::endTreeDFSPost()  	return tree_post_iterator_t();  } +LLView::bfs_tree_iterator_t LLView::beginTreeBFS()  +{  +	return bfs_tree_iterator_t(this,  +							boost::bind(boost::mem_fn(&LLView::beginChild), _1),  +							boost::bind(boost::mem_fn(&LLView::endChild), _1));  +} + +LLView::bfs_tree_iterator_t LLView::endTreeBFS()  +{  +	// an empty iterator is an "end" iterator +	return bfs_tree_iterator_t(); +} +  LLView::root_to_view_iterator_t LLView::beginRootToView()  { diff --git a/indra/llui/llview.h b/indra/llui/llview.h index 8e705ed701..37f5232f91 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -273,7 +273,6 @@ public:  	S32 getDefaultTabGroup() const				{ return mDefaultTabGroup; }  	S32 getLastTabGroup()						{ return mLastTabGroup; } -	bool        trueToRoot(const boost::function<bool (const LLView*)>& predicate) const;  	BOOL		isInVisibleChain() const;  	BOOL		isInEnabledChain() const; @@ -289,8 +288,6 @@ public:  	// children, etc.  	virtual void deleteAllChildren(); -	virtual void	setTentative(BOOL b); -	virtual BOOL	getTentative() const;  	void 	setAllChildrenEnabled(BOOL b);  	virtual void	setVisible(BOOL visible); @@ -357,6 +354,10 @@ public:  	tree_post_iterator_t beginTreeDFSPost();  	tree_post_iterator_t endTreeDFSPost(); +	typedef LLTreeBFSIter<LLView, child_list_const_iter_t> bfs_tree_iterator_t; +	bfs_tree_iterator_t beginTreeBFS(); +	bfs_tree_iterator_t endTreeBFS(); +  	typedef LLTreeDownIter<LLView> root_to_view_iterator_t;  	root_to_view_iterator_t beginRootToView(); diff --git a/indra/newview/llavatarlistitem.cpp b/indra/newview/llavatarlistitem.cpp index c74075d67f..eead0c9b3e 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 41f5fe64a1..0e5e8d0fe7 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 b494470cbc..a03fe79512 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 cd279fa10a..73fbe78298 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/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 78405ebe33..04c70cb7d8 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -517,10 +517,10 @@ LLPanelClothingListItem* LLCOFWearables::buildClothingListItem(LLViewerInventory  	//setting callbacks  	//*TODO move that item panel's inner structure disclosing stuff into the panels -	item_panel->childSetAction("btn_delete", mCOFCallbacks.mDeleteWearable); -	item_panel->childSetAction("btn_move_up", mCOFCallbacks.mMoveWearableFurther); -	item_panel->childSetAction("btn_move_down", mCOFCallbacks.mMoveWearableCloser); -	item_panel->childSetAction("btn_edit", mCOFCallbacks.mEditWearable); +	item_panel->childSetAction("btn_delete", boost::bind(mCOFCallbacks.mDeleteWearable)); +	item_panel->childSetAction("btn_move_up", boost::bind(mCOFCallbacks.mMoveWearableFurther)); +	item_panel->childSetAction("btn_move_down", boost::bind(mCOFCallbacks.mMoveWearableCloser)); +	item_panel->childSetAction("btn_edit", boost::bind(mCOFCallbacks.mEditWearable));  	//turning on gray separator line for the last item in the items group of the same wearable type  	item_panel->setSeparatorVisible(last); @@ -546,8 +546,8 @@ LLPanelBodyPartsListItem* LLCOFWearables::buildBodypartListItem(LLViewerInventor  	//setting callbacks  	//*TODO move that item panel's inner structure disclosing stuff into the panels -	item_panel->childSetAction("btn_delete", mCOFCallbacks.mDeleteWearable); -	item_panel->childSetAction("btn_edit", mCOFCallbacks.mEditWearable); +	item_panel->childSetAction("btn_delete", boost::bind(mCOFCallbacks.mDeleteWearable)); +	item_panel->childSetAction("btn_edit", boost::bind(mCOFCallbacks.mEditWearable));  	return item_panel;  } @@ -562,7 +562,7 @@ LLPanelDeletableWearableListItem* LLCOFWearables::buildAttachemntListItem(LLView  	//setting callbacks  	//*TODO move that item panel's inner structure disclosing stuff into the panels -	item_panel->childSetAction("btn_delete", mCOFCallbacks.mDeleteWearable); +	item_panel->childSetAction("btn_delete", boost::bind(mCOFCallbacks.mDeleteWearable));  	return item_panel;  } @@ -608,7 +608,7 @@ void LLCOFWearables::addClothingTypesDummies(const LLAppearanceMgr::wearables_by  		LLWearableType::EType w_type = static_cast<LLWearableType::EType>(type);  		LLPanelInventoryListItemBase* item_panel = LLPanelDummyClothingListItem::create(w_type);  		if(!item_panel) continue; -		item_panel->childSetAction("btn_add", mCOFCallbacks.mAddWearable); +		item_panel->childSetAction("btn_add", boost::bind(mCOFCallbacks.mAddWearable));  		mClothing->addItem(item_panel, LLUUID::null, ADD_BOTTOM, false);  	}  } diff --git a/indra/newview/llcofwearables.h b/indra/newview/llcofwearables.h index cd7cc060e5..b23c097b21 100644 --- a/indra/newview/llcofwearables.h +++ b/indra/newview/llcofwearables.h @@ -60,7 +60,7 @@ public:  		LLCOFCallbacks() {};  		virtual ~LLCOFCallbacks() {}; -		typedef boost::function<void (void*)> cof_callback_t; +		typedef boost::function<void ()> cof_callback_t;  		cof_callback_t mAddWearable;  		cof_callback_t mMoveWearableCloser; diff --git a/indra/newview/llcompilequeue.cpp b/indra/newview/llcompilequeue.cpp index feb8c540ef..e91bf33502 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 7ebcef943e..3d40358ce5 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/llfloateranimpreview.cpp b/indra/newview/llfloateranimpreview.cpp index f14e64e3e4..1169093d42 100644 --- a/indra/newview/llfloateranimpreview.cpp +++ b/indra/newview/llfloateranimpreview.cpp @@ -161,27 +161,27 @@ LLFloaterAnimPreview::LLFloaterAnimPreview(const std::string& filename) :  //-----------------------------------------------------------------------------  void LLFloaterAnimPreview::setAnimCallbacks()  { -	childSetCommitCallback("playback_slider", onSliderMove, this); +	getChild<LLUICtrl>("playback_slider")->setCommitCallback(boost::bind(&LLFloaterAnimPreview::onSliderMove, this)); -	childSetCommitCallback("preview_base_anim", onCommitBaseAnim, this); -	childSetValue("preview_base_anim", "Standing"); +	getChild<LLUICtrl>("preview_base_anim")->setCommitCallback(boost::bind(&LLFloaterAnimPreview::onCommitBaseAnim, this)); +	getChild<LLUICtrl>("preview_base_anim")->setValue("Standing"); -	childSetCommitCallback("priority", onCommitPriority, this); -	childSetCommitCallback("loop_check", onCommitLoop, this); -	childSetCommitCallback("loop_in_point", onCommitLoopIn, this); -	childSetValidate("loop_in_point", boost::bind(&LLFloaterAnimPreview::validateLoopIn, this, _1)); -	childSetCommitCallback("loop_out_point", onCommitLoopOut, this); -	childSetValidate("loop_out_point", boost::bind(&LLFloaterAnimPreview::validateLoopOut, this, _1)); +	getChild<LLUICtrl>("priority")->setCommitCallback(boost::bind(&LLFloaterAnimPreview::onCommitPriority, this)); +	getChild<LLUICtrl>("loop_check")->setCommitCallback(boost::bind(&LLFloaterAnimPreview::onCommitLoop, this)); +	getChild<LLUICtrl>("loop_in_point")->setCommitCallback(boost::bind(&LLFloaterAnimPreview::onCommitLoopIn, this)); +	getChild<LLUICtrl>("loop_in_point")->setValidateBeforeCommit( boost::bind(&LLFloaterAnimPreview::validateLoopIn, this, _1)); +	getChild<LLUICtrl>("loop_out_point")->setCommitCallback(boost::bind(&LLFloaterAnimPreview::onCommitLoopOut, this)); +	getChild<LLUICtrl>("loop_out_point")->setValidateBeforeCommit( boost::bind(&LLFloaterAnimPreview::validateLoopOut, this, _1)); -	childSetCommitCallback("hand_pose_combo", onCommitHandPose, this); +	getChild<LLUICtrl>("hand_pose_combo")->setCommitCallback(boost::bind(&LLFloaterAnimPreview::onCommitHandPose, this)); -	childSetCommitCallback("emote_combo", onCommitEmote, this); -	childSetValue("emote_combo", "[None]"); +	getChild<LLUICtrl>("emote_combo")->setCommitCallback(boost::bind(&LLFloaterAnimPreview::onCommitEmote, this)); +	getChild<LLUICtrl>("emote_combo")->setValue("[None]"); -	childSetCommitCallback("ease_in_time", onCommitEaseIn, this); -	childSetValidate("ease_in_time", boost::bind(&LLFloaterAnimPreview::validateEaseIn, this, _1)); -	childSetCommitCallback("ease_out_time", onCommitEaseOut, this); -	childSetValidate("ease_out_time", boost::bind(&LLFloaterAnimPreview::validateEaseOut, this, _1)); +	getChild<LLUICtrl>("ease_in_time")->setCommitCallback(boost::bind(&LLFloaterAnimPreview::onCommitEaseIn, this)); +	getChild<LLUICtrl>("ease_in_time")->setValidateBeforeCommit( boost::bind(&LLFloaterAnimPreview::validateEaseIn, this, _1)); +	getChild<LLUICtrl>("ease_out_time")->setCommitCallback(boost::bind(&LLFloaterAnimPreview::onCommitEaseOut, this)); +	getChild<LLUICtrl>("ease_out_time")->setValidateBeforeCommit( boost::bind(&LLFloaterAnimPreview::validateEaseOut, this, _1));  }  //----------------------------------------------------------------------------- @@ -197,7 +197,7 @@ BOOL LLFloaterAnimPreview::postBuild()  		return FALSE;  	} -	childSetCommitCallback("name_form", onCommitName, this); +	getChild<LLUICtrl>("name_form")->setCommitCallback(boost::bind(&LLFloaterAnimPreview::onCommitName, this));  	childSetAction("ok_btn", onBtnOK, this);  	setDefaultBtn(); @@ -209,17 +209,17 @@ BOOL LLFloaterAnimPreview::postBuild()  	mPreviewImageRect.set(0.f, 1.f, 1.f, 0.f);  	mPlayButton = getChild<LLButton>( "play_btn"); -	mPlayButton->setClickedCallback(onBtnPlay, this); +	mPlayButton->setClickedCallback(boost::bind(&LLFloaterAnimPreview::onBtnPlay, this));  	mPlayButton->setVisible(true);  	mPauseButton = getChild<LLButton>( "pause_btn"); -	mPauseButton->setClickedCallback(onBtnPause, this); +	mPauseButton->setClickedCallback(boost::bind(&LLFloaterAnimPreview::onBtnPause, this));  	mPauseButton->setVisible(false);  	mStopButton = getChild<LLButton>( "stop_btn"); -	mStopButton->setClickedCallback(onBtnStop, this); +	mStopButton->setClickedCallback(boost::bind(&LLFloaterAnimPreview::onBtnStop, this)); -	childHide("bad_animation_text"); +	getChildView("bad_animation_text")->setVisible(FALSE);  	std::string exten = gDirUtilp->getExtension(mFilename);  	if (exten == "bvh") @@ -311,19 +311,19 @@ BOOL LLFloaterAnimPreview::postBuild()  			mAnimPreview->setZoom(camera_zoom); -			motionp->setName(childGetValue("name_form").asString()); +			motionp->setName(getChild<LLUICtrl>("name_form")->getValue().asString());  			mAnimPreview->getDummyAvatar()->startMotion(mMotionID);  			getChild<LLSlider>("playback_slider")->setMinValue(0.0);  			getChild<LLSlider>("playback_slider")->setMaxValue(1.0); -			childSetValue("loop_check", LLSD(motionp->getLoop())); -			childSetValue("loop_in_point", LLSD(motionp->getLoopIn() / motionp->getDuration() * 100.f)); -			childSetValue("loop_out_point", LLSD(motionp->getLoopOut() / motionp->getDuration() * 100.f)); -			childSetValue("priority", LLSD((F32)motionp->getPriority())); -			childSetValue("hand_pose_combo", LLHandMotion::getHandPoseName(motionp->getHandPose())); -			childSetValue("ease_in_time", LLSD(motionp->getEaseInDuration())); -			childSetValue("ease_out_time", LLSD(motionp->getEaseOutDuration())); +			getChild<LLUICtrl>("loop_check")->setValue(LLSD(motionp->getLoop())); +			getChild<LLUICtrl>("loop_in_point")->setValue(LLSD(motionp->getLoopIn() / motionp->getDuration() * 100.f)); +			getChild<LLUICtrl>("loop_out_point")->setValue(LLSD(motionp->getLoopOut() / motionp->getDuration() * 100.f)); +			getChild<LLUICtrl>("priority")->setValue(LLSD((F32)motionp->getPriority())); +			getChild<LLUICtrl>("hand_pose_combo")->setValue(LLHandMotion::getHandPoseName(motionp->getHandPose())); +			getChild<LLUICtrl>("ease_in_time")->setValue(LLSD(motionp->getEaseInDuration())); +			getChild<LLUICtrl>("ease_out_time")->setValue(LLSD(motionp->getEaseOutDuration()));  			setEnabled(TRUE);  			std::string seconds_string;  			seconds_string = llformat(" - %.2f seconds", motionp->getDuration()); @@ -334,7 +334,7 @@ BOOL LLFloaterAnimPreview::postBuild()  		{  			mAnimPreview = NULL;  			mMotionID.setNull(); -			childSetValue("bad_animation_text", getString("failed_to_initialize")); +			getChild<LLUICtrl>("bad_animation_text")->setValue(getString("failed_to_initialize"));  		}  	}  	else @@ -346,13 +346,13 @@ BOOL LLFloaterAnimPreview::postBuild()  				LLUIString out_str = getString("anim_too_long");  				out_str.setArg("[LENGTH]", llformat("%.1f", loaderp->getDuration()));  				out_str.setArg("[MAX_LENGTH]", llformat("%.1f", MAX_ANIM_DURATION)); -				childSetValue("bad_animation_text", out_str.getString()); +				getChild<LLUICtrl>("bad_animation_text")->setValue(out_str.getString());  			}  			else  			{  				LLUIString out_str = getString("failed_file_read");  				out_str.setArg("[STATUS]", getString(STATUS[loaderp->getStatus()]));  -				childSetValue("bad_animation_text", out_str.getString()); +				getChild<LLUICtrl>("bad_animation_text")->setValue(out_str.getString());  			}  		} @@ -429,17 +429,17 @@ void LLFloaterAnimPreview::resetMotion()  	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(mMotionID);  	// Set emotion -	std::string emote = childGetValue("emote_combo").asString(); +	std::string emote = getChild<LLUICtrl>("emote_combo")->getValue().asString();  	motionp->setEmote(mIDList[emote]); -	LLUUID base_id = mIDList[childGetValue("preview_base_anim").asString()]; +	LLUUID base_id = mIDList[getChild<LLUICtrl>("preview_base_anim")->getValue().asString()];  	avatarp->deactivateAllMotions();  	avatarp->startMotion(mMotionID, 0.0f);  	avatarp->startMotion(base_id, BASE_ANIM_TIME_OFFSET); -	childSetValue("playback_slider", 0.0f); +	getChild<LLUICtrl>("playback_slider")->setValue(0.0f);  	// Set pose -	std::string handpose = childGetValue("hand_pose_combo").asString(); +	std::string handpose = getChild<LLUICtrl>("hand_pose_combo")->getValue().asString();  	avatarp->startMotion( ANIM_AGENT_HAND_MOTION, 0.0f );  	motionp->setHandPose(LLHandMotion::getHandPose(handpose)); @@ -558,24 +558,23 @@ void LLFloaterAnimPreview::onMouseCaptureLost()  //-----------------------------------------------------------------------------  // onBtnPlay()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onBtnPlay(void* user_data) +void LLFloaterAnimPreview::onBtnPlay()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)user_data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	if (previewp->mMotionID.notNull() && previewp->mAnimPreview) +	if (mMotionID.notNull() && mAnimPreview)  	{ -		LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); +		LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar(); -		if (!avatarp->isMotionActive(previewp->mMotionID)) +		if (!avatarp->isMotionActive(mMotionID))  		{ -			previewp->resetMotion(); -			previewp->mPauseRequest = NULL; +			resetMotion(); +			mPauseRequest = NULL;  		}  		else if (avatarp->areAnimationsPaused())  		{			 -			previewp->mPauseRequest = NULL; +			mPauseRequest = NULL;  		}  	}  } @@ -583,21 +582,20 @@ void LLFloaterAnimPreview::onBtnPlay(void* user_data)  //-----------------------------------------------------------------------------  // onBtnPause()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onBtnPause(void* user_data) +void LLFloaterAnimPreview::onBtnPause()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)user_data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	if (previewp->mMotionID.notNull() && previewp->mAnimPreview) +	if (mMotionID.notNull() && mAnimPreview)  	{ -		LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); +		LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar(); -		if (avatarp->isMotionActive(previewp->mMotionID)) +		if (avatarp->isMotionActive(mMotionID))  		{  			if (!avatarp->areAnimationsPaused())  			{ -				previewp->mPauseRequest = avatarp->requestPause(); +				mPauseRequest = avatarp->requestPause();  			}  		}  	} @@ -606,42 +604,40 @@ void LLFloaterAnimPreview::onBtnPause(void* user_data)  //-----------------------------------------------------------------------------  // onBtnStop()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onBtnStop(void* user_data) +void LLFloaterAnimPreview::onBtnStop()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)user_data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	if (previewp->mMotionID.notNull() && previewp->mAnimPreview) +	if (mMotionID.notNull() && mAnimPreview)  	{ -		LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); -		previewp->resetMotion(); -		previewp->mPauseRequest = avatarp->requestPause(); +		LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar(); +		resetMotion(); +		mPauseRequest = avatarp->requestPause();  	}  }  //-----------------------------------------------------------------------------  // onSliderMove()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onSliderMove(LLUICtrl* ctrl, void*user_data) +void LLFloaterAnimPreview::onSliderMove()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)user_data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	if (previewp->mAnimPreview) +	if (mAnimPreview)  	{ -		LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); -		F32 slider_value = (F32)previewp->childGetValue("playback_slider").asReal(); -		LLUUID base_id = previewp->mIDList[previewp->childGetValue("preview_base_anim").asString()]; -		LLMotion* motionp = avatarp->findMotion(previewp->mMotionID); +		LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar(); +		F32 slider_value = (F32)getChild<LLUICtrl>("playback_slider")->getValue().asReal(); +		LLUUID base_id = mIDList[getChild<LLUICtrl>("preview_base_anim")->getValue().asString()]; +		LLMotion* motionp = avatarp->findMotion(mMotionID);  		F32 duration = motionp->getDuration();// + motionp->getEaseOutDuration();  		F32 delta_time = duration * slider_value;  		avatarp->deactivateAllMotions();  		avatarp->startMotion(base_id, delta_time + BASE_ANIM_TIME_OFFSET); -		avatarp->startMotion(previewp->mMotionID, delta_time); -		previewp->mPauseRequest = avatarp->requestPause(); -		previewp->refresh(); +		avatarp->startMotion(mMotionID, delta_time); +		mPauseRequest = avatarp->requestPause(); +		refresh();  	}  } @@ -649,29 +645,28 @@ void LLFloaterAnimPreview::onSliderMove(LLUICtrl* ctrl, void*user_data)  //-----------------------------------------------------------------------------  // onCommitBaseAnim()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onCommitBaseAnim(LLUICtrl* ctrl, void* data) +void LLFloaterAnimPreview::onCommitBaseAnim()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	if (previewp->mAnimPreview) +	if (mAnimPreview)  	{ -		LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); +		LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar();  		BOOL paused = avatarp->areAnimationsPaused();  		// stop all other possible base motions -		avatarp->stopMotion(previewp->mIDList["Standing"], TRUE); -		avatarp->stopMotion(previewp->mIDList["Walking"], TRUE); -		avatarp->stopMotion(previewp->mIDList["Sitting"], TRUE); -		avatarp->stopMotion(previewp->mIDList["Flying"], TRUE); +		avatarp->stopMotion(mIDList["Standing"], TRUE); +		avatarp->stopMotion(mIDList["Walking"], TRUE); +		avatarp->stopMotion(mIDList["Sitting"], TRUE); +		avatarp->stopMotion(mIDList["Flying"], TRUE); -		previewp->resetMotion(); +		resetMotion();  		if (!paused)  		{ -			previewp->mPauseRequest = NULL; +			mPauseRequest = NULL;  		}  	}  } @@ -679,154 +674,145 @@ void LLFloaterAnimPreview::onCommitBaseAnim(LLUICtrl* ctrl, void* data)  //-----------------------------------------------------------------------------  // onCommitLoop()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onCommitLoop(LLUICtrl* ctrl, void* data) +void LLFloaterAnimPreview::onCommitLoop()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); -	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID); +	LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar(); +	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(mMotionID);  	if (motionp)  	{ -		motionp->setLoop(previewp->childGetValue("loop_check").asBoolean()); -		motionp->setLoopIn((F32)previewp->childGetValue("loop_in_point").asReal() * 0.01f * motionp->getDuration()); -		motionp->setLoopOut((F32)previewp->childGetValue("loop_out_point").asReal() * 0.01f * motionp->getDuration()); +		motionp->setLoop(getChild<LLUICtrl>("loop_check")->getValue().asBoolean()); +		motionp->setLoopIn((F32)getChild<LLUICtrl>("loop_in_point")->getValue().asReal() * 0.01f * motionp->getDuration()); +		motionp->setLoopOut((F32)getChild<LLUICtrl>("loop_out_point")->getValue().asReal() * 0.01f * motionp->getDuration());  	}  }  //-----------------------------------------------------------------------------  // onCommitLoopIn()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onCommitLoopIn(LLUICtrl* ctrl, void* data) +void LLFloaterAnimPreview::onCommitLoopIn()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); -	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID); +	LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar(); +	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(mMotionID);  	if (motionp)  	{ -		motionp->setLoopIn((F32)previewp->childGetValue("loop_in_point").asReal() / 100.f); -		previewp->resetMotion(); -		previewp->childSetValue("loop_check", LLSD(TRUE)); -		onCommitLoop(ctrl, data); +		motionp->setLoopIn((F32)getChild<LLUICtrl>("loop_in_point")->getValue().asReal() / 100.f); +		resetMotion(); +		getChild<LLUICtrl>("loop_check")->setValue(LLSD(TRUE)); +		onCommitLoop();  	}  }  //-----------------------------------------------------------------------------  // onCommitLoopOut()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onCommitLoopOut(LLUICtrl* ctrl, void* data) +void LLFloaterAnimPreview::onCommitLoopOut()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); -	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID); +	LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar(); +	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(mMotionID);  	if (motionp)  	{ -		motionp->setLoopOut((F32)previewp->childGetValue("loop_out_point").asReal() * 0.01f * motionp->getDuration()); -		previewp->resetMotion(); -		previewp->childSetValue("loop_check", LLSD(TRUE)); -		onCommitLoop(ctrl, data); +		motionp->setLoopOut((F32)getChild<LLUICtrl>("loop_out_point")->getValue().asReal() * 0.01f * motionp->getDuration()); +		resetMotion(); +		getChild<LLUICtrl>("loop_check")->setValue(LLSD(TRUE)); +		onCommitLoop();  	}  }  //-----------------------------------------------------------------------------  // onCommitName()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onCommitName(LLUICtrl* ctrl, void* data) +void LLFloaterAnimPreview::onCommitName()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); -	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID); +	LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar(); +	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(mMotionID);  	if (motionp)  	{ -		motionp->setName(previewp->childGetValue("name_form").asString()); +		motionp->setName(getChild<LLUICtrl>("name_form")->getValue().asString());  	} -	previewp->doCommit(); +	doCommit();  }  //-----------------------------------------------------------------------------  // onCommitHandPose()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onCommitHandPose(LLUICtrl* ctrl, void* data) +void LLFloaterAnimPreview::onCommitHandPose()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	previewp->resetMotion(); // sets hand pose +	resetMotion(); // sets hand pose  }  //-----------------------------------------------------------------------------  // onCommitEmote()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onCommitEmote(LLUICtrl* ctrl, void* data) +void LLFloaterAnimPreview::onCommitEmote()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	previewp->resetMotion(); // ssts emote +	resetMotion(); // ssts emote  }  //-----------------------------------------------------------------------------  // onCommitPriority()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onCommitPriority(LLUICtrl* ctrl, void* data) +void LLFloaterAnimPreview::onCommitPriority()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); -	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID); +	LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar(); +	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(mMotionID); -	motionp->setPriority(llfloor((F32)previewp->childGetValue("priority").asReal())); +	motionp->setPriority(llfloor((F32)getChild<LLUICtrl>("priority")->getValue().asReal()));  }  //-----------------------------------------------------------------------------  // onCommitEaseIn()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onCommitEaseIn(LLUICtrl* ctrl, void* data) +void LLFloaterAnimPreview::onCommitEaseIn()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); -	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID); +	LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar(); +	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(mMotionID); -	motionp->setEaseIn((F32)previewp->childGetValue("ease_in_time").asReal()); -	previewp->resetMotion(); +	motionp->setEaseIn((F32)getChild<LLUICtrl>("ease_in_time")->getValue().asReal()); +	resetMotion();  }  //-----------------------------------------------------------------------------  // onCommitEaseOut()  //----------------------------------------------------------------------------- -void LLFloaterAnimPreview::onCommitEaseOut(LLUICtrl* ctrl, void* data) +void LLFloaterAnimPreview::onCommitEaseOut()  { -	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data; -	if (!previewp->getEnabled()) +	if (!getEnabled())  		return; -	LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar(); -	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID); +	LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar(); +	LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(mMotionID); -	motionp->setEaseOut((F32)previewp->childGetValue("ease_out_time").asReal()); -	previewp->resetMotion(); +	motionp->setEaseOut((F32)getChild<LLUICtrl>("ease_out_time")->getValue().asReal()); +	resetMotion();  }  //----------------------------------------------------------------------------- @@ -842,8 +828,8 @@ bool LLFloaterAnimPreview::validateEaseIn(const LLSD& data)  	if (!motionp->getLoop())  	{ -		F32 new_ease_in = llclamp((F32)childGetValue("ease_in_time").asReal(), 0.f, motionp->getDuration() - motionp->getEaseOutDuration()); -		childSetValue("ease_in_time", LLSD(new_ease_in)); +		F32 new_ease_in = llclamp((F32)getChild<LLUICtrl>("ease_in_time")->getValue().asReal(), 0.f, motionp->getDuration() - motionp->getEaseOutDuration()); +		getChild<LLUICtrl>("ease_in_time")->setValue(LLSD(new_ease_in));  	}  	return true; @@ -862,8 +848,8 @@ bool LLFloaterAnimPreview::validateEaseOut(const LLSD& data)  	if (!motionp->getLoop())  	{ -		F32 new_ease_out = llclamp((F32)childGetValue("ease_out_time").asReal(), 0.f, motionp->getDuration() - motionp->getEaseInDuration()); -		childSetValue("ease_out_time", LLSD(new_ease_out)); +		F32 new_ease_out = llclamp((F32)getChild<LLUICtrl>("ease_out_time")->getValue().asReal(), 0.f, motionp->getDuration() - motionp->getEaseInDuration()); +		getChild<LLUICtrl>("ease_out_time")->setValue(LLSD(new_ease_out));  	}  	return true; @@ -877,8 +863,8 @@ bool LLFloaterAnimPreview::validateLoopIn(const LLSD& data)  	if (!getEnabled())  		return false; -	F32 loop_in_value = (F32)childGetValue("loop_in_point").asReal(); -	F32 loop_out_value = (F32)childGetValue("loop_out_point").asReal(); +	F32 loop_in_value = (F32)getChild<LLUICtrl>("loop_in_point")->getValue().asReal(); +	F32 loop_out_value = (F32)getChild<LLUICtrl>("loop_out_point")->getValue().asReal();  	if (loop_in_value < 0.f)  	{ @@ -893,7 +879,7 @@ bool LLFloaterAnimPreview::validateLoopIn(const LLSD& data)  		loop_in_value = loop_out_value;  	} -	childSetValue("loop_in_point", LLSD(loop_in_value)); +	getChild<LLUICtrl>("loop_in_point")->setValue(LLSD(loop_in_value));  	return true;  } @@ -905,8 +891,8 @@ bool LLFloaterAnimPreview::validateLoopOut(const LLSD& data)  	if (!getEnabled())  		return false; -	F32 loop_out_value = (F32)childGetValue("loop_out_point").asReal(); -	F32 loop_in_value = (F32)childGetValue("loop_in_point").asReal(); +	F32 loop_out_value = (F32)getChild<LLUICtrl>("loop_out_point")->getValue().asReal(); +	F32 loop_in_value = (F32)getChild<LLUICtrl>("loop_in_point")->getValue().asReal();  	if (loop_out_value < 0.f)  	{ @@ -921,7 +907,7 @@ bool LLFloaterAnimPreview::validateLoopOut(const LLSD& data)  		loop_out_value = loop_in_value;  	} -	childSetValue("loop_out_point", LLSD(loop_out_value)); +	getChild<LLUICtrl>("loop_out_point")->setValue(LLSD(loop_out_value));  	return true;  } @@ -935,15 +921,15 @@ void LLFloaterAnimPreview::refresh()  	bool show_play = true;  	if (!mAnimPreview)  	{ -		childShow("bad_animation_text"); +		getChildView("bad_animation_text")->setVisible(TRUE);  		// play button visible but disabled  		mPlayButton->setEnabled(FALSE);  		mStopButton->setEnabled(FALSE); -		childDisable("ok_btn"); +		getChildView("ok_btn")->setEnabled(FALSE);  	}  	else  	{ -		childHide("bad_animation_text"); +		getChildView("bad_animation_text")->setVisible(FALSE);  		// re-enabled in case previous animation was bad  		mPlayButton->setEnabled(TRUE);  		mStopButton->setEnabled(TRUE); @@ -958,7 +944,7 @@ void LLFloaterAnimPreview::refresh()  				if (motionp)  				{  					F32 fraction_complete = motionp->getLastUpdateTime() / motionp->getDuration(); -					childSetValue("playback_slider", fraction_complete); +					getChild<LLUICtrl>("playback_slider")->setValue(fraction_complete);  				}  				show_play = false;  			} @@ -968,7 +954,7 @@ void LLFloaterAnimPreview::refresh()  			// Motion just finished playing  			mPauseRequest = avatarp->requestPause();  		} -		childEnable("ok_btn"); +		getChildView("ok_btn")->setEnabled(TRUE);  		mAnimPreview->requestUpdate();  	}  	mPlayButton->setVisible(show_play); @@ -999,8 +985,8 @@ void LLFloaterAnimPreview::onBtnOK(void* userdata)  			file.setMaxSize(size);  			if (file.write((U8*)buffer, size))  			{ -				std::string name = floaterp->childGetValue("name_form").asString(); -				std::string desc = floaterp->childGetValue("description_form").asString(); +				std::string name = floaterp->getChild<LLUICtrl>("name_form")->getValue().asString(); +				std::string desc = floaterp->getChild<LLUICtrl>("description_form")->getValue().asString();  				LLAssetStorage::LLStoreAssetCallback callback = NULL;  				S32 expected_upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload();  				void *userdata = NULL; diff --git a/indra/newview/llfloateranimpreview.h b/indra/newview/llfloateranimpreview.h index 84f131a322..24d7a93a17 100644 --- a/indra/newview/llfloateranimpreview.h +++ b/indra/newview/llfloateranimpreview.h @@ -89,22 +89,22 @@ public:  	void refresh(); -	static void	onBtnPlay(void*); -	static void	onBtnPause(void*);	 -	static void	onBtnStop(void*); -	static void onSliderMove(LLUICtrl*, void*); -	static void onCommitBaseAnim(LLUICtrl*, void*); -	static void onCommitLoop(LLUICtrl*, void*); -	static void onCommitLoopIn(LLUICtrl*, void*); -	static void onCommitLoopOut(LLUICtrl*, void*); +	void onBtnPlay(); +	void onBtnPause();	 +	void onBtnStop(); +	void onSliderMove(); +	void onCommitBaseAnim(); +	void onCommitLoop(); +	void onCommitLoopIn(); +	void onCommitLoopOut();  	bool validateLoopIn(const LLSD& data);  	bool validateLoopOut(const LLSD& data); -	static void onCommitName(LLUICtrl*, void*); -	static void onCommitHandPose(LLUICtrl*, void*); -	static void onCommitEmote(LLUICtrl*, void*); -	static void onCommitPriority(LLUICtrl*, void*); -	static void onCommitEaseIn(LLUICtrl*, void*); -	static void onCommitEaseOut(LLUICtrl*, void*); +	void onCommitName(); +	void onCommitHandPose(); +	void onCommitEmote(); +	void onCommitPriority(); +	void onCommitEaseIn(); +	void onCommitEaseOut();  	bool validateEaseIn(const LLSD& data);  	bool validateEaseOut(const LLSD& data);  	static void	onBtnOK(void*); diff --git a/indra/newview/llfloaterauction.cpp b/indra/newview/llfloaterauction.cpp index 679ab4c713..b0265e6cd2 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 8f6816b845..7dbf6ebd5b 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 d359856443..eee4310ec7 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 9bde3b1dac..76ec5da303 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 7fddd1fc5f..e8e0503f48 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 9379b3f5a8..455cce5e56 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 85a5f076ab..f181872faa 100644 --- a/indra/newview/llfloatercamera.cpp +++ b/indra/newview/llfloatercamera.cpp @@ -126,10 +126,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; @@ -144,9 +149,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"); @@ -255,12 +260,12 @@ void LLFloaterCamera::onAvatarEditingAppearance(bool editing)  void LLFloaterCamera::handleAvatarEditingAppearance(bool editing)  {  	//camera presets (rear, front, etc.) -	childSetEnabled("preset_views_list", !editing); -	childSetEnabled("presets_btn", !editing); +	getChildView("preset_views_list")->setEnabled(!editing); +	getChildView("presets_btn")->setEnabled(!editing);  	//camera modes (object view, mouselook view) -	childSetEnabled("camera_modes_list", !editing); -	childSetEnabled("avatarview_btn", !editing); +	getChildView("camera_modes_list")->setEnabled(!editing); +	getChildView("avatarview_btn")->setEnabled(!editing);  }  void LLFloaterCamera::update() @@ -499,15 +504,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 b65457c4eb..6922c515cd 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 48d552022f..50ea2765e7 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 2fffa6eece..eb344b91d3 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 f6cffd4b14..5fe0297b07 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 eff7131145..6cb33ea41c 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 bd07cfdfbf..61f5098af1 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 3952c54670..0bd8215e5c 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 480e4ce3a4..a97e00122a 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 f3c6b286ab..6aa1e92438 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 8a20712ea8..aa5cb47a78 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 13ca7638c5..4d4681a68d 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 78bc63ac8c..9c7957603e 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 100cbdb217..9a2c34b40f 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/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index f0ed659f5a..625b443abc 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -371,7 +371,7 @@ BOOL LLPanelLandGeneral::postBuild()  {  	mEditName = getChild<LLLineEditor>("Name");  	mEditName->setCommitCallback(onCommitAny, this);	 -	childSetPrevalidate("Name", LLTextValidate::validateASCIIPrintableNoPipe); +	getChild<LLLineEditor>("Name")->setPrevalidate(LLTextValidate::validateASCIIPrintableNoPipe);  	mEditDesc = getChild<LLTextEditor>("Description");  	mEditDesc->setCommitOnFocusLost(TRUE); @@ -388,7 +388,7 @@ BOOL LLPanelLandGeneral::postBuild()  	mLandType = getChild<LLTextBox>("LandTypeText");  	mBtnProfile = getChild<LLButton>("Profile..."); -	mBtnProfile->setClickedCallback(onClickProfile, this); +	mBtnProfile->setClickedCallback(boost::bind(&LLPanelLandGeneral::onClickProfile, this));  	mTextGroupLabel = getChild<LLTextBox>("Group:"); @@ -865,11 +865,9 @@ void LLPanelLandGeneral::onClickSetGroup()  	}  } -// static -void LLPanelLandGeneral::onClickProfile(void* data) +void LLPanelLandGeneral::onClickProfile()  { -	LLPanelLandGeneral* panelp = (LLPanelLandGeneral*)data; -	LLParcel* parcel = panelp->mParcel->getParcel(); +	LLParcel* parcel = mParcel->getParcel();  	if (!parcel) return;  	if (parcel->getIsGroupOwned()) @@ -920,13 +918,6 @@ void LLPanelLandGeneral::onClickScriptLimits(void* data)  	}  } -BOOL LLPanelLandGeneral::enableDeedToGroup(void* data) -{ -	LLPanelLandGeneral* panelp = (LLPanelLandGeneral*)data; -	LLParcel* parcel = panelp->mParcel->getParcel(); -	return (parcel != NULL) && (parcel->getParcelFlag(PF_ALLOW_DEED_TO_GROUP)); -} -  // static  void LLPanelLandGeneral::onClickDeed(void*)  { @@ -1140,7 +1131,7 @@ BOOL LLPanelLandObjects::postBuild()  	mCleanOtherObjectsTime->setFocusLostCallback(boost::bind(onLostFocus, _1, this));  	mCleanOtherObjectsTime->setCommitCallback(onCommitClean, this); -	childSetPrevalidate("clean other time", LLTextValidate::validateNonNegativeS32); +	getChild<LLLineEditor>("clean other time")->setPrevalidate(LLTextValidate::validateNonNegativeS32);  	mBtnRefresh = getChild<LLButton>("Refresh List");  	mBtnRefresh->setClickedCallback(onClickRefresh, this); @@ -2405,18 +2396,18 @@ void LLPanelLandAccess::refresh()  		BOOL use_group = parcel->getParcelFlag(PF_USE_ACCESS_GROUP);  		BOOL public_access = !use_access_list && !use_group; -		childSetValue("public_access", public_access ); -		childSetValue("GroupCheck", use_group ); +		getChild<LLUICtrl>("public_access")->setValue(public_access ); +		getChild<LLUICtrl>("GroupCheck")->setValue(use_group );  		std::string group_name;  		gCacheName->getGroupName(parcel->getGroupID(), group_name); -		childSetLabelArg("GroupCheck", "[GROUP]", group_name ); +		getChild<LLUICtrl>("GroupCheck")->setLabelArg("[GROUP]", group_name );  		// Allow list  		{  			S32 count = parcel->mAccessList.size(); -			childSetToolTipArg("AccessList", "[LISTED]", llformat("%d",count)); -			childSetToolTipArg("AccessList", "[MAX]", llformat("%d",PARCEL_MAX_ACCESS_LIST)); +			getChild<LLUICtrl>("AccessList")->setToolTipArg(LLStringExplicit("[LISTED]"), llformat("%d",count)); +			getChild<LLUICtrl>("AccessList")->setToolTipArg(LLStringExplicit("[MAX]"), llformat("%d",PARCEL_MAX_ACCESS_LIST));  			for (access_map_const_iterator cit = parcel->mAccessList.begin();  				 cit != parcel->mAccessList.end(); ++cit) @@ -2457,8 +2448,8 @@ void LLPanelLandAccess::refresh()  		{  			S32 count = parcel->mBanList.size(); -			childSetToolTipArg("BannedList", "[LISTED]", llformat("%d",count)); -			childSetToolTipArg("BannedList", "[MAX]", llformat("%d",PARCEL_MAX_ACCESS_LIST)); +			getChild<LLUICtrl>("BannedList")->setToolTipArg(LLStringExplicit("[LISTED]"), llformat("%d",count)); +			getChild<LLUICtrl>("BannedList")->setToolTipArg(LLStringExplicit("[MAX]"), llformat("%d",PARCEL_MAX_ACCESS_LIST));  			for (access_map_const_iterator cit = parcel->mBanList.begin();  				 cit != parcel->mBanList.end(); ++cit) @@ -2517,27 +2508,27 @@ void LLPanelLandAccess::refresh()  		if(parcel->getRegionDenyAnonymousOverride())  		{ -			childSetValue("limit_payment", TRUE); -			childSetLabelArg( "limit_payment", "[ESTATE_PAYMENT_LIMIT]", getString("access_estate_defined") ); +			getChild<LLUICtrl>("limit_payment")->setValue(TRUE); +			getChild<LLUICtrl>("limit_payment")->setLabelArg("[ESTATE_PAYMENT_LIMIT]", getString("access_estate_defined") );  		}  		else  		{ -			childSetValue("limit_payment", (parcel->getParcelFlag(PF_DENY_ANONYMOUS))); -			childSetLabelArg( "limit_payment", "[ESTATE_PAYMENT_LIMIT]", std::string() ); +			getChild<LLUICtrl>("limit_payment")->setValue((parcel->getParcelFlag(PF_DENY_ANONYMOUS))); +			getChild<LLUICtrl>("limit_payment")->setLabelArg("[ESTATE_PAYMENT_LIMIT]", std::string() );  		}  		if(parcel->getRegionDenyAgeUnverifiedOverride())  		{ -			childSetValue("limit_age_verified", TRUE); -			childSetLabelArg( "limit_age_verified", "[ESTATE_AGE_LIMIT]", getString("access_estate_defined") ); +			getChild<LLUICtrl>("limit_age_verified")->setValue(TRUE); +			getChild<LLUICtrl>("limit_age_verified")->setLabelArg("[ESTATE_AGE_LIMIT]", getString("access_estate_defined") );  		}  		else  		{ -			childSetValue("limit_age_verified", (parcel->getParcelFlag(PF_DENY_AGEUNVERIFIED))); -			childSetLabelArg( "limit_age_verified", "[ESTATE_AGE_LIMIT]", std::string() ); +			getChild<LLUICtrl>("limit_age_verified")->setValue((parcel->getParcelFlag(PF_DENY_AGEUNVERIFIED))); +			getChild<LLUICtrl>("limit_age_verified")->setLabelArg("[ESTATE_AGE_LIMIT]", std::string() );  		}  		BOOL use_pass = parcel->getParcelFlag(PF_USE_PASS_LIST); -		childSetValue("PassCheck",  use_pass ); +		getChild<LLUICtrl>("PassCheck")->setValue(use_pass );  		LLCtrlSelectionInterface* passcombo = childGetSelectionInterface("pass_combo");  		if (passcombo)  		{ @@ -2548,40 +2539,40 @@ void LLPanelLandAccess::refresh()  		}  		S32 pass_price = parcel->getPassPrice(); -		childSetValue( "PriceSpin", (F32)pass_price ); +		getChild<LLUICtrl>("PriceSpin")->setValue((F32)pass_price );  		F32 pass_hours = parcel->getPassHours(); -		childSetValue( "HoursSpin", pass_hours ); +		getChild<LLUICtrl>("HoursSpin")->setValue(pass_hours );  	}  	else  	{ -		childSetValue("public_access", FALSE); -		childSetValue("limit_payment", FALSE); -		childSetValue("limit_age_verified", FALSE); -		childSetValue("GroupCheck", FALSE); -		childSetLabelArg("GroupCheck", "[GROUP]", LLStringUtil::null ); -		childSetValue("PassCheck", FALSE); -		childSetValue("PriceSpin", (F32)PARCEL_PASS_PRICE_DEFAULT); -		childSetValue( "HoursSpin", PARCEL_PASS_HOURS_DEFAULT ); -		childSetToolTipArg("AccessList", "[LISTED]", llformat("%d",0)); -		childSetToolTipArg("AccessList", "[MAX]", llformat("%d",0)); -		childSetToolTipArg("BannedList", "[LISTED]", llformat("%d",0)); -		childSetToolTipArg("BannedList", "[MAX]", llformat("%d",0)); +		getChild<LLUICtrl>("public_access")->setValue(FALSE); +		getChild<LLUICtrl>("limit_payment")->setValue(FALSE); +		getChild<LLUICtrl>("limit_age_verified")->setValue(FALSE); +		getChild<LLUICtrl>("GroupCheck")->setValue(FALSE); +		getChild<LLUICtrl>("GroupCheck")->setLabelArg("[GROUP]", LLStringUtil::null ); +		getChild<LLUICtrl>("PassCheck")->setValue(FALSE); +		getChild<LLUICtrl>("PriceSpin")->setValue((F32)PARCEL_PASS_PRICE_DEFAULT); +		getChild<LLUICtrl>("HoursSpin")->setValue(PARCEL_PASS_HOURS_DEFAULT ); +		getChild<LLUICtrl>("AccessList")->setToolTipArg(LLStringExplicit("[LISTED]"), llformat("%d",0)); +		getChild<LLUICtrl>("AccessList")->setToolTipArg(LLStringExplicit("[MAX]"), llformat("%d",0)); +		getChild<LLUICtrl>("BannedList")->setToolTipArg(LLStringExplicit("[LISTED]"), llformat("%d",0)); +		getChild<LLUICtrl>("BannedList")->setToolTipArg(LLStringExplicit("[MAX]"), llformat("%d",0));  	}	  }  void LLPanelLandAccess::refresh_ui()  { -	childSetEnabled("public_access", FALSE); -	childSetEnabled("limit_payment", FALSE); -	childSetEnabled("limit_age_verified", FALSE); -	childSetEnabled("GroupCheck", FALSE); -	childSetEnabled("PassCheck", FALSE); -	childSetEnabled("pass_combo", FALSE); -	childSetEnabled("PriceSpin", FALSE); -	childSetEnabled("HoursSpin", FALSE); -	childSetEnabled("AccessList", FALSE); -	childSetEnabled("BannedList", FALSE); +	getChildView("public_access")->setEnabled(FALSE); +	getChildView("limit_payment")->setEnabled(FALSE); +	getChildView("limit_age_verified")->setEnabled(FALSE); +	getChildView("GroupCheck")->setEnabled(FALSE); +	getChildView("PassCheck")->setEnabled(FALSE); +	getChildView("pass_combo")->setEnabled(FALSE); +	getChildView("PriceSpin")->setEnabled(FALSE); +	getChildView("HoursSpin")->setEnabled(FALSE); +	getChildView("AccessList")->setEnabled(FALSE); +	getChildView("BannedList")->setEnabled(FALSE);  	LLParcel *parcel = mParcel->getParcel();  	if (parcel) @@ -2589,73 +2580,73 @@ void LLPanelLandAccess::refresh_ui()  		BOOL can_manage_allowed = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_MANAGE_ALLOWED);  		BOOL can_manage_banned = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_MANAGE_BANNED); -		childSetEnabled("public_access", can_manage_allowed); -		BOOL public_access = childGetValue("public_access").asBoolean(); +		getChildView("public_access")->setEnabled(can_manage_allowed); +		BOOL public_access = getChild<LLUICtrl>("public_access")->getValue().asBoolean();  		if (public_access)  		{  			bool override = false;  			if(parcel->getRegionDenyAnonymousOverride())  			{  				override = true; -				childSetEnabled("limit_payment", FALSE); +				getChildView("limit_payment")->setEnabled(FALSE);  			}  			else  			{ -				childSetEnabled("limit_payment", can_manage_allowed); +				getChildView("limit_payment")->setEnabled(can_manage_allowed);  			}  			if(parcel->getRegionDenyAgeUnverifiedOverride())  			{  				override = true; -				childSetEnabled("limit_age_verified", FALSE); +				getChildView("limit_age_verified")->setEnabled(FALSE);  			}  			else  			{ -				childSetEnabled("limit_age_verified", can_manage_allowed); +				getChildView("limit_age_verified")->setEnabled(can_manage_allowed);  			}  			if (override)  			{ -				childSetToolTip("Only Allow", getString("estate_override")); +				getChildView("Only Allow")->setToolTip(getString("estate_override"));  			}  			else  			{ -				childSetToolTip("Only Allow", std::string()); +				getChildView("Only Allow")->setToolTip(std::string());  			} -			childSetEnabled("GroupCheck", FALSE); -			childSetEnabled("PassCheck", FALSE); -			childSetEnabled("pass_combo", FALSE); -			childSetEnabled("AccessList", FALSE); +			getChildView("GroupCheck")->setEnabled(FALSE); +			getChildView("PassCheck")->setEnabled(FALSE); +			getChildView("pass_combo")->setEnabled(FALSE); +			getChildView("AccessList")->setEnabled(FALSE);  		}  		else  		{ -			childSetEnabled("limit_payment", FALSE); -			childSetEnabled("limit_age_verified", FALSE); +			getChildView("limit_payment")->setEnabled(FALSE); +			getChildView("limit_age_verified")->setEnabled(FALSE);  			std::string group_name;  			if (gCacheName->getGroupName(parcel->getGroupID(), group_name))  			{			 -				childSetEnabled("GroupCheck", can_manage_allowed); +				getChildView("GroupCheck")->setEnabled(can_manage_allowed);  			} -			BOOL group_access = childGetValue("GroupCheck").asBoolean(); -			BOOL sell_passes = childGetValue("PassCheck").asBoolean(); -			childSetEnabled("PassCheck", can_manage_allowed); +			BOOL group_access = getChild<LLUICtrl>("GroupCheck")->getValue().asBoolean(); +			BOOL sell_passes = getChild<LLUICtrl>("PassCheck")->getValue().asBoolean(); +			getChildView("PassCheck")->setEnabled(can_manage_allowed);  			if (sell_passes)  			{ -				childSetEnabled("pass_combo", group_access && can_manage_allowed); -				childSetEnabled("PriceSpin", can_manage_allowed); -				childSetEnabled("HoursSpin", can_manage_allowed); +				getChildView("pass_combo")->setEnabled(group_access && can_manage_allowed); +				getChildView("PriceSpin")->setEnabled(can_manage_allowed); +				getChildView("HoursSpin")->setEnabled(can_manage_allowed);  			}  		} -		childSetEnabled("AccessList", can_manage_allowed); +		getChildView("AccessList")->setEnabled(can_manage_allowed);  		S32 allowed_list_count = parcel->mAccessList.size(); -		childSetEnabled("add_allowed", can_manage_allowed && allowed_list_count < PARCEL_MAX_ACCESS_LIST); +		getChildView("add_allowed")->setEnabled(can_manage_allowed && allowed_list_count < PARCEL_MAX_ACCESS_LIST);  		BOOL has_selected = mListAccess->getSelectionInterface()->getFirstSelectedIndex() >= 0; -		childSetEnabled("remove_allowed", can_manage_allowed && has_selected); +		getChildView("remove_allowed")->setEnabled(can_manage_allowed && has_selected); -		childSetEnabled("BannedList", can_manage_banned); +		getChildView("BannedList")->setEnabled(can_manage_banned);  		S32 banned_list_count = parcel->mBanList.size(); -		childSetEnabled("add_banned", can_manage_banned && banned_list_count < PARCEL_MAX_ACCESS_LIST); +		getChildView("add_banned")->setEnabled(can_manage_banned && banned_list_count < PARCEL_MAX_ACCESS_LIST);  		has_selected = mListBanned->getSelectionInterface()->getFirstSelectedIndex() >= 0; -		childSetEnabled("remove_banned", can_manage_banned && has_selected); +		getChildView("remove_banned")->setEnabled(can_manage_banned && has_selected);  	}  } @@ -2669,7 +2660,7 @@ void LLPanelLandAccess::refreshNames()  	{  		gCacheName->getGroupName(parcel->getGroupID(), group_name);  	} -	childSetLabelArg("GroupCheck", "[GROUP]", group_name); +	getChild<LLUICtrl>("GroupCheck")->setLabelArg("[GROUP]", group_name);  } @@ -2692,13 +2683,13 @@ void LLPanelLandAccess::onCommitPublicAccess(LLUICtrl *ctrl, void *userdata)  	}  	// If we disabled public access, enable group access by default (if applicable) -	BOOL public_access = self->childGetValue("public_access").asBoolean(); +	BOOL public_access = self->getChild<LLUICtrl>("public_access")->getValue().asBoolean();  	if (public_access == FALSE)  	{  		std::string group_name;  		if (gCacheName->getGroupName(parcel->getGroupID(), group_name))  		{ -			self->childSetValue("GroupCheck", public_access ? FALSE : TRUE); +			self->getChild<LLUICtrl>("GroupCheck")->setValue(public_access ? FALSE : TRUE);  		}  	} @@ -2717,8 +2708,8 @@ void LLPanelLandAccess::onCommitAny(LLUICtrl *ctrl, void *userdata)  	}  	// Extract data from UI -	BOOL public_access = self->childGetValue("public_access").asBoolean(); -	BOOL use_access_group = self->childGetValue("GroupCheck").asBoolean(); +	BOOL public_access = self->getChild<LLUICtrl>("public_access")->getValue().asBoolean(); +	BOOL use_access_group = self->getChild<LLUICtrl>("GroupCheck")->getValue().asBoolean();  	if (use_access_group)  	{  		std::string group_name; @@ -2736,13 +2727,13 @@ void LLPanelLandAccess::onCommitAny(LLUICtrl *ctrl, void *userdata)  	{  		use_access_list = FALSE;  		use_access_group = FALSE; -		limit_payment = self->childGetValue("limit_payment").asBoolean(); -		limit_age_verified = self->childGetValue("limit_age_verified").asBoolean(); +		limit_payment = self->getChild<LLUICtrl>("limit_payment")->getValue().asBoolean(); +		limit_age_verified = self->getChild<LLUICtrl>("limit_age_verified")->getValue().asBoolean();  	}  	else  	{  		use_access_list = TRUE; -		use_pass_list = self->childGetValue("PassCheck").asBoolean(); +		use_pass_list = self->getChild<LLUICtrl>("PassCheck")->getValue().asBoolean();  		if (use_access_group && use_pass_list)  		{  			LLCtrlSelectionInterface* passcombo = self->childGetSelectionInterface("pass_combo"); @@ -2756,8 +2747,8 @@ void LLPanelLandAccess::onCommitAny(LLUICtrl *ctrl, void *userdata)  		}  	} -	S32 pass_price = llfloor((F32)self->childGetValue("PriceSpin").asReal()); -	F32 pass_hours = (F32)self->childGetValue("HoursSpin").asReal(); +	S32 pass_price = llfloor((F32)self->getChild<LLUICtrl>("PriceSpin")->getValue().asReal()); +	F32 pass_hours = (F32)self->getChild<LLUICtrl>("HoursSpin")->getValue().asReal();  	// Push data into current parcel  	parcel->setParcelFlag(PF_USE_ACCESS_GROUP,	use_access_group); diff --git a/indra/newview/llfloaterland.h b/indra/newview/llfloaterland.h index 0a743e5215..130f52361a 100644 --- a/indra/newview/llfloaterland.h +++ b/indra/newview/llfloaterland.h @@ -144,9 +144,8 @@ public:  	virtual void draw();  	void setGroup(const LLUUID& group_id); -	static void onClickProfile(void*); -		   void onClickSetGroup(); -	static BOOL enableDeedToGroup(void*); +	void onClickProfile(); +	void onClickSetGroup();  	static void onClickDeed(void*);  	static void onClickBuyLand(void* data);  	static void onClickScriptLimits(void* data); diff --git a/indra/newview/llfloaterlandholdings.cpp b/indra/newview/llfloaterlandholdings.cpp index 19552ca9c9..3c8ee6eb9e 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 5673550fbe..5405de2f9a 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 529bd68e03..51843c6833 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 159ce41b79..dc9b883fb2 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 d39ed77491..a2a3d300e7 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 ba7526ccd5..c1640e2609 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 8da44e2035..dc4553ef96 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 87a12d3d66..06c0a94afa 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 ab32c2f6bf..7791c037d3 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 30b654de24..b6a98bdada 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/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 8c219cb3fd..8af4955f92 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -332,20 +332,20 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg)  	// GENERAL PANEL  	panel = tab->getChild<LLPanel>("General"); -	panel->childSetValue("region_text", LLSD(sim_name)); -	panel->childSetValue("region_type", LLSD(sim_type)); -	panel->childSetValue("version_channel_text", gLastVersionChannel); - -	panel->childSetValue("block_terraform_check", (region_flags & REGION_FLAGS_BLOCK_TERRAFORM) ? TRUE : FALSE ); -	panel->childSetValue("block_fly_check", (region_flags & REGION_FLAGS_BLOCK_FLY) ? TRUE : FALSE ); -	panel->childSetValue("allow_damage_check", (region_flags & REGION_FLAGS_ALLOW_DAMAGE) ? TRUE : FALSE ); -	panel->childSetValue("restrict_pushobject", (region_flags & REGION_FLAGS_RESTRICT_PUSHOBJECT) ? TRUE : FALSE ); -	panel->childSetValue("allow_land_resell_check", (region_flags & REGION_FLAGS_BLOCK_LAND_RESELL) ? FALSE : TRUE ); -	panel->childSetValue("allow_parcel_changes_check", (region_flags & REGION_FLAGS_ALLOW_PARCEL_CHANGES) ? TRUE : FALSE ); -	panel->childSetValue("block_parcel_search_check", (region_flags & REGION_FLAGS_BLOCK_PARCEL_SEARCH) ? TRUE : FALSE ); -	panel->childSetValue("agent_limit_spin", LLSD((F32)agent_limit) ); -	panel->childSetValue("object_bonus_spin", LLSD(object_bonus_factor) ); -	panel->childSetValue("access_combo", LLSD(sim_access) ); +	panel->getChild<LLUICtrl>("region_text")->setValue(LLSD(sim_name)); +	panel->getChild<LLUICtrl>("region_type")->setValue(LLSD(sim_type)); +	panel->getChild<LLUICtrl>("version_channel_text")->setValue(gLastVersionChannel); + +	panel->getChild<LLUICtrl>("block_terraform_check")->setValue((region_flags & REGION_FLAGS_BLOCK_TERRAFORM) ? TRUE : FALSE ); +	panel->getChild<LLUICtrl>("block_fly_check")->setValue((region_flags & REGION_FLAGS_BLOCK_FLY) ? TRUE : FALSE ); +	panel->getChild<LLUICtrl>("allow_damage_check")->setValue((region_flags & REGION_FLAGS_ALLOW_DAMAGE) ? TRUE : FALSE ); +	panel->getChild<LLUICtrl>("restrict_pushobject")->setValue((region_flags & REGION_FLAGS_RESTRICT_PUSHOBJECT) ? TRUE : FALSE ); +	panel->getChild<LLUICtrl>("allow_land_resell_check")->setValue((region_flags & REGION_FLAGS_BLOCK_LAND_RESELL) ? FALSE : TRUE ); +	panel->getChild<LLUICtrl>("allow_parcel_changes_check")->setValue((region_flags & REGION_FLAGS_ALLOW_PARCEL_CHANGES) ? TRUE : FALSE ); +	panel->getChild<LLUICtrl>("block_parcel_search_check")->setValue((region_flags & REGION_FLAGS_BLOCK_PARCEL_SEARCH) ? TRUE : FALSE ); +	panel->getChild<LLUICtrl>("agent_limit_spin")->setValue(LLSD((F32)agent_limit) ); +	panel->getChild<LLUICtrl>("object_bonus_spin")->setValue(LLSD(object_bonus_factor) ); +	panel->getChild<LLUICtrl>("access_combo")->setValue(LLSD(sim_access) );   	// detect teen grid for maturity @@ -353,32 +353,32 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg)  	U32 parent_estate_id;  	msg->getU32("RegionInfo", "ParentEstateID", parent_estate_id);  	BOOL teen_grid = (parent_estate_id == 5);  // *TODO add field to estate table and test that -	panel->childSetEnabled("access_combo", gAgent.isGodlike() || (region && region->canManageEstate() && !teen_grid)); +	panel->getChildView("access_combo")->setEnabled(gAgent.isGodlike() || (region && region->canManageEstate() && !teen_grid));  	panel->setCtrlsEnabled(allow_modify);  	// DEBUG PANEL  	panel = tab->getChild<LLPanel>("Debug"); -	panel->childSetValue("region_text", LLSD(sim_name) ); -	panel->childSetValue("disable_scripts_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_SCRIPTS)) ); -	panel->childSetValue("disable_collisions_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_COLLISIONS)) ); -	panel->childSetValue("disable_physics_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_PHYSICS)) ); +	panel->getChild<LLUICtrl>("region_text")->setValue(LLSD(sim_name) ); +	panel->getChild<LLUICtrl>("disable_scripts_check")->setValue(LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_SCRIPTS)) ); +	panel->getChild<LLUICtrl>("disable_collisions_check")->setValue(LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_COLLISIONS)) ); +	panel->getChild<LLUICtrl>("disable_physics_check")->setValue(LLSD((BOOL)(region_flags & REGION_FLAGS_SKIP_PHYSICS)) );  	panel->setCtrlsEnabled(allow_modify);  	// TERRAIN PANEL  	panel = tab->getChild<LLPanel>("Terrain"); -	panel->childSetValue("region_text", LLSD(sim_name)); -	panel->childSetValue("water_height_spin", LLSD(water_height)); -	panel->childSetValue("terrain_raise_spin", LLSD(terrain_raise_limit)); -	panel->childSetValue("terrain_lower_spin", LLSD(terrain_lower_limit)); -	panel->childSetValue("use_estate_sun_check", LLSD(use_estate_sun)); +	panel->getChild<LLUICtrl>("region_text")->setValue(LLSD(sim_name)); +	panel->getChild<LLUICtrl>("water_height_spin")->setValue(LLSD(water_height)); +	panel->getChild<LLUICtrl>("terrain_raise_spin")->setValue(LLSD(terrain_raise_limit)); +	panel->getChild<LLUICtrl>("terrain_lower_spin")->setValue(LLSD(terrain_lower_limit)); +	panel->getChild<LLUICtrl>("use_estate_sun_check")->setValue(LLSD(use_estate_sun)); -	panel->childSetValue("fixed_sun_check", LLSD((BOOL)(region_flags & REGION_FLAGS_SUN_FIXED))); -	panel->childSetEnabled("fixed_sun_check", allow_modify && !use_estate_sun); -	panel->childSetValue("sun_hour_slider", LLSD(sun_hour)); -	panel->childSetEnabled("sun_hour_slider", allow_modify && !use_estate_sun); +	panel->getChild<LLUICtrl>("fixed_sun_check")->setValue(LLSD((BOOL)(region_flags & REGION_FLAGS_SUN_FIXED))); +	panel->getChildView("fixed_sun_check")->setEnabled(allow_modify && !use_estate_sun); +	panel->getChild<LLUICtrl>("sun_hour_slider")->setValue(LLSD(sun_hour)); +	panel->getChildView("sun_hour_slider")->setEnabled(allow_modify && !use_estate_sun);  	panel->setCtrlsEnabled(allow_modify);  	floater->refreshFromRegion( gAgent.getRegion() ); @@ -485,7 +485,7 @@ void LLPanelRegionInfo::onChangeText(LLLineEditor* caller, void* user_data)  BOOL LLPanelRegionInfo::postBuild()  {  	getChild<LLUICtrl>("apply_btn")->setCommitCallback(boost::bind(&LLPanelRegionInfo::onBtnSet, this)); -	childDisable("apply_btn"); +	getChildView("apply_btn")->setEnabled(FALSE);  	refresh();  	return TRUE;  } @@ -537,12 +537,12 @@ void LLPanelRegionInfo::sendEstateOwnerMessage(  void LLPanelRegionInfo::enableButton(const std::string& btn_name, BOOL enable)  { -	childSetEnabled(btn_name, enable); +	getChildView(btn_name)->setEnabled(enable);  }  void LLPanelRegionInfo::disableButton(const std::string& btn_name)  { -	childDisable(btn_name); +	getChildView(btn_name)->setEnabled(FALSE);  }  void LLPanelRegionInfo::initCtrl(const std::string& name) @@ -563,14 +563,14 @@ bool LLPanelRegionGeneralInfo::refreshFromRegion(LLViewerRegion* region)  {  	BOOL allow_modify = gAgent.isGodlike() || (region && region->canManageEstate());  	setCtrlsEnabled(allow_modify); -	childDisable("apply_btn"); -	childSetEnabled("access_text", allow_modify); -	// childSetEnabled("access_combo", allow_modify); +	getChildView("apply_btn")->setEnabled(FALSE); +	getChildView("access_text")->setEnabled(allow_modify); +	// getChildView("access_combo")->setEnabled(allow_modify);  	// now set in processRegionInfo for teen grid detection -	childSetEnabled("kick_btn", allow_modify); -	childSetEnabled("kick_all_btn", allow_modify); -	childSetEnabled("im_btn", allow_modify); -	childSetEnabled("manage_telehub_btn", allow_modify); +	getChildView("kick_btn")->setEnabled(allow_modify); +	getChildView("kick_all_btn")->setEnabled(allow_modify); +	getChildView("im_btn")->setEnabled(allow_modify); +	getChildView("manage_telehub_btn")->setEnabled(allow_modify);  	// Data gets filled in by processRegionInfo @@ -719,16 +719,16 @@ BOOL LLPanelRegionGeneralInfo::sendUpdate()  	std::string url = gAgent.getRegion()->getCapability("DispatchRegionInfo");  	if (!url.empty())  	{ -		body["block_terraform"] = childGetValue("block_terraform_check"); -		body["block_fly"] = childGetValue("block_fly_check"); -		body["allow_damage"] = childGetValue("allow_damage_check"); -		body["allow_land_resell"] = childGetValue("allow_land_resell_check"); -		body["agent_limit"] = childGetValue("agent_limit_spin"); -		body["prim_bonus"] = childGetValue("object_bonus_spin"); -		body["sim_access"] = childGetValue("access_combo"); -		body["restrict_pushobject"] = childGetValue("restrict_pushobject"); -		body["allow_parcel_changes"] = childGetValue("allow_parcel_changes_check"); -		body["block_parcel_search"] = childGetValue("block_parcel_search_check"); +		body["block_terraform"] = getChild<LLUICtrl>("block_terraform_check")->getValue(); +		body["block_fly"] = getChild<LLUICtrl>("block_fly_check")->getValue(); +		body["allow_damage"] = getChild<LLUICtrl>("allow_damage_check")->getValue(); +		body["allow_land_resell"] = getChild<LLUICtrl>("allow_land_resell_check")->getValue(); +		body["agent_limit"] = getChild<LLUICtrl>("agent_limit_spin")->getValue(); +		body["prim_bonus"] = getChild<LLUICtrl>("object_bonus_spin")->getValue(); +		body["sim_access"] = getChild<LLUICtrl>("access_combo")->getValue(); +		body["restrict_pushobject"] = getChild<LLUICtrl>("restrict_pushobject")->getValue(); +		body["allow_parcel_changes"] = getChild<LLUICtrl>("allow_parcel_changes_check")->getValue(); +		body["block_parcel_search"] = getChild<LLUICtrl>("block_parcel_search_check")->getValue();  		LLHTTPClient::post(url, body, new LLHTTPClient::Responder());  	} @@ -737,33 +737,33 @@ BOOL LLPanelRegionGeneralInfo::sendUpdate()  		strings_t strings;  		std::string buffer; -		buffer = llformat("%s", (childGetValue("block_terraform_check").asBoolean() ? "Y" : "N")); +		buffer = llformat("%s", (getChild<LLUICtrl>("block_terraform_check")->getValue().asBoolean() ? "Y" : "N"));  		strings.push_back(strings_t::value_type(buffer)); -		buffer = llformat("%s", (childGetValue("block_fly_check").asBoolean() ? "Y" : "N")); +		buffer = llformat("%s", (getChild<LLUICtrl>("block_fly_check")->getValue().asBoolean() ? "Y" : "N"));  		strings.push_back(strings_t::value_type(buffer)); -		buffer = llformat("%s", (childGetValue("allow_damage_check").asBoolean() ? "Y" : "N")); +		buffer = llformat("%s", (getChild<LLUICtrl>("allow_damage_check")->getValue().asBoolean() ? "Y" : "N"));  		strings.push_back(strings_t::value_type(buffer)); -		buffer = llformat("%s", (childGetValue("allow_land_resell_check").asBoolean() ? "Y" : "N")); +		buffer = llformat("%s", (getChild<LLUICtrl>("allow_land_resell_check")->getValue().asBoolean() ? "Y" : "N"));  		strings.push_back(strings_t::value_type(buffer)); -		F32 value = (F32)childGetValue("agent_limit_spin").asReal(); +		F32 value = (F32)getChild<LLUICtrl>("agent_limit_spin")->getValue().asReal();  		buffer = llformat("%f", value);  		strings.push_back(strings_t::value_type(buffer)); -		value = (F32)childGetValue("object_bonus_spin").asReal(); +		value = (F32)getChild<LLUICtrl>("object_bonus_spin")->getValue().asReal();  		buffer = llformat("%f", value);  		strings.push_back(strings_t::value_type(buffer)); -		buffer = llformat("%d", childGetValue("access_combo").asInteger()); +		buffer = llformat("%d", getChild<LLUICtrl>("access_combo")->getValue().asInteger());  		strings.push_back(strings_t::value_type(buffer)); -		buffer = llformat("%s", (childGetValue("restrict_pushobject").asBoolean() ? "Y" : "N")); +		buffer = llformat("%s", (getChild<LLUICtrl>("restrict_pushobject")->getValue().asBoolean() ? "Y" : "N"));  		strings.push_back(strings_t::value_type(buffer)); -		buffer = llformat("%s", (childGetValue("allow_parcel_changes_check").asBoolean() ? "Y" : "N")); +		buffer = llformat("%s", (getChild<LLUICtrl>("allow_parcel_changes_check")->getValue().asBoolean() ? "Y" : "N"));  		strings.push_back(strings_t::value_type(buffer));  		LLUUID invoice(LLFloaterRegionInfo::getLastInvoice()); @@ -772,7 +772,7 @@ BOOL LLPanelRegionGeneralInfo::sendUpdate()  	// if we changed access levels, tell user about it  	LLViewerRegion* region = gAgent.getRegion(); -	if (region && (childGetValue("access_combo").asInteger() != region->getSimAccess()) ) +	if (region && (getChild<LLUICtrl>("access_combo")->getValue().asInteger() != region->getSimAccess()) )  	{  		LLNotificationsUtil::add("RegionMaturityChange");  	}	 @@ -805,18 +805,18 @@ bool LLPanelRegionDebugInfo::refreshFromRegion(LLViewerRegion* region)  {  	BOOL allow_modify = gAgent.isGodlike() || (region && region->canManageEstate());  	setCtrlsEnabled(allow_modify); -	childDisable("apply_btn"); -	childDisable("target_avatar_name"); +	getChildView("apply_btn")->setEnabled(FALSE); +	getChildView("target_avatar_name")->setEnabled(FALSE); -	childSetEnabled("choose_avatar_btn", allow_modify); -	childSetEnabled("return_scripts", allow_modify && !mTargetAvatar.isNull()); -	childSetEnabled("return_other_land", allow_modify && !mTargetAvatar.isNull()); -	childSetEnabled("return_estate_wide", allow_modify && !mTargetAvatar.isNull()); -	childSetEnabled("return_btn", allow_modify && !mTargetAvatar.isNull()); -	childSetEnabled("top_colliders_btn", allow_modify); -	childSetEnabled("top_scripts_btn", allow_modify); -	childSetEnabled("restart_btn", allow_modify); -	childSetEnabled("cancel_restart_btn", allow_modify); +	getChildView("choose_avatar_btn")->setEnabled(allow_modify); +	getChildView("return_scripts")->setEnabled(allow_modify && !mTargetAvatar.isNull()); +	getChildView("return_other_land")->setEnabled(allow_modify && !mTargetAvatar.isNull()); +	getChildView("return_estate_wide")->setEnabled(allow_modify && !mTargetAvatar.isNull()); +	getChildView("return_btn")->setEnabled(allow_modify && !mTargetAvatar.isNull()); +	getChildView("top_colliders_btn")->setEnabled(allow_modify); +	getChildView("top_scripts_btn")->setEnabled(allow_modify); +	getChildView("restart_btn")->setEnabled(allow_modify); +	getChildView("cancel_restart_btn")->setEnabled(allow_modify);  	return LLPanelRegionInfo::refreshFromRegion(region);  } @@ -828,13 +828,13 @@ BOOL LLPanelRegionDebugInfo::sendUpdate()  	strings_t strings;  	std::string buffer; -	buffer = llformat("%s", (childGetValue("disable_scripts_check").asBoolean() ? "Y" : "N")); +	buffer = llformat("%s", (getChild<LLUICtrl>("disable_scripts_check")->getValue().asBoolean() ? "Y" : "N"));  	strings.push_back(buffer); -	buffer = llformat("%s", (childGetValue("disable_collisions_check").asBoolean() ? "Y" : "N")); +	buffer = llformat("%s", (getChild<LLUICtrl>("disable_collisions_check")->getValue().asBoolean() ? "Y" : "N"));  	strings.push_back(buffer); -	buffer = llformat("%s", (childGetValue("disable_physics_check").asBoolean() ? "Y" : "N")); +	buffer = llformat("%s", (getChild<LLUICtrl>("disable_physics_check")->getValue().asBoolean() ? "Y" : "N"));  	strings.push_back(buffer);  	LLUUID invoice(LLFloaterRegionInfo::getLastInvoice()); @@ -852,7 +852,7 @@ void LLPanelRegionDebugInfo::callbackAvatarID(const std::vector<std::string>& na  {  	if (ids.empty() || names.empty()) return;  	mTargetAvatar = ids[0]; -	childSetValue("target_avatar_name", LLSD(names[0])); +	getChild<LLUICtrl>("target_avatar_name")->setValue(LLSD(names[0]));  	refreshFromRegion( gAgent.getRegion() );  } @@ -863,23 +863,23 @@ void LLPanelRegionDebugInfo::onClickReturn(void* data)  	if (panelp->mTargetAvatar.isNull()) return;  	LLSD args; -	args["USER_NAME"] = panelp->childGetValue("target_avatar_name").asString(); +	args["USER_NAME"] = panelp->getChild<LLUICtrl>("target_avatar_name")->getValue().asString();  	LLSD payload;  	payload["avatar_id"] = panelp->mTargetAvatar;  	U32 flags = SWD_ALWAYS_RETURN_OBJECTS; -	if (panelp->childGetValue("return_scripts").asBoolean()) +	if (panelp->getChild<LLUICtrl>("return_scripts")->getValue().asBoolean())  	{  		flags |= SWD_SCRIPTED_ONLY;  	} -	if (panelp->childGetValue("return_other_land").asBoolean()) +	if (panelp->getChild<LLUICtrl>("return_other_land")->getValue().asBoolean())  	{  		flags |= SWD_OTHERS_LAND_ONLY;  	}  	payload["flags"] = int(flags); -	payload["return_estate_wide"] = panelp->childGetValue("return_estate_wide").asBoolean(); +	payload["return_estate_wide"] = panelp->getChild<LLUICtrl>("return_estate_wide")->getValue().asBoolean();  	LLNotificationsUtil::add("EstateObjectReturn", args, payload,   									boost::bind(&LLPanelRegionDebugInfo::callbackReturn, panelp, _1, _2));  } @@ -985,15 +985,15 @@ bool LLPanelRegionTextureInfo::refreshFromRegion(LLViewerRegion* region)  {  	BOOL allow_modify = gAgent.isGodlike() || (region && region->canManageEstate());  	setCtrlsEnabled(allow_modify); -	childDisable("apply_btn"); +	getChildView("apply_btn")->setEnabled(FALSE);  	if (region)  	{ -		childSetValue("region_text", LLSD(region->getName())); +		getChild<LLUICtrl>("region_text")->setValue(LLSD(region->getName()));  	}  	else  	{ -		childSetValue("region_text", LLSD("")); +		getChild<LLUICtrl>("region_text")->setValue(LLSD(""));  	}  	if (!region) return LLPanelRegionInfo::refreshFromRegion(region); @@ -1017,9 +1017,9 @@ bool LLPanelRegionTextureInfo::refreshFromRegion(LLViewerRegion* region)  	for(S32 i = 0; i < CORNER_COUNT; ++i)      {  		buffer = llformat("height_start_spin_%d", i); -		childSetValue(buffer, LLSD(compp->getStartHeight(i))); +		getChild<LLUICtrl>(buffer)->setValue(LLSD(compp->getStartHeight(i)));  		buffer = llformat("height_range_spin_%d", i); -		childSetValue(buffer, LLSD(compp->getHeightRange(i))); +		getChild<LLUICtrl>(buffer)->setValue(LLSD(compp->getHeightRange(i)));  	}  	// Call the parent for common book-keeping @@ -1088,7 +1088,7 @@ BOOL LLPanelRegionTextureInfo::sendUpdate()  	{  		buffer = llformat("height_start_spin_%d", i);  		std::string buffer2 = llformat("height_range_spin_%d", i); -		std::string buffer3 = llformat("%d %f %f", i, (F32)childGetValue(buffer).asReal(), (F32)childGetValue(buffer2).asReal()); +		std::string buffer3 = llformat("%d %f %f", i, (F32)getChild<LLUICtrl>(buffer)->getValue().asReal(), (F32)getChild<LLUICtrl>(buffer2)->getValue().asReal());  		strings.push_back(buffer3);  	}  	sendEstateOwnerMessage(msg, "textureheights", invoice, strings); @@ -1181,11 +1181,11 @@ bool LLPanelRegionTerrainInfo::refreshFromRegion(LLViewerRegion* region)  	BOOL owner_or_god_or_manager = owner_or_god  						|| (region && region->isEstateManager());  	setCtrlsEnabled(owner_or_god_or_manager); -	childDisable("apply_btn"); +	getChildView("apply_btn")->setEnabled(FALSE); -	childSetEnabled("download_raw_btn", owner_or_god); -	childSetEnabled("upload_raw_btn", owner_or_god); -	childSetEnabled("bake_terrain_btn", owner_or_god); +	getChildView("download_raw_btn")->setEnabled(owner_or_god); +	getChildView("upload_raw_btn")->setEnabled(owner_or_god); +	getChildView("bake_terrain_btn")->setEnabled(owner_or_god);  	return LLPanelRegionInfo::refreshFromRegion(region);  } @@ -1198,17 +1198,17 @@ BOOL LLPanelRegionTerrainInfo::sendUpdate()  	strings_t strings;  	LLUUID invoice(LLFloaterRegionInfo::getLastInvoice()); -	buffer = llformat("%f", (F32)childGetValue("water_height_spin").asReal()); +	buffer = llformat("%f", (F32)getChild<LLUICtrl>("water_height_spin")->getValue().asReal());  	strings.push_back(buffer); -	buffer = llformat("%f", (F32)childGetValue("terrain_raise_spin").asReal()); +	buffer = llformat("%f", (F32)getChild<LLUICtrl>("terrain_raise_spin")->getValue().asReal());  	strings.push_back(buffer); -	buffer = llformat("%f", (F32)childGetValue("terrain_lower_spin").asReal()); +	buffer = llformat("%f", (F32)getChild<LLUICtrl>("terrain_lower_spin")->getValue().asReal());  	strings.push_back(buffer); -	buffer = llformat("%s", (childGetValue("use_estate_sun_check").asBoolean() ? "Y" : "N")); +	buffer = llformat("%s", (getChild<LLUICtrl>("use_estate_sun_check")->getValue().asBoolean() ? "Y" : "N"));  	strings.push_back(buffer); -	buffer = llformat("%s", (childGetValue("fixed_sun_check").asBoolean() ? "Y" : "N")); +	buffer = llformat("%s", (getChild<LLUICtrl>("fixed_sun_check")->getValue().asBoolean() ? "Y" : "N"));  	strings.push_back(buffer); -	buffer = llformat("%f", (F32)childGetValue("sun_hour_slider").asReal() ); +	buffer = llformat("%f", (F32)getChild<LLUICtrl>("sun_hour_slider")->getValue().asReal() );  	strings.push_back(buffer);  	// Grab estate information in case the user decided to set the @@ -1247,27 +1247,27 @@ BOOL LLPanelRegionTerrainInfo::sendUpdate()  void LLPanelRegionTerrainInfo::onChangeUseEstateTime()  { -	BOOL use_estate_sun = childGetValue("use_estate_sun_check").asBoolean(); -	childSetEnabled("fixed_sun_check", !use_estate_sun); -	childSetEnabled("sun_hour_slider", !use_estate_sun); +	BOOL use_estate_sun = getChild<LLUICtrl>("use_estate_sun_check")->getValue().asBoolean(); +	getChildView("fixed_sun_check")->setEnabled(!use_estate_sun); +	getChildView("sun_hour_slider")->setEnabled(!use_estate_sun);  	if (use_estate_sun)  	{ -		childSetValue("fixed_sun_check", LLSD(FALSE)); -		childSetValue("sun_hour_slider", LLSD(0.f)); +		getChild<LLUICtrl>("fixed_sun_check")->setValue(LLSD(FALSE)); +		getChild<LLUICtrl>("sun_hour_slider")->setValue(LLSD(0.f));  	} -	childEnable("apply_btn"); +	getChildView("apply_btn")->setEnabled(TRUE);  }  void LLPanelRegionTerrainInfo::onChangeFixedSun()  {  	// Just enable the apply button.  We let the sun-hour slider be enabled  	// for both fixed-sun and non-fixed-sun. JC -	childEnable("apply_btn"); +	getChildView("apply_btn")->setEnabled(TRUE);  }  void LLPanelRegionTerrainInfo::onChangeSunHour()  { -	childEnable("apply_btn"); +	getChildView("apply_btn")->setEnabled(TRUE);  }  // static @@ -1363,19 +1363,19 @@ void LLPanelEstateInfo::initDispatch(LLDispatcher& dispatch)  // Disables the sun-hour slider and the use fixed time check if the use global time is check  void LLPanelEstateInfo::onChangeUseGlobalTime()  { -	bool enabled = !childGetValue("use_global_time_check").asBoolean(); -	childSetEnabled("sun_hour_slider", enabled); -	childSetEnabled("fixed_sun_check", enabled); -	childSetValue("fixed_sun_check", LLSD(FALSE)); +	bool enabled = !getChild<LLUICtrl>("use_global_time_check")->getValue().asBoolean(); +	getChildView("sun_hour_slider")->setEnabled(enabled); +	getChildView("fixed_sun_check")->setEnabled(enabled); +	getChild<LLUICtrl>("fixed_sun_check")->setValue(LLSD(FALSE));  	enableButton("apply_btn");  }  // Enables the sun-hour slider if the fixed-sun checkbox is set  void LLPanelEstateInfo::onChangeFixedSun()  { -	bool enabled = !childGetValue("fixed_sun_check").asBoolean(); -	childSetEnabled("use_global_time_check", enabled); -	childSetValue("use_global_time_check", LLSD(FALSE)); +	bool enabled = !getChild<LLUICtrl>("fixed_sun_check")->getValue().asBoolean(); +	getChildView("use_global_time_check")->setEnabled(enabled); +	getChild<LLUICtrl>("use_global_time_check")->setValue(LLSD(FALSE));  	enableButton("apply_btn");  } @@ -1385,21 +1385,19 @@ void LLPanelEstateInfo::onChangeFixedSun()  //---------------------------------------------------------------------------  // Add/Remove estate access button callbacks  //--------------------------------------------------------------------------- -void LLPanelEstateInfo::onClickEditSky(void* user_data) +void LLPanelEstateInfo::onClickEditSky()  {  	LLFloaterReg::showInstance("env_windlight");  } -void LLPanelEstateInfo::onClickEditDayCycle(void* user_data) +void LLPanelEstateInfo::onClickEditDayCycle()  {  	LLFloaterReg::showInstance("env_day_cycle");  } -// static -void LLPanelEstateInfo::onClickAddAllowedAgent(void* user_data) +void LLPanelEstateInfo::onClickAddAllowedAgent()  { -	LLPanelEstateInfo* self = (LLPanelEstateInfo*)user_data; -	LLCtrlListInterface *list = self->childGetListInterface("allowed_avatar_name_list"); +	LLCtrlListInterface *list = childGetListInterface("allowed_avatar_name_list");  	if (!list) return;  	if (list->getItemCount() >= ESTATE_MAX_ACCESS_IDS)  	{ @@ -1413,8 +1411,7 @@ void LLPanelEstateInfo::onClickAddAllowedAgent(void* user_data)  	accessAddCore(ESTATE_ACCESS_ALLOWED_AGENT_ADD, "EstateAllowedAgentAdd");  } -// static -void LLPanelEstateInfo::onClickRemoveAllowedAgent(void* user_data) +void LLPanelEstateInfo::onClickRemoveAllowedAgent()  {  	accessRemoveCore(ESTATE_ACCESS_ALLOWED_AGENT_REMOVE, "EstateAllowedAgentRemove", "allowed_avatar_name_list");  } @@ -1466,17 +1463,14 @@ bool LLPanelEstateInfo::addAllowedGroup(const LLSD& notification, const LLSD& re  	return false;  } -// static -void LLPanelEstateInfo::onClickRemoveAllowedGroup(void* user_data) +void LLPanelEstateInfo::onClickRemoveAllowedGroup()  {  	accessRemoveCore(ESTATE_ACCESS_ALLOWED_GROUP_REMOVE, "EstateAllowedGroupRemove", "allowed_group_name_list");  } -// static -void LLPanelEstateInfo::onClickAddBannedAgent(void* user_data) +void LLPanelEstateInfo::onClickAddBannedAgent()  { -	LLPanelEstateInfo* self = (LLPanelEstateInfo*)user_data; -	LLCtrlListInterface *list = self->childGetListInterface("banned_avatar_name_list"); +	LLCtrlListInterface *list = childGetListInterface("banned_avatar_name_list");  	if (!list) return;  	if (list->getItemCount() >= ESTATE_MAX_ACCESS_IDS)  	{ @@ -1488,17 +1482,15 @@ void LLPanelEstateInfo::onClickAddBannedAgent(void* user_data)  	accessAddCore(ESTATE_ACCESS_BANNED_AGENT_ADD, "EstateBannedAgentAdd");  } -// static -void LLPanelEstateInfo::onClickRemoveBannedAgent(void* user_data) +void LLPanelEstateInfo::onClickRemoveBannedAgent()  {  	accessRemoveCore(ESTATE_ACCESS_BANNED_AGENT_REMOVE, "EstateBannedAgentRemove", "banned_avatar_name_list");  }  // static -void LLPanelEstateInfo::onClickAddEstateManager(void* user_data) +void LLPanelEstateInfo::onClickAddEstateManager()  { -	LLPanelEstateInfo* self = (LLPanelEstateInfo*)user_data; -	LLCtrlListInterface *list = self->childGetListInterface("estate_manager_name_list"); +	LLCtrlListInterface *list = childGetListInterface("estate_manager_name_list");  	if (!list) return;  	if (list->getItemCount() >= ESTATE_MAX_MANAGERS)  	{	// Tell user they can't add more managers @@ -1513,7 +1505,7 @@ void LLPanelEstateInfo::onClickAddEstateManager(void* user_data)  }  // static -void LLPanelEstateInfo::onClickRemoveEstateManager(void* user_data) +void LLPanelEstateInfo::onClickRemoveEstateManager()  {  	accessRemoveCore(ESTATE_ACCESS_MANAGER_REMOVE, "EstateManagerRemove", "estate_manager_name_list");  } @@ -1966,20 +1958,20 @@ void LLPanelEstateInfo::updateControls(LLViewerRegion* region)  	BOOL manager = (region && region->isEstateManager());  	setCtrlsEnabled(god || owner || manager); -	childDisable("apply_btn"); -	childSetEnabled("add_allowed_avatar_btn",		god || owner || manager); -	childSetEnabled("remove_allowed_avatar_btn",	god || owner || manager); -	childSetEnabled("add_allowed_group_btn",		god || owner || manager); -	childSetEnabled("remove_allowed_group_btn",		god || owner || manager); -	childSetEnabled("add_banned_avatar_btn",		god || owner || manager); -	childSetEnabled("remove_banned_avatar_btn",		god || owner || manager); -	childSetEnabled("message_estate_btn",			god || owner || manager); -	childSetEnabled("kick_user_from_estate_btn",	god || owner || manager); +	getChildView("apply_btn")->setEnabled(FALSE); +	getChildView("add_allowed_avatar_btn")->setEnabled(god || owner || manager); +	getChildView("remove_allowed_avatar_btn")->setEnabled(god || owner || manager); +	getChildView("add_allowed_group_btn")->setEnabled(god || owner || manager); +	getChildView("remove_allowed_group_btn")->setEnabled(god || owner || manager); +	getChildView("add_banned_avatar_btn")->setEnabled(god || owner || manager); +	getChildView("remove_banned_avatar_btn")->setEnabled(god || owner || manager); +	getChildView("message_estate_btn")->setEnabled(god || owner || manager); +	getChildView("kick_user_from_estate_btn")->setEnabled(god || owner || manager);  	// estate managers can't add estate managers -	childSetEnabled("add_estate_manager_btn",		god || owner); -	childSetEnabled("remove_estate_manager_btn",	god || owner); -	childSetEnabled("estate_manager_name_list",		god || owner); +	getChildView("add_estate_manager_btn")->setEnabled(god || owner); +	getChildView("remove_estate_manager_btn")->setEnabled(god || owner); +	getChildView("estate_manager_name_list")->setEnabled(god || owner);  }  bool LLPanelEstateInfo::refreshFromRegion(LLViewerRegion* region) @@ -2054,8 +2046,8 @@ BOOL LLPanelEstateInfo::postBuild()  		avatar_name_list->setMaxItemCount(ESTATE_MAX_ACCESS_IDS);  	} -	childSetAction("add_allowed_avatar_btn", onClickAddAllowedAgent, this); -	childSetAction("remove_allowed_avatar_btn", onClickRemoveAllowedAgent, this); +	childSetAction("add_allowed_avatar_btn", boost::bind(&LLPanelEstateInfo::onClickAddAllowedAgent, this)); +	childSetAction("remove_allowed_avatar_btn", boost::bind(&LLPanelEstateInfo::onClickRemoveAllowedAgent, this));  	getChild<LLUICtrl>("allowed_group_name_list")->setCommitCallback(boost::bind(&LLPanelEstateInfo::onChangeChildCtrl, this, _1));  	LLNameListCtrl* group_name_list = getChild<LLNameListCtrl>("allowed_group_name_list"); @@ -2066,7 +2058,7 @@ BOOL LLPanelEstateInfo::postBuild()  	}  	getChild<LLUICtrl>("add_allowed_group_btn")->setCommitCallback(boost::bind(&LLPanelEstateInfo::onClickAddAllowedGroup, this)); -	childSetAction("remove_allowed_group_btn", onClickRemoveAllowedGroup, this); +	childSetAction("remove_allowed_group_btn", boost::bind(&LLPanelEstateInfo::onClickRemoveAllowedGroup, this));  	getChild<LLUICtrl>("banned_avatar_name_list")->setCommitCallback(boost::bind(&LLPanelEstateInfo::onChangeChildCtrl, this, _1));  	LLNameListCtrl* banned_name_list = getChild<LLNameListCtrl>("banned_avatar_name_list"); @@ -2076,8 +2068,8 @@ BOOL LLPanelEstateInfo::postBuild()  		banned_name_list->setMaxItemCount(ESTATE_MAX_ACCESS_IDS);  	} -	childSetAction("add_banned_avatar_btn", onClickAddBannedAgent, this); -	childSetAction("remove_banned_avatar_btn", onClickRemoveBannedAgent, this); +	childSetAction("add_banned_avatar_btn", boost::bind(&LLPanelEstateInfo::onClickAddBannedAgent, this)); +	childSetAction("remove_banned_avatar_btn", boost::bind(&LLPanelEstateInfo::onClickRemoveBannedAgent, this));  	getChild<LLUICtrl>("estate_manager_name_list")->setCommitCallback(boost::bind(&LLPanelEstateInfo::onChangeChildCtrl, this, _1));  	LLNameListCtrl* manager_name_list = getChild<LLNameListCtrl>("estate_manager_name_list"); @@ -2087,28 +2079,28 @@ BOOL LLPanelEstateInfo::postBuild()  		manager_name_list->setMaxItemCount(ESTATE_MAX_MANAGERS * 4);	// Allow extras for dupe issue  	} -	childSetAction("add_estate_manager_btn", onClickAddEstateManager, this); -	childSetAction("remove_estate_manager_btn", onClickRemoveEstateManager, this); -	childSetAction("message_estate_btn", onClickMessageEstate, this); +	childSetAction("add_estate_manager_btn", boost::bind(&LLPanelEstateInfo::onClickAddEstateManager, this)); +	childSetAction("remove_estate_manager_btn", boost::bind(&LLPanelEstateInfo::onClickRemoveEstateManager, this)); +	childSetAction("message_estate_btn", boost::bind(&LLPanelEstateInfo::onClickMessageEstate, this));  	childSetAction("kick_user_from_estate_btn", boost::bind(&LLPanelEstateInfo::onClickKickUser, this)); -	childSetAction("WLEditSky", onClickEditSky, this); -	childSetAction("WLEditDayCycle", onClickEditDayCycle, this); +	childSetAction("WLEditSky", boost::bind(&LLPanelEstateInfo::onClickEditSky, this)); +	childSetAction("WLEditDayCycle", boost::bind(&LLPanelEstateInfo::onClickEditDayCycle, this));  	return LLPanelRegionInfo::postBuild();  }  void LLPanelEstateInfo::refresh()  { -	bool public_access = childGetValue("externally_visible_check").asBoolean(); -	childSetEnabled("Only Allow", public_access); -	childSetEnabled("limit_payment", public_access); -	childSetEnabled("limit_age_verified", public_access); +	bool public_access = getChild<LLUICtrl>("externally_visible_check")->getValue().asBoolean(); +	getChildView("Only Allow")->setEnabled(public_access); +	getChildView("limit_payment")->setEnabled(public_access); +	getChildView("limit_age_verified")->setEnabled(public_access);  	// if this is set to false, then the limit fields are meaningless and should be turned off  	if (public_access == false)  	{ -		childSetValue("limit_payment", false); -		childSetValue("limit_age_verified", false); +		getChild<LLUICtrl>("limit_payment")->setValue(false); +		getChild<LLUICtrl>("limit_age_verified")->setValue(false);  	}  } @@ -2231,19 +2223,19 @@ bool LLPanelEstateInfo::commitEstateInfoCaps()  	LLSD body;  	body["estate_name"] = getEstateName(); -	body["is_externally_visible"] = childGetValue("externally_visible_check").asBoolean(); -	body["allow_direct_teleport"] = childGetValue("allow_direct_teleport").asBoolean(); -	body["is_sun_fixed"         ] = childGetValue("fixed_sun_check").asBoolean(); -	body["deny_anonymous"       ] = childGetValue("limit_payment").asBoolean(); -	body["deny_age_unverified"  ] = childGetValue("limit_age_verified").asBoolean(); -	body["allow_voice_chat"     ] = childGetValue("voice_chat_check").asBoolean(); +	body["is_externally_visible"] = getChild<LLUICtrl>("externally_visible_check")->getValue().asBoolean(); +	body["allow_direct_teleport"] = getChild<LLUICtrl>("allow_direct_teleport")->getValue().asBoolean(); +	body["is_sun_fixed"         ] = getChild<LLUICtrl>("fixed_sun_check")->getValue().asBoolean(); +	body["deny_anonymous"       ] = getChild<LLUICtrl>("limit_payment")->getValue().asBoolean(); +	body["deny_age_unverified"  ] = getChild<LLUICtrl>("limit_age_verified")->getValue().asBoolean(); +	body["allow_voice_chat"     ] = getChild<LLUICtrl>("voice_chat_check")->getValue().asBoolean();  	body["invoice"              ] = LLFloaterRegionInfo::getLastInvoice();  	// block fly is in estate database but not in estate UI, so we're not supporting it -	//body["block_fly"            ] = childGetValue("").asBoolean(); +	//body["block_fly"            ] = getChild<LLUICtrl>("")->getValue().asBoolean();  	F32 sun_hour = getSunHour(); -	if (childGetValue("use_global_time_check").asBoolean()) +	if (getChild<LLUICtrl>("use_global_time_check")->getValue().asBoolean())  	{  		sun_hour = 0.f;			// 0 = global time  	} @@ -2283,7 +2275,7 @@ void LLPanelEstateInfo::commitEstateInfoDataserver()  	msg->addString("Parameter", buffer);  	F32 sun_hour = getSunHour(); -	if (childGetValue("use_global_time_check").asBoolean()) +	if (getChild<LLUICtrl>("use_global_time_check")->getValue().asBoolean())  	{  		sun_hour = 0.f;	// 0 = global time  	} @@ -2297,14 +2289,13 @@ void LLPanelEstateInfo::commitEstateInfoDataserver()  void LLPanelEstateInfo::setEstateFlags(U32 flags)  { -	childSetValue("externally_visible_check", LLSD(flags & REGION_FLAGS_EXTERNALLY_VISIBLE ? TRUE : FALSE) ); -	childSetValue("fixed_sun_check", LLSD(flags & REGION_FLAGS_SUN_FIXED ? TRUE : FALSE) ); -	childSetValue( -		"voice_chat_check", +	getChild<LLUICtrl>("externally_visible_check")->setValue(LLSD(flags & REGION_FLAGS_EXTERNALLY_VISIBLE ? TRUE : FALSE) ); +	getChild<LLUICtrl>("fixed_sun_check")->setValue(LLSD(flags & REGION_FLAGS_SUN_FIXED ? TRUE : FALSE) ); +	getChild<LLUICtrl>("voice_chat_check")->setValue(  		LLSD(flags & REGION_FLAGS_ALLOW_VOICE ? TRUE : FALSE)); -	childSetValue("allow_direct_teleport", LLSD(flags & REGION_FLAGS_ALLOW_DIRECT_TELEPORT ? TRUE : FALSE) ); -	childSetValue("limit_payment", LLSD(flags & REGION_FLAGS_DENY_ANONYMOUS ? TRUE : FALSE) ); -	childSetValue("limit_age_verified", LLSD(flags & REGION_FLAGS_DENY_AGEUNVERIFIED ? TRUE : FALSE) ); +	getChild<LLUICtrl>("allow_direct_teleport")->setValue(LLSD(flags & REGION_FLAGS_ALLOW_DIRECT_TELEPORT ? TRUE : FALSE) ); +	getChild<LLUICtrl>("limit_payment")->setValue(LLSD(flags & REGION_FLAGS_DENY_ANONYMOUS ? TRUE : FALSE) ); +	getChild<LLUICtrl>("limit_age_verified")->setValue(LLSD(flags & REGION_FLAGS_DENY_AGEUNVERIFIED ? TRUE : FALSE) );  	refresh();  } @@ -2313,32 +2304,32 @@ U32 LLPanelEstateInfo::computeEstateFlags()  {  	U32 flags = 0; -	if (childGetValue("externally_visible_check").asBoolean()) +	if (getChild<LLUICtrl>("externally_visible_check")->getValue().asBoolean())  	{  		flags |= REGION_FLAGS_EXTERNALLY_VISIBLE;  	} -	if ( childGetValue("voice_chat_check").asBoolean() ) +	if ( getChild<LLUICtrl>("voice_chat_check")->getValue().asBoolean() )  	{  		flags |= REGION_FLAGS_ALLOW_VOICE;  	} -	if (childGetValue("allow_direct_teleport").asBoolean()) +	if (getChild<LLUICtrl>("allow_direct_teleport")->getValue().asBoolean())  	{  		flags |= REGION_FLAGS_ALLOW_DIRECT_TELEPORT;  	} -	if (childGetValue("fixed_sun_check").asBoolean()) +	if (getChild<LLUICtrl>("fixed_sun_check")->getValue().asBoolean())  	{  		flags |= REGION_FLAGS_SUN_FIXED;  	} -	if (childGetValue("limit_payment").asBoolean()) +	if (getChild<LLUICtrl>("limit_payment")->getValue().asBoolean())  	{  		flags |= REGION_FLAGS_DENY_ANONYMOUS;  	} -	if (childGetValue("limit_age_verified").asBoolean()) +	if (getChild<LLUICtrl>("limit_age_verified")->getValue().asBoolean())  	{  		flags |= REGION_FLAGS_DENY_AGEUNVERIFIED;  	} @@ -2349,24 +2340,24 @@ U32 LLPanelEstateInfo::computeEstateFlags()  BOOL LLPanelEstateInfo::getGlobalTime()  { -	return childGetValue("use_global_time_check").asBoolean(); +	return getChild<LLUICtrl>("use_global_time_check")->getValue().asBoolean();  }  void LLPanelEstateInfo::setGlobalTime(bool b)  { -	childSetValue("use_global_time_check", LLSD(b)); -	childSetEnabled("fixed_sun_check", LLSD(!b)); -	childSetEnabled("sun_hour_slider", LLSD(!b)); +	getChild<LLUICtrl>("use_global_time_check")->setValue(LLSD(b)); +	getChildView("fixed_sun_check")->setEnabled(LLSD(!b)); +	getChildView("sun_hour_slider")->setEnabled(LLSD(!b));  	if (b)  	{ -		childSetValue("sun_hour_slider", LLSD(0.f)); +		getChild<LLUICtrl>("sun_hour_slider")->setValue(LLSD(0.f));  	}  }  BOOL LLPanelEstateInfo::getFixedSun()  { -	return childGetValue("fixed_sun_check").asBoolean(); +	return getChild<LLUICtrl>("fixed_sun_check")->getValue().asBoolean();  }  void LLPanelEstateInfo::setSunHour(F32 sun_hour) @@ -2375,61 +2366,61 @@ void LLPanelEstateInfo::setSunHour(F32 sun_hour)  	{  		sun_hour = 24.0f + sun_hour;  	} -	childSetValue("sun_hour_slider", LLSD(sun_hour)); +	getChild<LLUICtrl>("sun_hour_slider")->setValue(LLSD(sun_hour));  }  F32 LLPanelEstateInfo::getSunHour()  { -	if (childIsEnabled("sun_hour_slider")) +	if (getChildView("sun_hour_slider")->getEnabled())  	{ -		return (F32)childGetValue("sun_hour_slider").asReal(); +		return (F32)getChild<LLUICtrl>("sun_hour_slider")->getValue().asReal();  	}  	return 0.f;  }  const std::string LLPanelEstateInfo::getEstateName() const  { -	return childGetValue("estate_name").asString(); +	return getChild<LLUICtrl>("estate_name")->getValue().asString();  }  void LLPanelEstateInfo::setEstateName(const std::string& name)  { -	childSetValue("estate_name", LLSD(name)); +	getChild<LLUICtrl>("estate_name")->setValue(LLSD(name));  }  const std::string LLPanelEstateInfo::getOwnerName() const  { -	return childGetValue("estate_owner").asString(); +	return getChild<LLUICtrl>("estate_owner")->getValue().asString();  }  void LLPanelEstateInfo::setOwnerName(const std::string& name)  { -	childSetValue("estate_owner", LLSD(name)); +	getChild<LLUICtrl>("estate_owner")->setValue(LLSD(name));  }  void LLPanelEstateInfo::setAccessAllowedEnabled(bool enable_agent,  												bool enable_group,  												bool enable_ban)  { -	childSetEnabled("allow_resident_label", enable_agent); -	childSetEnabled("allowed_avatar_name_list", enable_agent); -	childSetVisible("allowed_avatar_name_list", enable_agent); -	childSetEnabled("add_allowed_avatar_btn", enable_agent); -	childSetEnabled("remove_allowed_avatar_btn", enable_agent); +	getChildView("allow_resident_label")->setEnabled(enable_agent); +	getChildView("allowed_avatar_name_list")->setEnabled(enable_agent); +	getChildView("allowed_avatar_name_list")->setVisible( enable_agent); +	getChildView("add_allowed_avatar_btn")->setEnabled(enable_agent); +	getChildView("remove_allowed_avatar_btn")->setEnabled(enable_agent);  	// Groups -	childSetEnabled("allow_group_label", enable_group); -	childSetEnabled("allowed_group_name_list", enable_group); -	childSetVisible("allowed_group_name_list", enable_group); -	childSetEnabled("add_allowed_group_btn", enable_group); -	childSetEnabled("remove_allowed_group_btn", enable_group); +	getChildView("allow_group_label")->setEnabled(enable_group); +	getChildView("allowed_group_name_list")->setEnabled(enable_group); +	getChildView("allowed_group_name_list")->setVisible( enable_group); +	getChildView("add_allowed_group_btn")->setEnabled(enable_group); +	getChildView("remove_allowed_group_btn")->setEnabled(enable_group);  	// Ban -	childSetEnabled("ban_resident_label", enable_ban); -	childSetEnabled("banned_avatar_name_list", enable_ban); -	childSetVisible("banned_avatar_name_list", enable_ban); -	childSetEnabled("add_banned_avatar_btn", enable_ban); -	childSetEnabled("remove_banned_avatar_btn", enable_ban); +	getChildView("ban_resident_label")->setEnabled(enable_ban); +	getChildView("banned_avatar_name_list")->setEnabled(enable_ban); +	getChildView("banned_avatar_name_list")->setVisible( enable_ban); +	getChildView("add_banned_avatar_btn")->setEnabled(enable_ban); +	getChildView("remove_banned_avatar_btn")->setEnabled(enable_ban);  	// Update removal buttons if needed  	if (enable_agent) @@ -2491,7 +2482,7 @@ BOOL LLPanelEstateInfo::checkRemovalButton(std::string name)  	// enable the remove button if something is selected  	LLNameListCtrl* name_list = getChild<LLNameListCtrl>(name); -	childSetEnabled(btn_name, name_list && name_list->getFirstSelected() ? TRUE : FALSE); +	getChildView(btn_name)->setEnabled(name_list && name_list->getFirstSelected() ? TRUE : FALSE);  	return (btn_name != "");  } @@ -3026,7 +3017,7 @@ bool LLDispatchSetEstateAccess::operator()(  		args["[ALLOWEDAGENTS]"] = llformat ("%d", totalAllowedAgents);  		args["[MAXACCESS]"] = llformat ("%d", ESTATE_MAX_ACCESS_IDS);  		std::string msg = LLTrans::getString("RegionInfoAllowedResidents", args); -		panel->childSetValue("allow_resident_label", LLSD(msg)); +		panel->getChild<LLUICtrl>("allow_resident_label")->setValue(LLSD(msg));  		if (allowed_agent_name_list)  		{ @@ -3037,7 +3028,7 @@ bool LLDispatchSetEstateAccess::operator()(  				memcpy(id.mData, strings[index++].data(), UUID_BYTES);		/* Flawfinder: ignore */  				allowed_agent_name_list->addNameItem(id);  			} -			panel->childSetEnabled("remove_allowed_avatar_btn", allowed_agent_name_list->getFirstSelected() ? TRUE : FALSE); +			panel->getChildView("remove_allowed_avatar_btn")->setEnabled(allowed_agent_name_list->getFirstSelected() ? TRUE : FALSE);  			allowed_agent_name_list->sortByColumnIndex(0, TRUE);  		}  	} @@ -3051,7 +3042,7 @@ bool LLDispatchSetEstateAccess::operator()(  		args["[ALLOWEDGROUPS]"] = llformat ("%d", num_allowed_groups);  		args["[MAXACCESS]"] = llformat ("%d", ESTATE_MAX_GROUP_IDS);  		std::string msg = LLTrans::getString("RegionInfoAllowedGroups", args); -		panel->childSetValue("allow_group_label", LLSD(msg)); +		panel->getChild<LLUICtrl>("allow_group_label")->setValue(LLSD(msg));  		if (allowed_group_name_list)  		{ @@ -3062,7 +3053,7 @@ bool LLDispatchSetEstateAccess::operator()(  				memcpy(id.mData, strings[index++].data(), UUID_BYTES);		/* Flawfinder: ignore */  				allowed_group_name_list->addGroupNameItem(id);  			} -			panel->childSetEnabled("remove_allowed_group_btn", allowed_group_name_list->getFirstSelected() ? TRUE : FALSE); +			panel->getChildView("remove_allowed_group_btn")->setEnabled(allowed_group_name_list->getFirstSelected() ? TRUE : FALSE);  			allowed_group_name_list->sortByColumnIndex(0, TRUE);  		}  	} @@ -3083,7 +3074,7 @@ bool LLDispatchSetEstateAccess::operator()(  		std::string msg = llformat("Banned residents: (%d, max %d)",  									totalBannedAgents,  									ESTATE_MAX_ACCESS_IDS); -		panel->childSetValue("ban_resident_label", LLSD(msg)); +		panel->getChild<LLUICtrl>("ban_resident_label")->setValue(LLSD(msg));  		if (banned_agent_name_list)  		{ @@ -3094,7 +3085,7 @@ bool LLDispatchSetEstateAccess::operator()(  				memcpy(id.mData, strings[index++].data(), UUID_BYTES);		/* Flawfinder: ignore */  				banned_agent_name_list->addNameItem(id);  			} -			panel->childSetEnabled("remove_banned_avatar_btn", banned_agent_name_list->getFirstSelected() ? TRUE : FALSE); +			panel->getChildView("remove_banned_avatar_btn")->setEnabled(banned_agent_name_list->getFirstSelected() ? TRUE : FALSE);  			banned_agent_name_list->sortByColumnIndex(0, TRUE);  		}  	} @@ -3104,7 +3095,7 @@ bool LLDispatchSetEstateAccess::operator()(  		std::string msg = llformat("Estate Managers: (%d, max %d)",  									num_estate_managers,  									ESTATE_MAX_MANAGERS); -		panel->childSetValue("estate_manager_label", LLSD(msg)); +		panel->getChild<LLUICtrl>("estate_manager_label")->setValue(LLSD(msg));  		LLNameListCtrl* estate_manager_name_list =  			panel->getChild<LLNameListCtrl>("estate_manager_name_list"); @@ -3121,7 +3112,7 @@ bool LLDispatchSetEstateAccess::operator()(  				memcpy(id.mData, strings[index++].data(), UUID_BYTES);		/* Flawfinder: ignore */  				estate_manager_name_list->addNameItem(id);  			} -			panel->childSetEnabled("remove_estate_manager_btn", estate_manager_name_list->getFirstSelected() ? TRUE : FALSE); +			panel->getChildView("remove_estate_manager_btn")->setEnabled(estate_manager_name_list->getFirstSelected() ? TRUE : FALSE);  			estate_manager_name_list->sortByColumnIndex(0, TRUE);  		}  	} diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index 482ebb3303..135bf7102f 100644 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -262,19 +262,19 @@ public:  	void onChangeFixedSun();  	void onChangeUseGlobalTime(); -	static void onClickEditSky(void* userdata); -	static void onClickEditSkyHelp(void* userdata);	 -	static void onClickEditDayCycle(void* userdata); -	static void onClickEditDayCycleHelp(void* userdata);	 - -	static void onClickAddAllowedAgent(void* user_data); -	static void onClickRemoveAllowedAgent(void* user_data); -		   void onClickAddAllowedGroup(); -	static void onClickRemoveAllowedGroup(void* user_data); -	static void onClickAddBannedAgent(void* user_data); -	static void onClickRemoveBannedAgent(void* user_data); -	static void onClickAddEstateManager(void* user_data); -	static void onClickRemoveEstateManager(void* user_data); +	void onClickEditSky(); +	void onClickEditSkyHelp();	 +	void onClickEditDayCycle(); +	void onClickEditDayCycleHelp(); + +	void onClickAddAllowedAgent(); +	void onClickRemoveAllowedAgent(); +	void onClickAddAllowedGroup(); +	void onClickRemoveAllowedGroup(); +	void onClickAddBannedAgent(); +	void onClickRemoveBannedAgent(); +	void onClickAddEstateManager(); +	void onClickRemoveEstateManager();  	void onClickKickUser();  	// Group picker callback is different, can't use core methods below diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp index f7c8855bf6..230d4be85b 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 @@ public:  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 0a5499b166..e0f646349e 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 76caa0cf91..381b2dee33 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 9dddbd998a..b10a297bb8 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 a6ffa5ec09..77e0e4e677 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 43ea6143b1..e8a89bb705 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 816181643f..6bd1e70f13 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 565f0619a5..0988588d9c 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 84ea353dab..d80f26657d 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 104827f4a3..b4c6f7da9e 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 1b6ef0e97a..41f4580495 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 0e802e9736..fa871d84a6 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 48095ff200..036ef32016 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 61fe50e301..160c15bc34 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 1bbee2625c..0f0d85cacb 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 c1b15c578c..c8ea6e406b 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 88f8545877..7fd073ea67 100644 --- a/indra/newview/llfloaterworldmap.cpp +++ b/indra/newview/llfloaterworldmap.cpp @@ -248,7 +248,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); @@ -321,7 +321,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(); @@ -357,9 +357,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;  		}  	} @@ -387,32 +387,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  	{ @@ -422,11 +422,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);  		}  	} @@ -436,16 +436,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();  	} @@ -455,7 +455,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 ); @@ -463,13 +463,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();  } @@ -493,7 +493,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) @@ -674,7 +674,7 @@ void LLFloaterWorldMap::updateLocation()  				mSetToUserPosition = FALSE;  				// Fill out the location field -				childSetValue("location", agent_sim_name); +				getChild<LLUICtrl>("location")->setValue(agent_sim_name);  				// update the coordinate display with location of avatar in region  				updateTeleportCoordsDisplay( agentPos ); @@ -707,7 +707,7 @@ void LLFloaterWorldMap::updateLocation()  			}  		} -		childSetValue("location", sim_name); +		getChild<LLUICtrl>("location")->setValue(sim_name);  		// refresh coordinate display to reflect where user clicked.  		LLVector3d coord_pos = LLTracker::getTrackedPositionGlobal(); @@ -742,7 +742,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. @@ -1139,7 +1139,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");  	} @@ -1160,14 +1160,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); @@ -1307,7 +1307,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)  	{ @@ -1476,7 +1476,7 @@ void LLFloaterWorldMap::updateSims(bool found_null_sim)  	if (!match.isUndefined())  	{  		list->selectByValue(match); -		childSetFocus("search_results"); +		getChild<LLUICtrl>("search_results")->setFocus(TRUE);  		onCommitSearchResult();  	} @@ -1524,7 +1524,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; @@ -1539,13 +1539,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 da5196df45..125936b9c7 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 9d88c156d3..cd35ec5d39 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -1728,12 +1728,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()) @@ -1743,16 +1743,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(); @@ -1772,8 +1772,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); @@ -1958,7 +1958,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); @@ -1982,12 +1982,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 d9fdc876db..3c437907c4 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 7fd7b69021..f054d61262 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/llmediadataclient.cpp b/indra/newview/llmediadataclient.cpp index b8da368bd7..1de9d1c9b0 100755 --- a/indra/newview/llmediadataclient.cpp +++ b/indra/newview/llmediadataclient.cpp @@ -58,6 +58,32 @@  // - Any request that gets a 503 still goes through the retry logic  // +/*************************************************************************************************************** +	What's up with this queueing code? + +	First, a bit of background: + +	Media on a prim was added into the system in the Viewer 2.0 timeframe.  In order to avoid changing the  +	network format of objects, an unused field in the object (the "MediaURL" string) was repurposed to  +	indicate that the object had media data, and also hold a sequence number and the UUID of the agent  +	who last updated the data.  The actual media data for objects is accessed via the "ObjectMedia" capability.   +	Due to concerns about sim performance, requests to this capability are rate-limited to 5 requests every  +	5 seconds per agent. + +	The initial implementation of LLMediaDataClient used a single queue to manage requests to the "ObjectMedia" cap.   +	Requests to the cap were queued so that objects closer to the avatar were loaded in first, since they were most  +	likely to be the ones the media performance manager would load. + +	This worked in some cases, but we found that it was possible for a scripted object that constantly updated its  +	media data to starve other objects, since the same queue contained both requests to load previously unseen media  +	data and requests to fetch media data in response to object updates. + +	The solution for this we came up with was to have two queues.  The sorted queue contains requests to fetch media  +	data for objects that don't have it yet, and the round-robin queue contains requests to update media data for  +	objects that have already completed their initial load.  When both queues are non-empty, the code ping-pongs  +	between them so that updates can't completely block initial load-in. +**************************************************************************************************************/ +  //  // Forward decls  // @@ -71,6 +97,54 @@ const U32 LLMediaDataClient::MAX_ROUND_ROBIN_QUEUE_SIZE = 10000;  std::ostream& operator<<(std::ostream &s, const LLMediaDataClient::request_queue_t &q);  std::ostream& operator<<(std::ostream &s, const LLMediaDataClient::Request &q); +template <typename T> +static typename T::iterator find_matching_request(T &c, const LLMediaDataClient::Request *request, LLMediaDataClient::Request::Type match_type) +{ +	for(typename T::iterator iter = c.begin(); iter != c.end(); ++iter) +	{ +		if(request->isMatch(*iter, match_type)) +		{ +			return iter; +		} +	} +	 +	return c.end(); +} + +template <typename T> +static typename T::iterator find_matching_request(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type) +{ +	for(typename T::iterator iter = c.begin(); iter != c.end(); ++iter) +	{ +		if(((*iter)->getID() == id) && ((match_type == LLMediaDataClient::Request::ANY) || (match_type == (*iter)->getType()))) +		{ +			return iter; +		} +	} +	 +	return c.end(); +} + +// NOTE: remove_matching_requests will not work correctly for containers where deleting an element may invalidate iterators +// to other elements in the container (such as std::vector). +// If the implementation is changed to use a container with this property, this will need to be revisited. +template <typename T> +static void remove_matching_requests(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type) +{ +	for(typename T::iterator iter = c.begin(); iter != c.end();) +	{ +		typename T::value_type i = *iter; +		typename T::iterator next = iter; +		next++; +		if((i->getID() == id) && ((match_type == LLMediaDataClient::Request::ANY) || (match_type == i->getType()))) +		{ +			i->markDead(); +			c.erase(iter); +		} +		iter = next; +	} +} +  //////////////////////////////////////////////////////////////////////////////////////  //  // LLMediaDataClient @@ -87,117 +161,36 @@ LLMediaDataClient::LLMediaDataClient(F32 queue_timer_delay,  	  mMaxNumRetries(max_retries),  	  mMaxSortedQueueSize(max_sorted_queue_size),  	  mMaxRoundRobinQueueSize(max_round_robin_queue_size), -	  mQueueTimerIsRunning(false), -	  mCurrentQueueIsTheSortedQueue(true) +	  mQueueTimerIsRunning(false)  {  }  LLMediaDataClient::~LLMediaDataClient()  {  	stopQueueTimer(); - -	// This should clear the queue, and hopefully call all the destructors. -	LL_DEBUGS("LLMediaDataClient") << "~LLMediaDataClient destructor: queue: " <<  -		(isEmpty() ? "<empty> " : "<not empty> ") << LL_ENDL; -	 -	mSortedQueue.clear(); -	mRoundRobinQueue.clear();  }  bool LLMediaDataClient::isEmpty() const  { -	return mSortedQueue.empty() && mRoundRobinQueue.empty(); +	return mQueue.empty();  }  bool LLMediaDataClient::isInQueue(const LLMediaDataClientObject::ptr_t &object)  { -	return (LLMediaDataClient::findOrRemove(mSortedQueue, object, false/*remove*/, LLMediaDataClient::Request::ANY).notNull() -		|| (LLMediaDataClient::findOrRemove(mRoundRobinQueue, object, false/*remove*/, LLMediaDataClient::Request::ANY).notNull())); -} - -bool LLMediaDataClient::removeFromQueue(const LLMediaDataClientObject::ptr_t &object) -{ -	bool removedFromSortedQueue = LLMediaDataClient::findOrRemove(mSortedQueue, object, true/*remove*/, LLMediaDataClient::Request::ANY).notNull(); -	bool removedFromRoundRobinQueue = LLMediaDataClient::findOrRemove(mRoundRobinQueue, object, true/*remove*/, LLMediaDataClient::Request::ANY).notNull(); -	return removedFromSortedQueue || removedFromRoundRobinQueue; -} - -//static -LLMediaDataClient::request_ptr_t LLMediaDataClient::findOrRemove(request_queue_t &queue, const LLMediaDataClientObject::ptr_t &obj, bool remove, LLMediaDataClient::Request::Type type) -{ -	request_ptr_t result; -	request_queue_t::iterator iter = queue.begin(); -	request_queue_t::iterator end = queue.end(); -	while (iter != end) -	{ -		if (obj->getID() == (*iter)->getObject()->getID() && (type == LLMediaDataClient::Request::ANY || type == (*iter)->getType())) -		{ -			result = *iter; -			if (remove) queue.erase(iter); -			break; -		} -		iter++; -	} -	return result; -} - -void LLMediaDataClient::request(const LLMediaDataClientObject::ptr_t &object, const LLSD &payload) -{ -	if (object.isNull() || ! object->hasMedia()) return;  +	if(find_matching_request(mQueue, object->getID()) != mQueue.end()) +		return true; +	 +	if(find_matching_request(mUnQueuedRequests, object->getID()) != mUnQueuedRequests.end()) +		return true; -	// Push the object on the queue -	enqueue(new Request(getCapabilityName(), payload, object, this)); +	return false;  } -void LLMediaDataClient::enqueue(const Request *request) +void LLMediaDataClient::removeFromQueue(const LLMediaDataClientObject::ptr_t &object)  { -	if (request->isNew()) -	{		 -		// Add to sorted queue -		if (LLMediaDataClient::findOrRemove(mSortedQueue, request->getObject(), true/*remove*/, request->getType()).notNull()) -		{ -			LL_DEBUGS("LLMediaDataClient") << "REMOVING OLD request for " << *request << " ALREADY THERE!" << LL_ENDL; -		} -		 -		LL_DEBUGS("LLMediaDataClient") << "Queuing SORTED request for " << *request << LL_ENDL; -		 -		// Sadly, we have to const-cast because items put into the queue are not const -		mSortedQueue.push_back(const_cast<LLMediaDataClient::Request*>(request)); -		 -		LL_DEBUGS("LLMediaDataClientQueue") << "SORTED queue:" << mSortedQueue << LL_ENDL; -	} -	else { -		if (mRoundRobinQueue.size() > mMaxRoundRobinQueueSize)  -		{ -			LL_INFOS_ONCE("LLMediaDataClient") << "RR QUEUE MAXED OUT!!!" << LL_ENDL; -			LL_DEBUGS("LLMediaDataClient") << "Not queuing " << *request << LL_ENDL; -			return; -		} -				 -		// ROUND ROBIN: if it is there, and it is a GET request, leave it.  If not, put at front!		 -		request_ptr_t existing_request; -		if (request->getType() == Request::GET) -		{ -			existing_request = LLMediaDataClient::findOrRemove(mRoundRobinQueue, request->getObject(), false/*remove*/, request->getType()); -		} -		if (existing_request.isNull()) -		{ -			LL_DEBUGS("LLMediaDataClient") << "Queuing RR request for " << *request << LL_ENDL; -			// Push the request on the pending queue -			// Sadly, we have to const-cast because items put into the queue are not const -			mRoundRobinQueue.push_front(const_cast<LLMediaDataClient::Request*>(request)); -			 -			LL_DEBUGS("LLMediaDataClientQueue") << "RR queue:" << mRoundRobinQueue << LL_ENDL;			 -		} -		else -		{ -			LL_DEBUGS("LLMediaDataClient") << "ALREADY THERE: NOT Queuing request for " << *request << LL_ENDL; -						 -			existing_request->markSent(false); -		} -	}	 -	// Start the timer if not already running -	startQueueTimer(); +	LL_DEBUGS("LLMediaDataClient") << "removing requests matching ID " << object->getID() << LL_ENDL; +	remove_matching_requests(mQueue, object->getID()); +	remove_matching_requests(mUnQueuedRequests, object->getID());  }  void LLMediaDataClient::startQueueTimer()  @@ -209,7 +202,7 @@ void LLMediaDataClient::startQueueTimer()  		new QueueTimer(mQueueTimerDelay, this);  	}  	else {  -		LL_DEBUGS("LLMediaDataClient") << "not starting queue timer (it's already running, right???)" << LL_ENDL; +		LL_DEBUGS("LLMediaDataClient") << "queue timer is already running" << LL_ENDL;  	}  } @@ -220,179 +213,138 @@ void LLMediaDataClient::stopQueueTimer()  bool LLMediaDataClient::processQueueTimer()  { -	sortQueue(); -	 -	if(!isEmpty()) -	{ -		LL_DEBUGS("LLMediaDataClient") << "QueueTimer::tick() started, SORTED queue size is:	  " << mSortedQueue.size()  -			<< ", RR queue size is:	  " << mRoundRobinQueue.size() << LL_ENDL; -		LL_DEBUGS("LLMediaDataClientQueue") << "QueueTimer::tick() started, SORTED queue is:	  " << mSortedQueue << LL_ENDL; -		LL_DEBUGS("LLMediaDataClientQueue") << "QueueTimer::tick() started, RR queue is:	  " << mRoundRobinQueue << LL_ENDL; -	} -	 +	if(isEmpty()) +		return true; + +	LL_DEBUGS("LLMediaDataClient") << "QueueTimer::tick() started, queue size is:	  " << mQueue.size() << LL_ENDL; +	LL_DEBUGS("LLMediaDataClientQueue") << "QueueTimer::tick() started, SORTED queue is:	  " << mQueue << LL_ENDL; +			  	serviceQueue(); -	LL_DEBUGS("LLMediaDataClient") << "QueueTimer::tick() finished, SORTED queue size is:	  " << mSortedQueue.size()  -		<< ", RR queue size is:	  " << mRoundRobinQueue.size() << LL_ENDL; -	LL_DEBUGS("LLMediaDataClientQueue") << "QueueTimer::tick() finished, SORTED queue is:	  " << mSortedQueue << LL_ENDL; -	LL_DEBUGS("LLMediaDataClientQueue") << "QueueTimer::tick() finished, RR queue is:	  " << mRoundRobinQueue << LL_ENDL; +	LL_DEBUGS("LLMediaDataClient") << "QueueTimer::tick() finished, queue size is:	  " << mQueue.size() << LL_ENDL; +	LL_DEBUGS("LLMediaDataClientQueue") << "QueueTimer::tick() finished, SORTED queue is:	  " << mQueue << LL_ENDL;  	return isEmpty();  } -void LLMediaDataClient::sortQueue() +LLMediaDataClient::request_ptr_t LLMediaDataClient::dequeue()  { -	if(!mSortedQueue.empty()) +	request_ptr_t request; +	request_queue_t *queue_p = getQueue(); +	 +	if (queue_p->empty())  	{ -		// Score all items first -		request_queue_t::iterator iter = mSortedQueue.begin(); -		request_queue_t::iterator end = mSortedQueue.end(); -		while (iter != end) +		LL_DEBUGS("LLMediaDataClient") << "queue empty: " << (*queue_p) << LL_ENDL; +	} +	else +	{ +		request = queue_p->front(); +		 +		if(canServiceRequest(request))  		{ -			(*iter)->updateScore(); -			iter++; +			// We will be returning this request, so remove it from the queue. +			queue_p->pop_front();  		} -		 -		// Re-sort the list... -		// NOTE: should this be a stable_sort?  If so we need to change to using a vector. -		mSortedQueue.sort(LLMediaDataClient::compareRequests); -		 -		// ...then cull items over the max -		U32 size = mSortedQueue.size(); -		if (size > mMaxSortedQueueSize)  +		else  		{ -			U32 num_to_cull = (size - mMaxSortedQueueSize); -			LL_INFOS_ONCE("LLMediaDataClient") << "sorted queue MAXED OUT!  Culling "  -				<< num_to_cull << " items" << LL_ENDL; -			while (num_to_cull-- > 0) -			{ -				mSortedQueue.pop_back(); -			} +			// Don't return this request -- it's not ready to be serviced. +			request = NULL;  		}  	} + +	return request;  } -// static -bool LLMediaDataClient::compareRequests(const request_ptr_t &o1, const request_ptr_t &o2) +void LLMediaDataClient::pushBack(request_ptr_t request)  { -	if (o2.isNull()) return true; -	if (o1.isNull()) return false; -	return ( o1->getScore() > o2->getScore() ); +	request_queue_t *queue_p = getQueue(); +	queue_p->push_front(request); +} + +void LLMediaDataClient::trackRequest(request_ptr_t request) +{ +	request_set_t::iterator iter = mUnQueuedRequests.lower_bound(request); +	 +	if(*iter == request) +	{ +		LL_WARNS("LLMediaDataClient") << "Tracking already tracked request: " << *request << LL_ENDL; +	} +	else +	{ +		mUnQueuedRequests.insert(iter, request); +	} +} + +void LLMediaDataClient::stopTrackingRequest(request_ptr_t request) +{ +	request_set_t::iterator iter = mUnQueuedRequests.find(request); +	 +	if(*iter == request) +	{ +		mUnQueuedRequests.erase(iter); +	} +	else +	{ +		LL_WARNS("LLMediaDataClient") << "Removing an untracked request: " << *request << LL_ENDL; +	}  }  void LLMediaDataClient::serviceQueue()  {	 -	request_queue_t *queue_p = getCurrentQueue(); +	// Peel one off of the items from the queue and execute it +	request_ptr_t request; -	// quick retry loop for cases where we shouldn't wait for the next timer tick -	while(true) +	do  	{ -		if (queue_p->empty()) +		request = dequeue(); + +		if(request.isNull())  		{ -			LL_DEBUGS("LLMediaDataClient") << "queue empty: " << (*queue_p) << LL_ENDL; -			break; +			// Queue is empty. +			return;  		} -		 -		// Peel one off of the items from the queue, and execute request -		request_ptr_t request = queue_p->front(); -		llassert(!request.isNull()); -		const LLMediaDataClientObject *object = (request.isNull()) ? NULL : request->getObject(); -		llassert(NULL != object); -		 -		// Check for conditions that would make us just pop and rapidly loop through -		// the queue. -		if(request.isNull() || -		   request->isMarkedSent() || -		   NULL == object || -		   object->isDead() || -		   !object->hasMedia()) + +		if(request->isDead())  		{ -			if (request.isNull())  -			{ -				LL_WARNS("LLMediaDataClient") << "Skipping NULL request" << LL_ENDL; -			} -			else { -				LL_INFOS("LLMediaDataClient") << "Skipping : " << *request << " "  -				<< ((request->isMarkedSent()) ? " request is marked sent" : -					((NULL == object) ? " object is NULL " : -					 ((object->isDead()) ? "object is dead" :  -					  ((!object->hasMedia()) ? "object has no media!" : "BADNESS!")))) << LL_ENDL; -			} -			queue_p->pop_front(); -			continue;	// jump back to the start of the quick retry loop +			LL_INFOS("LLMediaDataClient") << "Skipping dead request " << *request << LL_ENDL; +			continue;  		} + +	} while(false); -		// Next, ask if this is "interesting enough" to fetch.  If not, just stop -		// and wait for the next timer go-round.  Only do this for the sorted  -		// queue. -		if (mCurrentQueueIsTheSortedQueue && !object->isInterestingEnough()) -		{ -			LL_DEBUGS("LLMediaDataClient") << "Not fetching " << *request << ": not interesting enough" << LL_ENDL; -			break; -		} +	// try to send the HTTP message to the cap url +	std::string url = request->getCapability(); +	if (!url.empty()) +	{ +		const LLSD &sd_payload = request->getPayload(); +		LL_INFOS("LLMediaDataClient") << "Sending request for " << *request << LL_ENDL; -		// Finally, try to send the HTTP message to the cap url -		std::string url = request->getCapability(); -		bool maybe_retry = false; -		if (!url.empty()) -		{ -			const LLSD &sd_payload = request->getPayload(); -			LL_INFOS("LLMediaDataClient") << "Sending request for " << *request << LL_ENDL; -			 -			// Call the subclass for creating the responder -			LLHTTPClient::post(url, sd_payload, createResponder(request)); -		} -		else { -			LL_INFOS("LLMediaDataClient") << "NOT Sending request for " << *request << ": empty cap url!" << LL_ENDL; -			maybe_retry = true; -		} - -		bool exceeded_retries = request->getRetryCount() > mMaxNumRetries; -		if (maybe_retry && ! exceeded_retries) // Try N times before giving up  +		// Add this request to the non-queued tracking list +		trackRequest(request); +		 +		// and make the post +		LLHTTPClient::post(url, sd_payload, request->createResponder()); +	} +	else  +	{ +		// Cap url doesn't exist. +		 +		if(request->getRetryCount() < mMaxNumRetries)  		{ -			// We got an empty cap, but in that case we will retry again next -			// timer fire. +			LL_WARNS("LLMediaDataClient") << "Could not send request " << *request << " (empty cap url), will retry." << LL_ENDL;  +			// Put this request back at the head of its queue, and retry next time the queue timer fires.  			request->incRetryCount(); +			pushBack(request);  		} -		else { -			if (exceeded_retries) -			{ -				LL_WARNS("LLMediaDataClient") << "Could not send request " << *request << " for "  -					<< mMaxNumRetries << " tries...popping object id " << object->getID() << LL_ENDL;  -				// XXX Should we bring up a warning dialog?? -			} -			 -			queue_p->pop_front(); -			 -			if (! mCurrentQueueIsTheSortedQueue) { -				// Round robin -				request->markSent(true); -				mRoundRobinQueue.push_back(request);				 -			} +		else +		{ +			// This request has exceeded its maxumim retry count.  It will be dropped. +			LL_WARNS("LLMediaDataClient") << "Could not send request " << *request << " for " << mMaxNumRetries << " tries, dropping request." << LL_ENDL;   		} -		 - 		// end of quick loop -- any cases where we want to loop will use 'continue' to jump back to the start. - 		break; -	} -	 -	swapCurrentQueue(); -} -void LLMediaDataClient::swapCurrentQueue() -{ -	// Swap -	mCurrentQueueIsTheSortedQueue = !mCurrentQueueIsTheSortedQueue; -	// If its empty, swap back -	if (getCurrentQueue()->empty())  -	{ -		mCurrentQueueIsTheSortedQueue = !mCurrentQueueIsTheSortedQueue;  	}  } -LLMediaDataClient::request_queue_t *LLMediaDataClient::getCurrentQueue() -{ -	return (mCurrentQueueIsTheSortedQueue) ? &mSortedQueue : &mRoundRobinQueue; -}  // dump the queue  std::ostream& operator<<(std::ostream &s, const LLMediaDataClient::request_queue_t &q) @@ -402,7 +354,7 @@ std::ostream& operator<<(std::ostream &s, const LLMediaDataClient::request_queue  	LLMediaDataClient::request_queue_t::const_iterator end = q.end();  	while (iter != end)  	{ -		s << "\t" << i << "]: " << (*iter)->getObject()->getID().asString() << "(" << (*iter)->getObject()->getMediaInterest() << ")"; +		s << "\t" << i << "]: " << (*iter)->getID().asString() << "(" << (*iter)->getObject()->getMediaInterest() << ")";  		iter++;  		i++;  	} @@ -422,18 +374,24 @@ LLMediaDataClient::QueueTimer::QueueTimer(F32 time, LLMediaDataClient *mdc)  	mMDC->setIsRunning(true);  } -LLMediaDataClient::QueueTimer::~QueueTimer() -{ -	LL_DEBUGS("LLMediaDataClient") << "~QueueTimer" << LL_ENDL; -	mMDC->setIsRunning(false); -	mMDC = NULL; -} -  // virtual  BOOL LLMediaDataClient::QueueTimer::tick()  { -	if (mMDC.isNull()) return TRUE; -	return mMDC->processQueueTimer(); +	BOOL result = TRUE; +	 +	if (!mMDC.isNull()) +	{ +		result = mMDC->processQueueTimer(); +	 +		if(result) +		{ +			// This timer won't fire again.   +			mMDC->setIsRunning(false); +			mMDC = NULL; +		} +	} + +	return result;  } @@ -443,29 +401,30 @@ BOOL LLMediaDataClient::QueueTimer::tick()  //  ////////////////////////////////////////////////////////////////////////////////////// -LLMediaDataClient::Responder::RetryTimer::RetryTimer(F32 time, Responder *mdr) -: LLEventTimer(time), mResponder(mdr) +LLMediaDataClient::RetryTimer::RetryTimer(F32 time, request_ptr_t request) +: LLEventTimer(time), mRequest(request)  { +	mRequest->startTracking();  } -// virtual  -LLMediaDataClient::Responder::RetryTimer::~RetryTimer()  +// virtual +BOOL LLMediaDataClient::RetryTimer::tick()  { -	LL_DEBUGS("LLMediaDataClient") << "~RetryTimer" << *(mResponder->getRequest()) << LL_ENDL; -	 -	// XXX This is weird: Instead of doing the work in tick()  (which re-schedules -	// a timer, which might be risky), do it here, in the destructor.  Yes, it is very odd. -	// Instead of retrying, we just put the request back onto the queue -	LL_INFOS("LLMediaDataClient") << "RetryTimer fired for: " << *(mResponder->getRequest()) << " retrying" << LL_ENDL; -	mResponder->getRequest()->reEnqueue(); +	mRequest->stopTracking(); + +	if(mRequest->isDead()) +	{ +		LL_INFOS("LLMediaDataClient") << "RetryTimer fired for dead request: " << *mRequest << ", aborting." << LL_ENDL; +	} +	else +	{ +		LL_INFOS("LLMediaDataClient") << "RetryTimer fired for: " << *mRequest << ", retrying." << LL_ENDL; +		mRequest->reEnqueue(); +	} -	// Release the ref to the responder. -	mResponder = NULL; -} +	// Release the ref to the request. +	mRequest = NULL; -// virtual -BOOL LLMediaDataClient::Responder::RetryTimer::tick() -{  	// Don't fire again  	return TRUE;  } @@ -478,56 +437,37 @@ BOOL LLMediaDataClient::Responder::RetryTimer::tick()  //////////////////////////////////////////////////////////////////////////////////////  /*static*/U32 LLMediaDataClient::Request::sNum = 0; -LLMediaDataClient::Request::Request(const char *cap_name,  -									const LLSD& sd_payload, +LLMediaDataClient::Request::Request(Type in_type,  									LLMediaDataClientObject *obj,  -									LLMediaDataClient *mdc) -: mCapName(cap_name),  -  mPayload(sd_payload),  +									LLMediaDataClient *mdc, +									S32 face) +: mType(in_type),    mObject(obj),    mNum(++sNum),     mRetryCount(0),    mMDC(mdc), -  mMarkedSent(false), -  mScore((F64)0.0) +  mScore((F64)0.0), +  mFace(face)  { +	mObjectID = mObject->getID();  } -LLMediaDataClient::Request::~Request() +const char *LLMediaDataClient::Request::getCapName() const  { -	LL_DEBUGS("LLMediaDataClient") << "~Request" << (*this) << LL_ENDL; -	mMDC = NULL; -	mObject = NULL; +	if(mMDC) +		return mMDC->getCapabilityName(); +	 +	return "";  } -  std::string LLMediaDataClient::Request::getCapability() const  { -	return getObject()->getCapabilityUrl(getCapName()); -} - -// Helper function to get the "type" of request, which just pokes around to -// discover it. -LLMediaDataClient::Request::Type LLMediaDataClient::Request::getType() const -{ -	if (0 == strcmp(mCapName, "ObjectMediaNavigate")) +	if(mMDC)  	{ -		return NAVIGATE; -	} -	else if (0 == strcmp(mCapName, "ObjectMedia")) -	{ -		const std::string &verb = mPayload["verb"]; -		if (verb == "GET") -		{ -			return GET; -		} -		else if (verb == "UPDATE") -		{ -			return UPDATE; -		} +		return getObject()->getCapabilityUrl(getCapName());  	} -	llassert(false); -	return GET; +	 +	return "";  }  const char *LLMediaDataClient::Request::getTypeAsString() const @@ -552,35 +492,30 @@ const char *LLMediaDataClient::Request::getTypeAsString() const  } -void LLMediaDataClient::Request::reEnqueue() const +void LLMediaDataClient::Request::reEnqueue()  { -	// I sure hope this doesn't deref a bad pointer: -	mMDC->enqueue(this); +	if(mMDC) +	{ +		mMDC->enqueue(this); +	}  }  F32 LLMediaDataClient::Request::getRetryTimerDelay() const  { -	return (mMDC == NULL) ? LLMediaDataClient::UNAVAILABLE_RETRY_TIMER_DELAY : -	mMDC->mRetryTimerDelay;  +	if(mMDC) +		return mMDC->mRetryTimerDelay;  +		 +	return 0.0f;  }  U32 LLMediaDataClient::Request::getMaxNumRetries() const  { -	return (mMDC == NULL) ? LLMediaDataClient::MAX_RETRIES : mMDC->mMaxNumRetries; +	if(mMDC) +		return mMDC->mMaxNumRetries; +	 +	return 0;  } -void LLMediaDataClient::Request::markSent(bool flag) -{ -	 if (mMarkedSent != flag) -	 { -		 mMarkedSent = flag; -		 if (!mMarkedSent) -		 { -			 mNum = ++sNum; -		 } -	 } -} -		     void LLMediaDataClient::Request::updateScore()  {				  	F64 tmp = mObject->getMediaInterest(); @@ -591,15 +526,37 @@ void LLMediaDataClient::Request::updateScore()  	}  } +void LLMediaDataClient::Request::markDead()  +{  +	mMDC = NULL; +} + +bool LLMediaDataClient::Request::isDead()  +{  +	return ((mMDC == NULL) || mObject->isDead());  +} + +void LLMediaDataClient::Request::startTracking()  +{  +	if(mMDC)  +		mMDC->trackRequest(this);  +} + +void LLMediaDataClient::Request::stopTracking()  +{  +	if(mMDC)  +		mMDC->stopTrackingRequest(this);  +} +  std::ostream& operator<<(std::ostream &s, const LLMediaDataClient::Request &r)  {  	s << "request: num=" << r.getNum()   	<< " type=" << r.getTypeAsString()  -	<< " ID=" << r.getObject()->getID()  +	<< " ID=" << r.getID()  +	<< " face=" << r.getFace()   	<< " #retries=" << r.getRetryCount();  	return s;  } -  //////////////////////////////////////////////////////////////////////////////////////  // @@ -612,15 +569,17 @@ LLMediaDataClient::Responder::Responder(const request_ptr_t &request)  {  } -LLMediaDataClient::Responder::~Responder() -{ -	LL_DEBUGS("LLMediaDataClient") << "~Responder" << *(getRequest()) << LL_ENDL; -	mRequest = NULL; -} -  /*virtual*/  void LLMediaDataClient::Responder::error(U32 status, const std::string& reason)  { +	mRequest->stopTracking(); + +	if(mRequest->isDead()) +	{ +		LL_WARNS("LLMediaDataClient") << "dead request " << *mRequest << LL_ENDL; +		return; +	} +	  	if (status == HTTP_SERVICE_UNAVAILABLE)  	{  		F32 retry_timeout = mRequest->getRetryTimerDelay(); @@ -633,14 +592,16 @@ void LLMediaDataClient::Responder::error(U32 status, const std::string& reason)  			// Start timer (instances are automagically tracked by  			// InstanceTracker<> and LLEventTimer) -			new RetryTimer(F32(retry_timeout/*secs*/), this); +			new RetryTimer(F32(retry_timeout/*secs*/), mRequest);  		} -		else { +		else  +		{  			LL_INFOS("LLMediaDataClient") << *mRequest << " got SERVICE_UNAVAILABLE...retry count "   				<< mRequest->getRetryCount() << " exceeds " << mRequest->getMaxNumRetries() << ", not retrying" << LL_ENDL;  		}  	} -	else { +	else  +	{  		std::string msg = boost::lexical_cast<std::string>(status) + ": " + reason;  		LL_WARNS("LLMediaDataClient") << *mRequest << " http error(" << msg << ")" << LL_ENDL;  	} @@ -649,6 +610,14 @@ void LLMediaDataClient::Responder::error(U32 status, const std::string& reason)  /*virtual*/  void LLMediaDataClient::Responder::result(const LLSD& content)  { +	mRequest->stopTracking(); + +	if(mRequest->isDead()) +	{ +		LL_WARNS("LLMediaDataClient") << "dead request " << *mRequest << LL_ENDL; +		return; +	} +  	LL_DEBUGS("LLMediaDataClientResponse") << *mRequest << " result : " << ll_print_sd(content) << LL_ENDL;  } @@ -659,9 +628,10 @@ void LLMediaDataClient::Responder::result(const LLSD& content)  //  ////////////////////////////////////////////////////////////////////////////////////// -LLMediaDataClient::Responder *LLObjectMediaDataClient::createResponder(const request_ptr_t &request) const +void LLObjectMediaDataClient::fetchMedia(LLMediaDataClientObject *object)  { -	return new LLObjectMediaDataClient::Responder(request); +	// Create a get request and put it in the queue. +	enqueue(new RequestGet(object, this));  }  const char *LLObjectMediaDataClient::getCapabilityName() const  @@ -669,70 +639,286 @@ const char *LLObjectMediaDataClient::getCapabilityName() const  	return "ObjectMedia";  } -void LLObjectMediaDataClient::fetchMedia(LLMediaDataClientObject *object) +LLObjectMediaDataClient::request_queue_t *LLObjectMediaDataClient::getQueue() +{ +	return (mCurrentQueueIsTheSortedQueue) ? &mQueue : &mRoundRobinQueue; +} + +void LLObjectMediaDataClient::sortQueue() +{ +	if(!mQueue.empty()) +	{ +		// score all elements in the sorted queue. +		for(request_queue_t::iterator iter = mQueue.begin(); iter != mQueue.end(); iter++) +		{ +			(*iter)->updateScore(); +		} +		 +		// Re-sort the list... +		mQueue.sort(compareRequestScores); +		 +		// ...then cull items over the max +		U32 size = mQueue.size(); +		if (size > mMaxSortedQueueSize)  +		{ +			U32 num_to_cull = (size - mMaxSortedQueueSize); +			LL_INFOS_ONCE("LLMediaDataClient") << "sorted queue MAXED OUT!  Culling "  +				<< num_to_cull << " items" << LL_ENDL; +			while (num_to_cull-- > 0) +			{ +				mQueue.back()->markDead(); +				mQueue.pop_back(); +			} +		} +	} +	 +} + +// static +bool LLObjectMediaDataClient::compareRequestScores(const request_ptr_t &o1, const request_ptr_t &o2)  { -	LLSD sd_payload; -	sd_payload["verb"] = "GET"; -	sd_payload[LLTextureEntry::OBJECT_ID_KEY] = object->getID(); -	request(object, sd_payload); +	if (o2.isNull()) return true; +	if (o1.isNull()) return false; +	return ( o1->getScore() > o2->getScore() );  } +void LLObjectMediaDataClient::enqueue(Request *request) +{ +	if(request->isDead()) +	{ +		LL_DEBUGS("LLMediaDataClient") << "not queueing dead request " << *request << LL_ENDL; +		return; +	} + +	// Invariants: +	// new requests always go into the sorted queue. +	//   +	 +	bool is_new = request->isNew(); +	 +	if(!is_new && (request->getType() == Request::GET)) +	{ +		// For GET requests that are not new, if a matching request is already in the round robin queue,  +		// in flight, or being retried, leave it at its current position. +		request_queue_t::iterator iter = find_matching_request(mRoundRobinQueue, request->getID(), Request::GET); +		request_set_t::iterator iter2 = find_matching_request(mUnQueuedRequests, request->getID(), Request::GET); +		 +		if( (iter != mRoundRobinQueue.end()) || (iter2 != mUnQueuedRequests.end()) ) +		{ +			LL_DEBUGS("LLMediaDataClient") << "ALREADY THERE: NOT Queuing request for " << *request << LL_ENDL; + +			return; +		} +	} +	 +	// TODO: should an UPDATE cause pending GET requests for the same object to be removed from the queue? +	// IF the update will cause an object update message to be sent out at some point in the future, it probably should. +	 +	// Remove any existing requests of this type for this object +	remove_matching_requests(mQueue, request->getID(), request->getType()); +	remove_matching_requests(mRoundRobinQueue, request->getID(), request->getType()); +	remove_matching_requests(mUnQueuedRequests, request->getID(), request->getType()); + +	if (is_new) +	{ +		LL_DEBUGS("LLMediaDataClient") << "Queuing SORTED request for " << *request << LL_ENDL; +		 +		mQueue.push_back(request); +		 +		LL_DEBUGS("LLMediaDataClientQueue") << "SORTED queue:" << mQueue << LL_ENDL; +	} +	else +	{ +		if (mRoundRobinQueue.size() > mMaxRoundRobinQueueSize)  +		{ +			LL_INFOS_ONCE("LLMediaDataClient") << "RR QUEUE MAXED OUT!!!" << LL_ENDL; +			LL_DEBUGS("LLMediaDataClient") << "Not queuing " << *request << LL_ENDL; +			return; +		} +				 +		LL_DEBUGS("LLMediaDataClient") << "Queuing RR request for " << *request << LL_ENDL; +		// Push the request on the pending queue +		mRoundRobinQueue.push_back(request); +		 +		LL_DEBUGS("LLMediaDataClientQueue") << "RR queue:" << mRoundRobinQueue << LL_ENDL;			 +	}	 +	// Start the timer if not already running +	startQueueTimer(); +} + +bool LLObjectMediaDataClient::canServiceRequest(request_ptr_t request)  +{ +	if(mCurrentQueueIsTheSortedQueue) +	{ +		if(!request->getObject()->isInterestingEnough()) +		{ +			LL_DEBUGS("LLMediaDataClient") << "Not fetching " << *request << ": not interesting enough" << LL_ENDL; +			return false; +		} +	} +	 +	return true;  +}; + +void LLObjectMediaDataClient::swapCurrentQueue() +{ +	// Swap +	mCurrentQueueIsTheSortedQueue = !mCurrentQueueIsTheSortedQueue; +	// If its empty, swap back +	if (getQueue()->empty())  +	{ +		mCurrentQueueIsTheSortedQueue = !mCurrentQueueIsTheSortedQueue; +	} +} + +bool LLObjectMediaDataClient::isEmpty() const +{ +	return mQueue.empty() && mRoundRobinQueue.empty(); +} + +bool LLObjectMediaDataClient::isInQueue(const LLMediaDataClientObject::ptr_t &object) +{ +	// First, call parent impl. +	if(LLMediaDataClient::isInQueue(object)) +		return true; + +	if(find_matching_request(mRoundRobinQueue, object->getID()) != mRoundRobinQueue.end()) +		return true; +	 +	return false; +} + +void LLObjectMediaDataClient::removeFromQueue(const LLMediaDataClientObject::ptr_t &object) +{ +	// First, call parent impl. +	LLMediaDataClient::removeFromQueue(object); +	 +	remove_matching_requests(mRoundRobinQueue, object->getID()); +} + +bool LLObjectMediaDataClient::processQueueTimer() +{ +	if(isEmpty()) +		return true; +		 +	LL_DEBUGS("LLMediaDataClient") << "started, SORTED queue size is:	  " << mQueue.size()  +		<< ", RR queue size is:	  " << mRoundRobinQueue.size() << LL_ENDL; +	LL_DEBUGS("LLMediaDataClientQueue") << "    SORTED queue is:	  " << mQueue << LL_ENDL; +	LL_DEBUGS("LLMediaDataClientQueue") << "    RR queue is:	  " << mRoundRobinQueue << LL_ENDL; + +//	purgeDeadRequests(); + +	sortQueue(); + +	LL_DEBUGS("LLMediaDataClientQueue") << "after sort, SORTED queue is:	  " << mQueue << LL_ENDL; +	 +	serviceQueue(); + +	swapCurrentQueue(); +	 +	LL_DEBUGS("LLMediaDataClient") << "finished, SORTED queue size is:	  " << mQueue.size()  +		<< ", RR queue size is:	  " << mRoundRobinQueue.size() << LL_ENDL; +	LL_DEBUGS("LLMediaDataClientQueue") << "    SORTED queue is:	  " << mQueue << LL_ENDL; +	LL_DEBUGS("LLMediaDataClientQueue") << "    RR queue is:	  " << mRoundRobinQueue << LL_ENDL; +	 +	return isEmpty(); +} + +LLObjectMediaDataClient::RequestGet::RequestGet(LLMediaDataClientObject *obj, LLMediaDataClient *mdc): +	LLMediaDataClient::Request(LLMediaDataClient::Request::GET, obj, mdc) +{ +} + +LLSD LLObjectMediaDataClient::RequestGet::getPayload() const +{ +	LLSD result; +	result["verb"] = "GET"; +	result[LLTextureEntry::OBJECT_ID_KEY] = mObject->getID(); +	 +	return result; +} + +LLMediaDataClient::Responder *LLObjectMediaDataClient::RequestGet::createResponder() +{ +	return new LLObjectMediaDataClient::Responder(this); +} + +  void LLObjectMediaDataClient::updateMedia(LLMediaDataClientObject *object)  { -	LLSD sd_payload; -	sd_payload["verb"] = "UPDATE"; -	sd_payload[LLTextureEntry::OBJECT_ID_KEY] = object->getID(); +	// Create an update request and put it in the queue. +	enqueue(new RequestUpdate(object, this)); +} + +LLObjectMediaDataClient::RequestUpdate::RequestUpdate(LLMediaDataClientObject *obj, LLMediaDataClient *mdc): +	LLMediaDataClient::Request(LLMediaDataClient::Request::UPDATE, obj, mdc) +{ +} + +LLSD LLObjectMediaDataClient::RequestUpdate::getPayload() const +{ +	LLSD result; +	result["verb"] = "UPDATE"; +	result[LLTextureEntry::OBJECT_ID_KEY] = mObject->getID(); +  	LLSD object_media_data;  	int i = 0; -	int end = object->getMediaDataCount(); +	int end = mObject->getMediaDataCount();  	for ( ; i < end ; ++i)   	{ -		object_media_data.append(object->getMediaDataLLSD(i)); +		object_media_data.append(mObject->getMediaDataLLSD(i));  	} -	sd_payload[LLTextureEntry::OBJECT_MEDIA_DATA_KEY] = object_media_data; -		 -	LL_DEBUGS("LLMediaDataClient") << "update media data: " << object->getID() << " " << ll_print_sd(sd_payload) << LL_ENDL; -	request(object, sd_payload); +	result[LLTextureEntry::OBJECT_MEDIA_DATA_KEY] = object_media_data; +	 +	return result;  } +LLMediaDataClient::Responder *LLObjectMediaDataClient::RequestUpdate::createResponder() +{ +	// This just uses the base class's responder. +	return new LLMediaDataClient::Responder(this); +} + +  /*virtual*/  void LLObjectMediaDataClient::Responder::result(const LLSD& content)  { -	const LLMediaDataClient::Request::Type type = getRequest()->getType(); -	llassert(type == LLMediaDataClient::Request::GET || type == LLMediaDataClient::Request::UPDATE) -	if (type == LLMediaDataClient::Request::GET) +	getRequest()->stopTracking(); + +	if(getRequest()->isDead())  	{ -		LL_DEBUGS("LLMediaDataClientResponse") << *(getRequest()) << " GET returned: " << ll_print_sd(content) << LL_ENDL; +		LL_WARNS("LLMediaDataClient") << "dead request " << *(getRequest()) << LL_ENDL; +		return; +	} + +	// This responder is only used for GET requests, not UPDATE. + +	LL_DEBUGS("LLMediaDataClientResponse") << *(getRequest()) << " GET returned: " << ll_print_sd(content) << LL_ENDL; +	 +	// Look for an error +	if (content.has("error")) +	{ +		const LLSD &error = content["error"]; +		LL_WARNS("LLMediaDataClient") << *(getRequest()) << " Error getting media data for object: code=" <<  +			error["code"].asString() << ": " << error["message"].asString() << LL_ENDL; -		// Look for an error -		if (content.has("error")) -		{ -			const LLSD &error = content["error"]; -			LL_WARNS("LLMediaDataClient") << *(getRequest()) << " Error getting media data for object: code=" <<  -				error["code"].asString() << ": " << error["message"].asString() << LL_ENDL; -			 -			// XXX Warn user? -		} -		else { -			// Check the data -			const LLUUID &object_id = content[LLTextureEntry::OBJECT_ID_KEY]; -			if (object_id != getRequest()->getObject()->getID())  -			{ -				// NOT good, wrong object id!! -				LL_WARNS("LLMediaDataClient") << *(getRequest()) << " DROPPING response with wrong object id (" << object_id << ")" << LL_ENDL; -				return; -			} -			 -			// Otherwise, update with object media data -			getRequest()->getObject()->updateObjectMediaData(content[LLTextureEntry::OBJECT_MEDIA_DATA_KEY], -															 content[LLTextureEntry::MEDIA_VERSION_KEY]); -		} +		// XXX Warn user?  	} -	else if (type == LLMediaDataClient::Request::UPDATE) +	else   	{ -		// just do what our superclass does -		LLMediaDataClient::Responder::result(content); +		// Check the data +		const LLUUID &object_id = content[LLTextureEntry::OBJECT_ID_KEY]; +		if (object_id != getRequest()->getObject()->getID())  +		{ +			// NOT good, wrong object id!! +			LL_WARNS("LLMediaDataClient") << *(getRequest()) << " DROPPING response with wrong object id (" << object_id << ")" << LL_ENDL; +			return; +		} +		 +		// Otherwise, update with object media data +		getRequest()->getObject()->updateObjectMediaData(content[LLTextureEntry::OBJECT_MEDIA_DATA_KEY], +														 content[LLTextureEntry::MEDIA_VERSION_KEY]);  	}  } @@ -742,38 +928,105 @@ void LLObjectMediaDataClient::Responder::result(const LLSD& content)  // Subclass of LLMediaDataClient for the ObjectMediaNavigate cap  //  ////////////////////////////////////////////////////////////////////////////////////// -LLMediaDataClient::Responder *LLObjectMediaNavigateClient::createResponder(const request_ptr_t &request) const -{ -	return new LLObjectMediaNavigateClient::Responder(request); -}  const char *LLObjectMediaNavigateClient::getCapabilityName() const   {  	return "ObjectMediaNavigate";  } +void LLObjectMediaNavigateClient::enqueue(Request *request) +{ +	if(request->isDead()) +	{ +		LL_DEBUGS("LLMediaDataClient") << "not queueing dead request " << *request << LL_ENDL; +		return; +	} +	 +	// If there's already a matching request in the queue, remove it. +	request_queue_t::iterator iter = find_matching_request(mQueue, request); +	if(iter != mQueue.end()) +	{ +		LL_DEBUGS("LLMediaDataClient") << "removing matching queued request " << (**iter) << LL_ENDL; +		mQueue.erase(iter); +	} +	else +	{ +		request_set_t::iterator set_iter = find_matching_request(mUnQueuedRequests, request); +		if(set_iter != mUnQueuedRequests.end()) +		{ +			LL_DEBUGS("LLMediaDataClient") << "removing matching unqueued request " << (**set_iter) << LL_ENDL; +			mUnQueuedRequests.erase(set_iter); +		} +	} + +#if 0 +	// Sadly, this doesn't work.  It ends up creating a race condition when the user navigates and then hits the "back" button +	// where the navigate-back appears to be spurious and doesn't get broadcast.	 +	if(request->getObject()->isCurrentMediaUrl(request->getFace(), request->getURL())) +	{ +		// This navigate request is trying to send the face to the current URL.  Drop it. +		LL_DEBUGS("LLMediaDataClient") << "dropping spurious request " << (*request) << LL_ENDL; +	} +	else +#endif +	{ +		LL_DEBUGS("LLMediaDataClient") << "queueing new request " << (*request) << LL_ENDL; +		mQueue.push_back(request); +		 +		// Start the timer if not already running +		startQueueTimer(); +	} +} +  void LLObjectMediaNavigateClient::navigate(LLMediaDataClientObject *object, U8 texture_index, const std::string &url)  { -	LLSD sd_payload; -	sd_payload[LLTextureEntry::OBJECT_ID_KEY] = object->getID(); -	sd_payload[LLMediaEntry::CURRENT_URL_KEY] = url; -	sd_payload[LLTextureEntry::TEXTURE_INDEX_KEY] = (LLSD::Integer)texture_index; + +//	LL_INFOS("LLMediaDataClient") << "navigate() initiated: " << ll_print_sd(sd_payload) << LL_ENDL; -	LL_INFOS("LLMediaDataClient") << "navigate() initiated: " << ll_print_sd(sd_payload) << LL_ENDL; +	// Create a get request and put it in the queue. +	enqueue(new RequestNavigate(object, this, texture_index, url)); +} + +LLObjectMediaNavigateClient::RequestNavigate::RequestNavigate(LLMediaDataClientObject *obj, LLMediaDataClient *mdc, U8 texture_index, const std::string &url): +	LLMediaDataClient::Request(LLMediaDataClient::Request::NAVIGATE, obj, mdc, (S32)texture_index), +	mURL(url) +{ +} + +LLSD LLObjectMediaNavigateClient::RequestNavigate::getPayload() const +{ +	LLSD result; +	result[LLTextureEntry::OBJECT_ID_KEY] = getID(); +	result[LLMediaEntry::CURRENT_URL_KEY] = mURL; +	result[LLTextureEntry::TEXTURE_INDEX_KEY] = (LLSD::Integer)getFace(); -	request(object, sd_payload); +	return result; +} + +LLMediaDataClient::Responder *LLObjectMediaNavigateClient::RequestNavigate::createResponder() +{ +	return new LLObjectMediaNavigateClient::Responder(this);  }  /*virtual*/  void LLObjectMediaNavigateClient::Responder::error(U32 status, const std::string& reason)  { +	getRequest()->stopTracking(); + +	if(getRequest()->isDead()) +	{ +		LL_WARNS("LLMediaDataClient") << "dead request " << *(getRequest()) << LL_ENDL; +		return; +	} +  	// Bounce back (unless HTTP_SERVICE_UNAVAILABLE, in which case call base  	// class  	if (status == HTTP_SERVICE_UNAVAILABLE)  	{  		LLMediaDataClient::Responder::error(status, reason);  	} -	else { +	else +	{  		// bounce the face back  		LL_WARNS("LLMediaDataClient") << *(getRequest()) << " Error navigating: http code=" << status << LL_ENDL;  		const LLSD &payload = getRequest()->getPayload(); @@ -785,6 +1038,14 @@ void LLObjectMediaNavigateClient::Responder::error(U32 status, const std::string  /*virtual*/  void LLObjectMediaNavigateClient::Responder::result(const LLSD& content)  { +	getRequest()->stopTracking(); + +	if(getRequest()->isDead()) +	{ +		LL_WARNS("LLMediaDataClient") << "dead request " << *(getRequest()) << LL_ENDL; +		return; +	} +  	LL_INFOS("LLMediaDataClient") << *(getRequest()) << " NAVIGATE returned " << ll_print_sd(content) << LL_ENDL;  	if (content.has("error")) @@ -799,14 +1060,17 @@ void LLObjectMediaNavigateClient::Responder::result(const LLSD& content)  			// bounce the face back  			getRequest()->getObject()->mediaNavigateBounceBack((LLSD::Integer)payload[LLTextureEntry::TEXTURE_INDEX_KEY]);  		} -		else { +		else +		{  			LL_WARNS("LLMediaDataClient") << *(getRequest()) << " Error navigating: code=" <<   				error["code"].asString() << ": " << error["message"].asString() << LL_ENDL;  		}			  +  		// XXX Warn user?  	} -	else { -		// just do what our superclass does -		LLMediaDataClient::Responder::result(content); +	else  +	{ +		// No action required. +		LL_DEBUGS("LLMediaDataClientResponse") << *(getRequest()) << " result : " << ll_print_sd(content) << LL_ENDL;  	}  } diff --git a/indra/newview/llmediadataclient.h b/indra/newview/llmediadataclient.h index 8dd72cb595..f82eb2120b 100755 --- a/indra/newview/llmediadataclient.h +++ b/indra/newview/llmediadataclient.h @@ -34,7 +34,7 @@  #define LL_LLMEDIADATACLIENT_H  #include "llhttpclient.h" -#include <queue> +#include <set>  #include "llrefcount.h"  #include "llpointer.h"  #include "lleventtimer.h" @@ -48,6 +48,8 @@ public:  	virtual U8 getMediaDataCount() const = 0;  	// Get the media data at index, as an LLSD  	virtual LLSD getMediaDataLLSD(U8 index) const = 0; +	// Return true if the current URL for the face in the media data matches the specified URL. +	virtual bool isCurrentMediaUrl(U8 index, const std::string &url) const = 0;  	// Get this object's UUID  	virtual LLUUID getID() const = 0;  	// Navigate back to previous URL @@ -73,6 +75,7 @@ public:  	typedef LLPointer<LLMediaDataClientObject> ptr_t;  }; +  // This object creates a priority queue for requests.  // Abstracts the Cap URL, the request, and the responder  class LLMediaDataClient : public LLRefCount @@ -93,31 +96,37 @@ public:  					  U32 max_sorted_queue_size = MAX_SORTED_QUEUE_SIZE,  					  U32 max_round_robin_queue_size = MAX_ROUND_ROBIN_QUEUE_SIZE); -	// Make the request -	void request(const LLMediaDataClientObject::ptr_t &object, const LLSD &payload); -  	F32 getRetryTimerDelay() const { return mRetryTimerDelay; }  	// Returns true iff the queue is empty -	bool isEmpty() const; +	virtual bool isEmpty() const;  	// Returns true iff the given object is in the queue -	bool isInQueue(const LLMediaDataClientObject::ptr_t &object); +	virtual bool isInQueue(const LLMediaDataClientObject::ptr_t &object);  	// Remove the given object from the queue. Returns true iff the given object is removed. -	bool removeFromQueue(const LLMediaDataClientObject::ptr_t &object); +	virtual void removeFromQueue(const LLMediaDataClientObject::ptr_t &object);  	// Called only by the Queue timer and tests (potentially) -	bool processQueueTimer(); +	virtual bool processQueueTimer();  protected:  	// Destructor  	virtual ~LLMediaDataClient(); // use unref -	// Request +	class Responder; +	 +	// Request (pure virtual base class for requests in the queue)  	class Request : public LLRefCount  	{  	public: +		// Subclasses must implement this to build a payload for their request type. +		virtual LLSD getPayload() const = 0; +		// and must create the correct type of responder. +		virtual Responder *createResponder() = 0; + +		virtual std::string getURL() { return ""; } +          enum Type {              GET,              UPDATE, @@ -125,50 +134,61 @@ protected:  			ANY          }; -		Request(const char *cap_name, const LLSD& sd_payload, LLMediaDataClientObject *obj, LLMediaDataClient *mdc); -		const char *getCapName() const { return mCapName; } -		const LLSD &getPayload() const { return mPayload; } +	protected: +		// The only way to create one of these is through a subclass. +		Request(Type in_type, LLMediaDataClientObject *obj, LLMediaDataClient *mdc, S32 face = -1); +	public:  		LLMediaDataClientObject *getObject() const { return mObject; }          U32 getNum() const { return mNum; } -  		U32 getRetryCount() const { return mRetryCount; }  		void incRetryCount() { mRetryCount++; } +        Type getType() const { return mType; } +		F64 getScore() const { return mScore; }  		// Note: may return empty string!  		std::string getCapability() const; -         -        Type getType() const; +		const char *getCapName() const;  		const char *getTypeAsString() const;  		// Re-enqueue thyself -		void reEnqueue() const; +		void reEnqueue();  		F32 getRetryTimerDelay() const;  		U32 getMaxNumRetries() const; -		bool isNew() const { return mObject.notNull() ? mObject->isNew() : false; } -		void markSent(bool flag); -		bool isMarkedSent() const { return mMarkedSent; } +		bool isObjectValid() const { return mObject.notNull() && (!mObject->isDead()); } +		bool isNew() const { return isObjectValid() && mObject->isNew(); }  		void updateScore(); -		F64 getScore() const { return mScore; } -	public: +		void markDead(); +		bool isDead(); +		void startTracking(); +		void stopTracking(); +		  		friend std::ostream& operator<<(std::ostream &s, const Request &q); -    protected: -        virtual ~Request(); // use unref(); -         -	private: -		const char *mCapName; -		LLSD mPayload; +		const LLUUID &getID() const { return mObjectID; } +		S32 getFace() const { return mFace; } +		 +		bool isMatch (const Request* other, Type match_type = ANY) const  +		{  +			return ((match_type == ANY) || (mType == other->mType)) &&  +					(mFace == other->mFace) &&  +					(mObjectID == other->mObjectID);  +		} +	protected:  		LLMediaDataClientObject::ptr_t mObject; +	private: +		Type mType;  		// Simple tracking  		U32 mNum;  		static U32 sNum;          U32 mRetryCount;  		F64 mScore; -		bool mMarkedSent; +		 +		LLUUID mObjectID; +		S32 mFace;  		// Back pointer to the MDC...not a ref!  		LLMediaDataClient *mMDC; @@ -185,48 +205,66 @@ protected:  		//If we get back a normal response, handle it here.	 Default just logs it.  		virtual void result(const LLSD& content); -		const request_ptr_t &getRequest() const { return mRequest; } +		request_ptr_t &getRequest() { return mRequest; } -    protected: -		virtual ~Responder(); -          	private: +		request_ptr_t mRequest; +	}; -		class RetryTimer : public LLEventTimer -		{ -		public: -			RetryTimer(F32 time, Responder *); -			virtual ~RetryTimer(); -			virtual BOOL tick(); -		private: -			// back-pointer -			boost::intrusive_ptr<Responder> mResponder; -		}; -		 +	class RetryTimer : public LLEventTimer +	{ +	public: +		RetryTimer(F32 time, request_ptr_t); +		virtual BOOL tick(); +	private: +		// back-pointer  		request_ptr_t mRequest;  	}; +		  protected: +	typedef std::list<request_ptr_t> request_queue_t; +	typedef std::set<request_ptr_t> request_set_t; -	// Subclasses must override this factory method to return a new responder -	virtual Responder *createResponder(const request_ptr_t &request) const = 0; -	  	// Subclasses must override to return a cap name  	virtual const char *getCapabilityName() const = 0; + +	// Puts the request into a queue, appropriately handling duplicates, etc. +	virtual void enqueue(Request*) = 0; -	virtual void sortQueue();  	virtual void serviceQueue(); + +	virtual request_queue_t *getQueue() { return &mQueue; }; + +	// Gets the next request, removing it from the queue +	virtual request_ptr_t dequeue(); -private: -	typedef std::list<request_ptr_t> request_queue_t; -		 -	void enqueue(const Request*); +	virtual bool canServiceRequest(request_ptr_t request) { return true; }; + +	// Returns a request to the head of the queue (should only be used for requests that came from dequeue +	virtual void pushBack(request_ptr_t request); -	// Return whether the given object is/was in the queue -	static LLMediaDataClient::request_ptr_t findOrRemove(request_queue_t &queue, const LLMediaDataClientObject::ptr_t &obj, bool remove, Request::Type type); +	void trackRequest(request_ptr_t request); +	void stopTrackingRequest(request_ptr_t request); +	 +	request_queue_t mQueue; + +	const F32 mQueueTimerDelay; +	const F32 mRetryTimerDelay; +	const U32 mMaxNumRetries; +	const U32 mMaxSortedQueueSize; +	const U32 mMaxRoundRobinQueueSize; +	 +	// Set for keeping track of requests that aren't in either queue.  This includes: +	//	Requests that have been sent and are awaiting a response (pointer held by the Responder) +	//  Requests that are waiting for their retry timers to fire (pointer held by the retry timer) +	request_set_t mUnQueuedRequests; + +	void startQueueTimer(); +	void stopQueueTimer(); + +private: -	// Comparator for sorting -	static bool compareRequests(const request_ptr_t &o1, const request_ptr_t &o2);  	static F64 getObjectScore(const LLMediaDataClientObject::ptr_t &obj);  	friend std::ostream& operator<<(std::ostream &s, const Request &q); @@ -237,57 +275,76 @@ private:  	public:  		QueueTimer(F32 time, LLMediaDataClient *mdc);  		virtual BOOL tick(); -    protected: -		virtual ~QueueTimer();  	private:  		// back-pointer  		LLPointer<LLMediaDataClient> mMDC;  	}; -	void startQueueTimer(); -	void stopQueueTimer();  	void setIsRunning(bool val) { mQueueTimerIsRunning = val; } -	 -	void swapCurrentQueue(); -	request_queue_t *getCurrentQueue(); -	 -	const F32 mQueueTimerDelay; -	const F32 mRetryTimerDelay; -	const U32 mMaxNumRetries; -	const U32 mMaxSortedQueueSize; -	const U32 mMaxRoundRobinQueueSize; -	 +		  	bool mQueueTimerIsRunning; -	 -	request_queue_t mSortedQueue; -	request_queue_t mRoundRobinQueue; -	bool mCurrentQueueIsTheSortedQueue; -}; +	template <typename T> friend typename T::iterator find_matching_request(T &c, const LLMediaDataClient::Request *request, LLMediaDataClient::Request::Type match_type = LLMediaDataClient::Request::ANY); +	template <typename T> friend typename T::iterator find_matching_request(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type = LLMediaDataClient::Request::ANY); +	template <typename T> friend void remove_matching_requests(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type = LLMediaDataClient::Request::ANY); + +};  // MediaDataClient specific for the ObjectMedia cap  class LLObjectMediaDataClient : public LLMediaDataClient  {  public: +    LOG_CLASS(LLObjectMediaDataClient);      LLObjectMediaDataClient(F32 queue_timer_delay = QUEUE_TIMER_DELAY,  							F32 retry_timer_delay = UNAVAILABLE_RETRY_TIMER_DELAY,  							U32 max_retries = MAX_RETRIES,  							U32 max_sorted_queue_size = MAX_SORTED_QUEUE_SIZE,  							U32 max_round_robin_queue_size = MAX_ROUND_ROBIN_QUEUE_SIZE) -		: LLMediaDataClient(queue_timer_delay, retry_timer_delay, max_retries) +		: LLMediaDataClient(queue_timer_delay, retry_timer_delay, max_retries), +		  mCurrentQueueIsTheSortedQueue(true)  		{} -    virtual ~LLObjectMediaDataClient() {}  	void fetchMedia(LLMediaDataClientObject *object);       void updateMedia(LLMediaDataClientObject *object); -     -protected: -	// Subclasses must override this factory method to return a new responder -	virtual Responder *createResponder(const request_ptr_t &request) const; + +	class RequestGet: public Request +	{ +	public: +		RequestGet(LLMediaDataClientObject *obj, LLMediaDataClient *mdc); +		/*virtual*/ LLSD getPayload() const; +		/*virtual*/ Responder *createResponder(); +	}; + +	class RequestUpdate: public Request +	{ +	public: +		RequestUpdate(LLMediaDataClientObject *obj, LLMediaDataClient *mdc); +		/*virtual*/ LLSD getPayload() const; +		/*virtual*/ Responder *createResponder(); +	}; + +	// Returns true iff the queue is empty +	virtual bool isEmpty() const; +	// Returns true iff the given object is in the queue +	virtual bool isInQueue(const LLMediaDataClientObject::ptr_t &object); +	     +	// Remove the given object from the queue. Returns true iff the given object is removed. +	virtual void removeFromQueue(const LLMediaDataClientObject::ptr_t &object); + +	virtual bool processQueueTimer(); + +	virtual bool canServiceRequest(request_ptr_t request); + +protected:  	// Subclasses must override to return a cap name  	virtual const char *getCapabilityName() const; -     +	 +	virtual request_queue_t *getQueue(); + +	// Puts the request into the appropriate queue +	virtual void enqueue(Request*); +		          class Responder : public LLMediaDataClient::Responder      {      public: @@ -295,6 +352,16 @@ protected:              : LLMediaDataClient::Responder(request) {}          virtual void result(const LLSD &content);      }; +private: +	// The Get/Update data client needs a second queue to avoid object updates starving load-ins. +	void swapCurrentQueue(); +	 +	request_queue_t mRoundRobinQueue; +	bool mCurrentQueueIsTheSortedQueue; + +	// Comparator for sorting +	static bool compareRequestScores(const request_ptr_t &o1, const request_ptr_t &o2); +	void sortQueue();  }; @@ -302,6 +369,7 @@ protected:  class LLObjectMediaNavigateClient : public LLMediaDataClient  {  public: +    LOG_CLASS(LLObjectMediaNavigateClient);  	// NOTE: from llmediaservice.h  	static const int ERROR_PERMISSION_DENIED_CODE = 8002; @@ -312,14 +380,24 @@ public:  								U32 max_round_robin_queue_size = MAX_ROUND_ROBIN_QUEUE_SIZE)  		: LLMediaDataClient(queue_timer_delay, retry_timer_delay, max_retries)  		{} -    virtual ~LLObjectMediaNavigateClient() {}      void navigate(LLMediaDataClientObject *object, U8 texture_index, const std::string &url); + +	// Puts the request into the appropriate queue +	virtual void enqueue(Request*); + +	class RequestNavigate: public Request +	{ +	public: +		RequestNavigate(LLMediaDataClientObject *obj, LLMediaDataClient *mdc, U8 texture_index, const std::string &url); +		/*virtual*/ LLSD getPayload() const; +		/*virtual*/ Responder *createResponder(); +		/*virtual*/ std::string getURL() { return mURL; } +	private: +		std::string mURL; +	};  protected: -	// Subclasses must override this factory method to return a new responder -	virtual Responder *createResponder(const request_ptr_t &request) const; -	  	// Subclasses must override to return a cap name  	virtual const char *getCapabilityName() const; diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 67295179b2..18ef3e19ee 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/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index a300e15edd..6cfd810c10 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -317,9 +317,19 @@ void LLGestureComboList::refreshGestures()  	if (gestures)  	{ -		S32 index = gestures->getSelectedValue().asInteger(); -		if(index > 0) -			gesture = mGestures.at(index); +		S32 sel_index = gestures->getFirstSelectedIndex(); +		if (sel_index != 0) +		{ +			S32 index = gestures->getSelectedValue().asInteger(); +			if (index<0 || index >= (S32)mGestures.size()) +			{ +				llwarns << "out of range gesture access" << llendl; +			} +			else +			{ +				gesture = mGestures.at(index); +			} +		}  	}  	if(gesture && LLGestureMgr::instance().isGesturePlaying(gesture)) @@ -335,13 +345,13 @@ void LLGestureComboList::onCommitGesture()  	LLCtrlListInterface* gestures = getListInterface();  	if (gestures)  	{ -		S32 index = gestures->getFirstSelectedIndex(); -		if (index == 0) +		S32 sel_index = gestures->getFirstSelectedIndex(); +		if (sel_index == 0)  		{  			return;  		} -		index = gestures->getSelectedValue().asInteger(); +		S32 index = gestures->getSelectedValue().asInteger();  		if (mViewAllItemIndex == index)  		{ @@ -357,13 +367,20 @@ void LLGestureComboList::onCommitGesture()  			return;  		} -		LLMultiGesture* gesture = mGestures.at(index); -		if(gesture) +		if (index<0 || index >= (S32)mGestures.size()) +		{ +			llwarns << "out of range gesture index" << llendl; +		} +		else  		{ -			LLGestureMgr::instance().playGesture(gesture); -			if(!gesture->mReplaceText.empty()) +			LLMultiGesture* gesture = mGestures.at(index); +			if(gesture)  			{ -				LLNearbyChatBar::sendChatFromViewer(gesture->mReplaceText, CHAT_TYPE_NORMAL, FALSE); +				LLGestureMgr::instance().playGesture(gesture); +				if(!gesture->mReplaceText.empty()) +				{ +					LLNearbyChatBar::sendChatFromViewer(gesture->mReplaceText, CHAT_TYPE_NORMAL, FALSE); +				}  			}  		}  	} @@ -374,6 +391,11 @@ LLGestureComboList::~LLGestureComboList()  	LLGestureMgr::instance().removeObserver(this);  } +LLCtrlListInterface* LLGestureComboList::getListInterface() +{ +	return mList; +} +  LLNearbyChatBar::LLNearbyChatBar()   	: LLPanel()  	, mChatBox(NULL) diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h index 83c174fd10..0eaa60ce81 100644 --- a/indra/newview/llnearbychatbar.h +++ b/indra/newview/llnearbychatbar.h @@ -68,7 +68,7 @@ public:  	~LLGestureComboList(); -	LLCtrlListInterface* getListInterface()		{ return (LLCtrlListInterface*)mList; }; +	LLCtrlListInterface* getListInterface();  	virtual void	showList();  	virtual void	hideList();  	virtual BOOL	handleKeyHere(KEY key, MASK mask); diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp index 534bb6e3fc..c8f97ecd13 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 c72f0f8012..d24c2f7f1b 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 af6214385b..09b718f8b8 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 f4c0a842e7..02db3d3715 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 ac71069621..c928d83965 100644 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -1224,9 +1224,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);  	}  } @@ -1426,7 +1426,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 e3503c065b..36713f65bd 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 8ba2e6d01c..5a71f7f315 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/llpanelgrouplandmoney.cpp b/indra/newview/llpanelgrouplandmoney.cpp index b7d6b65ce5..1404cfcea2 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 b79a4f359a..32efdf2064 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/llpanelland.cpp b/indra/newview/llpanelland.cpp index 417a804834..6b84b2985a 100644 --- a/indra/newview/llpanelland.cpp +++ b/indra/newview/llpanelland.cpp @@ -64,15 +64,14 @@ public:  BOOL	LLPanelLandInfo::postBuild()  { - -	childSetAction("button buy land",onClickClaim,this); -	childSetAction("button abandon land",onClickRelease,this); -	childSetAction("button subdivide land",onClickDivide,this); -	childSetAction("button join land",onClickJoin,this); -	childSetAction("button about land",onClickAbout,this); +	childSetAction("button buy land",boost::bind(onClickClaim)); +	childSetAction("button abandon land", boost::bind(onClickRelease)); +	childSetAction("button subdivide land", boost::bind(onClickDivide)); +	childSetAction("button join land", boost::bind(onClickJoin)); +	childSetAction("button about land", boost::bind(onClickAbout));  	mCheckShowOwners = getChild<LLCheckBoxCtrl>("checkbox show owners"); -	childSetValue("checkbox show owners", gSavedSettings.getBOOL("ShowParcelOwners")); +	getChild<LLUICtrl>("checkbox show owners")->setValue(gSavedSettings.getBOOL("ShowParcelOwners"));  	return TRUE;  } @@ -126,17 +125,17 @@ void LLPanelLandInfo::refresh()  	if (!parcel || !regionp)  	{  		// nothing selected, disable panel -		childSetVisible("label_area_price",false); -		childSetVisible("label_area",false); +		getChildView("label_area_price")->setVisible(false); +		getChildView("label_area")->setVisible(false);  		//mTextPrice->setText(LLStringUtil::null); -		childSetText("textbox price",LLStringUtil::null); +		getChild<LLUICtrl>("textbox price")->setValue(LLStringUtil::null); -		childSetEnabled("button buy land",FALSE); -		childSetEnabled("button abandon land",FALSE); -		childSetEnabled("button subdivide land",FALSE); -		childSetEnabled("button join land",FALSE); -		childSetEnabled("button about land",FALSE); +		getChildView("button buy land")->setEnabled(FALSE); +		getChildView("button abandon land")->setEnabled(FALSE); +		getChildView("button subdivide land")->setEnabled(FALSE); +		getChildView("button join land")->setEnabled(FALSE); +		getChildView("button about land")->setEnabled(FALSE);  	}  	else  	{ @@ -154,11 +153,11 @@ void LLPanelLandInfo::refresh()  		if (is_public)  		{ -			childSetEnabled("button buy land",TRUE); +			getChildView("button buy land")->setEnabled(TRUE);  		}  		else  		{ -			childSetEnabled("button buy land",can_buy); +			getChildView("button buy land")->setEnabled(can_buy);  		}  		BOOL owner_release = LLViewerParcelMgr::isParcelOwnedByAgent(parcel, GP_LAND_RELEASE); @@ -170,16 +169,16 @@ void LLPanelLandInfo::refresh()  		BOOL manager_divideable = ( gAgent.canManageEstate()  								&& ((parcel->getOwnerID() == regionp->getOwner()) || owner_divide) ); -		childSetEnabled("button abandon land",owner_release || manager_releaseable || gAgent.isGodlike()); +		getChildView("button abandon land")->setEnabled(owner_release || manager_releaseable || gAgent.isGodlike());  		// only mainland sims are subdividable by owner  		if (regionp->getRegionFlags() && REGION_FLAGS_ALLOW_PARCEL_CHANGES)  		{ -			childSetEnabled("button subdivide land",owner_divide || manager_divideable || gAgent.isGodlike()); +			getChildView("button subdivide land")->setEnabled(owner_divide || manager_divideable || gAgent.isGodlike());  		}  		else  		{ -			childSetEnabled("button subdivide land",manager_divideable || gAgent.isGodlike()); +			getChildView("button subdivide land")->setEnabled(manager_divideable || gAgent.isGodlike());  		}  		// To join land, must have something selected, @@ -190,15 +189,15 @@ void LLPanelLandInfo::refresh()  			//&& LLViewerParcelMgr::getInstance()->getSelfCount() > 1  			&& !LLViewerParcelMgr::getInstance()->getParcelSelection()->getWholeParcelSelected())  		{ -			childSetEnabled("button join land",TRUE); +			getChildView("button join land")->setEnabled(TRUE);  		}  		else  		{  			lldebugs << "Invalid selection for joining land" << llendl; -			childSetEnabled("button join land",FALSE); +			getChildView("button join land")->setEnabled(FALSE);  		} -		childSetEnabled("button about land",TRUE); +		getChildView("button about land")->setEnabled(TRUE);  		// show pricing information  		S32 area; @@ -213,48 +212,48 @@ void LLPanelLandInfo::refresh()  								   &dwell);  		if(is_public || (is_for_sale && LLViewerParcelMgr::getInstance()->getParcelSelection()->getWholeParcelSelected()))  		{ -			childSetTextArg("label_area_price","[PRICE]", llformat("%d",claim_price)); -			childSetTextArg("label_area_price","[AREA]", llformat("%d",area)); -			childSetVisible("label_area_price",true); -			childSetVisible("label_area",false); +			getChild<LLUICtrl>("label_area_price")->setTextArg("[PRICE]", llformat("%d",claim_price)); +			getChild<LLUICtrl>("label_area_price")->setTextArg("[AREA]", llformat("%d",area)); +			getChildView("label_area_price")->setVisible(true); +			getChildView("label_area")->setVisible(false);  		}  		else  		{ -			childSetVisible("label_area_price",false); -			childSetTextArg("label_area","[AREA]", llformat("%d",area)); -			childSetVisible("label_area",true); +			getChildView("label_area_price")->setVisible(false); +			getChild<LLUICtrl>("label_area")->setTextArg("[AREA]", llformat("%d",area)); +			getChildView("label_area")->setVisible(true);  		}  	}  }  //static -void LLPanelLandInfo::onClickClaim(void*) +void LLPanelLandInfo::onClickClaim()  {  	LLViewerParcelMgr::getInstance()->startBuyLand();  }  //static -void LLPanelLandInfo::onClickRelease(void*) +void LLPanelLandInfo::onClickRelease()  {  	LLViewerParcelMgr::getInstance()->startReleaseLand();  }  // static -void LLPanelLandInfo::onClickDivide(void*) +void LLPanelLandInfo::onClickDivide()  {  	LLViewerParcelMgr::getInstance()->startDivideLand();  }  // static -void LLPanelLandInfo::onClickJoin(void*) +void LLPanelLandInfo::onClickJoin()  {  	LLViewerParcelMgr::getInstance()->startJoinLand();  }  //static -void LLPanelLandInfo::onClickAbout(void*) +void LLPanelLandInfo::onClickAbout()  {  	// Promote the rectangle selection to a parcel selection  	if (!LLViewerParcelMgr::getInstance()->getParcelSelection()->getWholeParcelSelected()) diff --git a/indra/newview/llpanelland.h b/indra/newview/llpanelland.h index 02e7e7bf38..32ddd5e93b 100644 --- a/indra/newview/llpanelland.h +++ b/indra/newview/llpanelland.h @@ -55,22 +55,13 @@ public:  	LLCheckBoxCtrl	*mCheckShowOwners;  protected: -	static void onClickClaim(void*); -	static void onClickRelease(void*); -	static void onClickDivide(void*); -	static void onClickJoin(void*); -	static void onClickAbout(void*); +	static void onClickClaim(); +	static void onClickRelease(); +	static void onClickDivide(); +	static void onClickJoin(); +	static void onClickAbout();  protected: -	//LLTextBox*		mTextPriceLabel; -	//LLTextBox*		mTextPrice; - -	//LLButton*		mBtnClaimLand; -	//LLButton*		mBtnReleaseLand; -	//LLButton*		mBtnDivideLand; -	//LLButton*		mBtnJoinLand; -	//LLButton*		mBtnAbout; -	  	virtual BOOL	postBuild();  	static LLPanelLandSelectObserver* sObserver; diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index ce1131f45c..b399e41791 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 e834e229cd..f428e1f795 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 144839b554..4b23e63f12 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 873ac4134c..d7ffdacb70 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 3f620869e0..017f6de63b 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 f601a8d51c..7a61872bc7 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 7779ac6392..5effba515b 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 a1b3114bb4..aadd14d97a 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 b21fd7d385..7de4e8e49d 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 8f065aa711..17e7965ab7 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -447,15 +447,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); @@ -467,15 +467,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)  	{ @@ -1026,7 +1026,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/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index 3f5191ca12..58765d0ad8 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -822,8 +822,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  	{ @@ -839,10 +839,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 71d16a08b4..87e02bd5f4 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 f0dc493ebe..11b51f4dd4 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 bde8d02885..65254e50b4 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 a98b8c413e..9dd1ba6ff9 100644 --- a/indra/newview/llpanelpicks.h +++ b/indra/newview/llpanelpicks.h @@ -275,11 +275,11 @@ public:  	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 044036ea50..d59e694be6 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 1048e3fcc0..af58912b38 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 8b01637239..2b76b71568 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 f2e6969998..4e8e4e3a40 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 dd31a62642..4becde7ab5 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 262961b73b..a59ed53889 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 6f9d8a7623..6ef7c85e31 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 fb7ac0d86b..ee86d3a2c6 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 7b926f468d..73845e2772 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 44b828854b..d9bcf5fba6 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 7fdc5c8b5f..c1cb386556 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 9518b0cbb3..e2f5aee56d 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 36d581a41a..d715c47631 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 98cd0b88eb..adfd457664 100644 --- a/indra/newview/llsidepanelappearance.cpp +++ b/indra/newview/llsidepanelappearance.cpp @@ -501,8 +501,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 d9870e81c5..56bb7167b6 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 3ab71eac64..2755a1c3ae 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/llspeakers.cpp b/indra/newview/llspeakers.cpp index bf00b47c21..5128ab6a18 100644 --- a/indra/newview/llspeakers.cpp +++ b/indra/newview/llspeakers.cpp @@ -74,7 +74,10 @@ LLSpeaker::LLSpeaker(const LLUUID& id, const std::string& name, const ESpeakerTy  void LLSpeaker::lookupName()  { -	gCacheName->get(mID, FALSE, boost::bind(&LLSpeaker::onAvatarNameLookup, this, _1, _2, _3, _4)); +	if (mDisplayName.empty()) +	{ +		gCacheName->get(mID, FALSE, boost::bind(&LLSpeaker::onAvatarNameLookup, this, _1, _2, _3, _4)); +	}  }  void LLSpeaker::onAvatarNameLookup(const LLUUID& id, const std::string& first, const std::string& last, BOOL is_group) diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index c02559b209..a6bb4d4d5f 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -111,8 +111,6 @@ const F32 ICON_TIMER_EXPIRY		= 3.f; // How long the balance and health icons sho  const F32 ICON_FLASH_FREQUENCY	= 2.f;  const S32 TEXT_HEIGHT = 18; -static void onClickHealth(void*); -static void onClickScriptDebug(void*);  static void onClickVolume(void*);  std::vector<std::string> LLStatusBar::sDays; @@ -195,9 +193,6 @@ BOOL LLStatusBar::postBuild()  	gSavedSettings.getControl("MuteAudio")->getSignal()->connect(boost::bind(&LLStatusBar::onVolumeChanged, this, _2)); -	childSetAction("scriptout", onClickScriptDebug, this); -	childSetAction("health", onClickHealth, this); -  	// Adding Net Stat Graph  	S32 x = getRect().getWidth() - 2;  	S32 y = 0; @@ -235,7 +230,7 @@ BOOL LLStatusBar::postBuild()  	mSGPacketLoss->mPerSec = FALSE;  	addChild(mSGPacketLoss); -	childSetActionTextbox("stat_btn", onClickStatGraph); +	getChild<LLTextBox>("stat_btn")->setClickedCallback(onClickStatGraph);  	mPanelVolumePulldown = new LLPanelVolumePulldown();  	addChild(mPanelVolumePulldown); @@ -247,14 +242,17 @@ BOOL LLStatusBar::postBuild()  	mPanelNearByMedia->setFollows(FOLLOWS_TOP|FOLLOWS_RIGHT);  	mPanelNearByMedia->setVisible(FALSE); +	mScriptOut = getChildView("scriptout"); +  	return TRUE;  }  // Per-frame updates of visibility  void LLStatusBar::refresh()  { -	bool net_stats_visible = gSavedSettings.getBOOL("ShowNetStats"); -	 +	static LLCachedControl<bool> show_net_stats(gSavedSettings, "ShowNetStats", false); +	bool net_stats_visible = show_net_stats; +  	if (net_stats_visible)  	{  		// Adding Net Stat Meter back in @@ -266,26 +264,30 @@ void LLStatusBar::refresh()  		mSGBandwidth->setThreshold(2, bwtotal);  	} -	// Get current UTC time, adjusted for the user's clock -	// being off. -	time_t utc_time; -	utc_time = time_corrected(); - -	std::string timeStr = getString("time"); -	LLSD substitution; -	substitution["datetime"] = (S32) utc_time; -	LLStringUtil::format (timeStr, substitution); -	mTextTime->setText(timeStr); - -	// set the tooltip to have the date -	std::string dtStr = getString("timeTooltip"); -	LLStringUtil::format (dtStr, substitution); -	mTextTime->setToolTip (dtStr); +	// update clock every 10 seconds +	if(mClockUpdateTimer.getElapsedTimeF32() > 10.f) +	{ +		mClockUpdateTimer.reset(); + +		// Get current UTC time, adjusted for the user's clock +		// being off. +		time_t utc_time; +		utc_time = time_corrected(); + +		std::string timeStr = getString("time"); +		LLSD substitution; +		substitution["datetime"] = (S32) utc_time; +		LLStringUtil::format (timeStr, substitution); +		mTextTime->setText(timeStr); + +		// set the tooltip to have the date +		std::string dtStr = getString("timeTooltip"); +		LLStringUtil::format (dtStr, substitution); +		mTextTime->setToolTip (dtStr); +	}  	LLRect r;  	const S32 MENU_RIGHT = gMenuBarView->getRightmostMenuEdge(); -	S32 x = MENU_RIGHT + MENU_PARCEL_SPACING; -	S32 y = 0;  	// reshape menu bar to its content's width  	if (MENU_RIGHT != gMenuBarView->getRect().getWidth()) @@ -293,48 +295,9 @@ void LLStatusBar::refresh()  		gMenuBarView->reshape(MENU_RIGHT, gMenuBarView->getRect().getHeight());  	} -	LLViewerRegion *region = gAgent.getRegion(); -	LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); - -	LLRect buttonRect; - -	if (LLHUDIcon::iconsNearby()) -	{ -		childGetRect( "scriptout", buttonRect ); -		r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight()); -		childSetRect("scriptout",r); -		childSetVisible("scriptout", true); -		x += buttonRect.getWidth(); -	} -	else -	{ -		childSetVisible("scriptout", false); -	} - -	if (gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK && -		((region && region->getAllowDamage()) || (parcel && parcel->getAllowDamage()))) -	{ -		// set visibility based on flashing -		if( mHealthTimer->hasExpired() ) -		{ -			childSetVisible("health", true); -		} -		else -		{ -			BOOL flash = S32(mHealthTimer->getElapsedSeconds() * ICON_FLASH_FREQUENCY) & 1; -			childSetVisible("health", flash); -		} - -		// Health -		childGetRect( "health", buttonRect ); -		r.setOriginAndSize( x, y, buttonRect.getWidth(), buttonRect.getHeight()); -		childSetRect("health", 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(); @@ -499,16 +462,6 @@ void LLStatusBar::onClickBuyCurrency()  	LLBuyCurrencyHTML::openCurrencyFloater();  } -static void onClickHealth(void* ) -{ -	LLNotificationsUtil::add("NotSafe"); -} - -static void onClickScriptDebug(void*) -{ -	LLFloaterScriptDebug::show(LLUUID::null); -} -  void LLStatusBar::onMouseEnterVolume()  {  	LLButton* volbtn =  getChild<LLButton>( "volume_btn" ); diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h index 32f29e9e1c..2e2187bafe 100644 --- a/indra/newview/llstatusbar.h +++ b/indra/newview/llstatusbar.h @@ -112,6 +112,8 @@ private:  	LLButton	*mBtnVolume;  	LLButton	*mMediaToggle; +	LLView*		mScriptOut; +	LLFrameTimer	mClockUpdateTimer;  	S32				mBalance;  	S32				mHealth; diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index c0518b705b..127e4010ca 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -229,7 +229,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); @@ -239,7 +239,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();  	} @@ -251,7 +251,7 @@ void LLFloaterTexturePicker::setCanApplyImmediately(BOOL b)  	mCanApplyImmediately = b;  	if (!mCanApplyImmediately)  	{ -		childSetValue("apply_immediate_check", FALSE); +		getChild<LLUICtrl>("apply_immediate_check")->setValue(FALSE);  	}  	updateFilterPermMask();  } @@ -406,7 +406,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)); @@ -445,12 +445,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)); @@ -527,10 +527,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 )  @@ -547,9 +547,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(); @@ -679,13 +679,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); @@ -758,7 +758,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 7eac3867d5..57b80fc792 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 95c4f01e46..f9e7191b21 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 41eafa871d..b86e0ac441 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/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 178d928f57..99220e288c 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -2308,6 +2308,8 @@ void LLViewerMediaImpl::navigateInternal()  			// which is really not what we want.  			LLSD headers = LLSD::emptyMap();  			headers["Accept"] = "*/*"; +			// Allow cookies in the response, to prevent a redirect loop when accessing join.secondlife.com +			headers["Cookie"] = "";  			LLHTTPClient::getHeaderOnly( mMediaURL, new LLMimeDiscoveryResponder(this), headers, 10.0f);  		}  		else if("data" == scheme || "file" == scheme || "about" == scheme) @@ -2916,14 +2918,23 @@ void LLViewerMediaImpl::handleMediaEvent(LLPluginClassMedia* plugin, LLPluginCla  		{  			LL_DEBUGS("Media") << "MEDIA_EVENT_NAVIGATE_COMPLETE, uri is: " << plugin->getNavigateURI() << LL_ENDL; +			std::string url = plugin->getNavigateURI();  			if(getNavState() == MEDIANAVSTATE_BEGUN)  			{ -				mCurrentMediaURL = plugin->getNavigateURI(); -				setNavState(MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED); +				if(mCurrentMediaURL == url) +				{ +					// This is a navigate that takes us to the same url as the previous navigate. +					setNavState(MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED_SPURIOUS); +				} +				else +				{ +					mCurrentMediaURL = url; +					setNavState(MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED); +				}  			}  			else if(getNavState() == MEDIANAVSTATE_SERVER_BEGUN)  			{ -				mCurrentMediaURL = plugin->getNavigateURI(); +				mCurrentMediaURL = url;  				setNavState(MEDIANAVSTATE_SERVER_COMPLETE_BEFORE_LOCATION_CHANGED);  			}  			else @@ -2937,14 +2948,24 @@ void LLViewerMediaImpl::handleMediaEvent(LLPluginClassMedia* plugin, LLPluginCla  		{  			LL_DEBUGS("Media") << "MEDIA_EVENT_LOCATION_CHANGED, uri is: " << plugin->getLocation() << LL_ENDL; +			std::string url = plugin->getLocation(); +  			if(getNavState() == MEDIANAVSTATE_BEGUN)  			{ -				mCurrentMediaURL = plugin->getLocation(); -				setNavState(MEDIANAVSTATE_FIRST_LOCATION_CHANGED); +				if(mCurrentMediaURL == url) +				{ +					// This is a navigate that takes us to the same url as the previous navigate. +					setNavState(MEDIANAVSTATE_FIRST_LOCATION_CHANGED_SPURIOUS); +				} +				else +				{ +					mCurrentMediaURL = url; +					setNavState(MEDIANAVSTATE_FIRST_LOCATION_CHANGED); +				}  			}  			else if(getNavState() == MEDIANAVSTATE_SERVER_BEGUN)  			{ -				mCurrentMediaURL = plugin->getLocation(); +				mCurrentMediaURL = url;  				setNavState(MEDIANAVSTATE_SERVER_FIRST_LOCATION_CHANGED);  			}  			else @@ -3223,7 +3244,9 @@ void LLViewerMediaImpl::setNavState(EMediaNavState state)  		case MEDIANAVSTATE_NONE: LL_DEBUGS("Media") << "Setting nav state to MEDIANAVSTATE_NONE" << llendl; break;  		case MEDIANAVSTATE_BEGUN: LL_DEBUGS("Media") << "Setting nav state to MEDIANAVSTATE_BEGUN" << llendl; break;  		case MEDIANAVSTATE_FIRST_LOCATION_CHANGED: LL_DEBUGS("Media") << "Setting nav state to MEDIANAVSTATE_FIRST_LOCATION_CHANGED" << llendl; break; +		case MEDIANAVSTATE_FIRST_LOCATION_CHANGED_SPURIOUS: LL_DEBUGS("Media") << "Setting nav state to MEDIANAVSTATE_FIRST_LOCATION_CHANGED_SPURIOUS" << llendl; break;  		case MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED: LL_DEBUGS("Media") << "Setting nav state to MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED" << llendl; break; +		case MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED_SPURIOUS: LL_DEBUGS("Media") << "Setting nav state to MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED_SPURIOUS" << llendl; break;  		case MEDIANAVSTATE_SERVER_SENT: LL_DEBUGS("Media") << "Setting nav state to MEDIANAVSTATE_SERVER_SENT" << llendl; break;  		case MEDIANAVSTATE_SERVER_BEGUN: LL_DEBUGS("Media") << "Setting nav state to MEDIANAVSTATE_SERVER_BEGUN" << llendl; break;  		case MEDIANAVSTATE_SERVER_FIRST_LOCATION_CHANGED: LL_DEBUGS("Media") << "Setting nav state to MEDIANAVSTATE_SERVER_FIRST_LOCATION_CHANGED" << llendl; break; diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h index ef9c07c6c7..f75f24fbf5 100644 --- a/indra/newview/llviewermedia.h +++ b/indra/newview/llviewermedia.h @@ -362,7 +362,9 @@ public:  		MEDIANAVSTATE_NONE,										// State is outside what we need to track for navigation.  		MEDIANAVSTATE_BEGUN,									// a MEDIA_EVENT_NAVIGATE_BEGIN has been received which was not server-directed  		MEDIANAVSTATE_FIRST_LOCATION_CHANGED,					// first LOCATION_CHANGED event after a non-server-directed BEGIN +		MEDIANAVSTATE_FIRST_LOCATION_CHANGED_SPURIOUS,			// Same as above, but the new URL is identical to the previously navigated URL.  		MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED,			// we received a NAVIGATE_COMPLETE event before the first LOCATION_CHANGED +		MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED_SPURIOUS,// Same as above, but the new URL is identical to the previously navigated URL.  		MEDIANAVSTATE_SERVER_SENT,								// server-directed nav has been requested, but MEDIA_EVENT_NAVIGATE_BEGIN hasn't been received yet  		MEDIANAVSTATE_SERVER_BEGUN,								// MEDIA_EVENT_NAVIGATE_BEGIN has been received which was server-directed  		MEDIANAVSTATE_SERVER_FIRST_LOCATION_CHANGED,			// first LOCATION_CHANGED event after a server-directed BEGIN diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 090b7bba90..a83980dc23 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2411,6 +2411,8 @@ static void init_default_item_label(const std::string& item_name)  	boost::unordered_map<std::string, LLStringExplicit>::iterator it = sDefaultItemLabels.find(item_name);  	if (it == sDefaultItemLabels.end())  	{ +		// *NOTE: This will not work for items of type LLMenuItemCheckGL because they return boolean value +		//       (doesn't seem to matter much ATM).  		LLStringExplicit default_label = gMenuHolder->childGetValue(item_name).asString();  		if (!default_label.empty())  		{ diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 401433e6e1..a04c919310 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5319,10 +5319,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) diff --git a/indra/newview/llviewernetwork.cpp b/indra/newview/llviewernetwork.cpp index fec112b9e7..1fac4d003d 100644 --- a/indra/newview/llviewernetwork.cpp +++ b/indra/newview/llviewernetwork.cpp @@ -49,6 +49,7 @@ const char* DEFAULT_SLURL_BASE = "https://%s/region/";  const char* DEFAULT_APP_SLURL_BASE = "x-grid-location-info://%s/app";  LLGridManager::LLGridManager() +:	mIsInProductionGrid(false)  {  	// by default, we use the 'grids.xml' file in the user settings directory  	// this file is an LLSD file containing multiple grid definitions. @@ -308,6 +309,10 @@ void LLGridManager::initialize(const std::string& grid_file)  		addGrid(grid);		  	} +	gSavedSettings.getControl("CurrentGrid")->getSignal()->connect(boost::bind(&LLGridManager::updateIsInProductionGrid, this)); +	// since above only triggers on changes, trigger the callback manually to initialize state +	updateIsInProductionGrid(); +  	LL_DEBUGS("GridManager") << "Selected grid is " << mGrid << LL_ENDL;		  	setGridChoice(mGrid);  	if(mGridList[mGrid][GRID_LOGIN_URI_VALUE].isArray()) @@ -559,23 +564,30 @@ std::string LLGridManager::getLoginPage()  	return mGridList[mGrid][GRID_LOGIN_PAGE_VALUE];  } -bool LLGridManager::isInProductionGrid() +void LLGridManager::updateIsInProductionGrid()  { +	mIsInProductionGrid = false; +  	// *NOTE:Mani This used to compare GRID_INFO_AGNI to gGridChoice,  	// but it seems that loginURI trumps that.  	std::vector<std::string> uris;  	getLoginURIs(uris); -	if (uris.size() < 1) +	if (uris.empty())  	{ -		return 1; +		mIsInProductionGrid = true; +		return;  	}  	LLStringUtil::toLower(uris[0]);  	if((uris[0].find("agni") != std::string::npos))  	{ -		return true; +		mIsInProductionGrid = true; +		return;  	} +} -	return false; +bool LLGridManager::isInProductionGrid() +{ +	return mIsInProductionGrid;  }  void LLGridManager::saveFavorites() diff --git a/indra/newview/llviewernetwork.h b/indra/newview/llviewernetwork.h index 8c3a15b7cf..f6cbd57ac0 100644 --- a/indra/newview/llviewernetwork.h +++ b/indra/newview/llviewernetwork.h @@ -136,6 +136,8 @@ public:  protected: +	void updateIsInProductionGrid(); +  	// helper function for adding the predefined grids  	void addSystemGrid(const std::string& label,   					   const std::string& name,  @@ -148,6 +150,7 @@ protected:  	std::string mGrid;  	std::string mGridFile;  	LLSD mGridList; +	bool mIsInProductionGrid;  };  const S32 MAC_ADDRESS_BYTES = 6; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 00873a797c..b36af7d95b 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2482,17 +2482,6 @@ void LLViewerWindow::updateUI()  	// only update mouse hover set when UI is visible (since we shouldn't send hover events to invisible UI  	if (gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))  	{ -		// include all ancestors of captor_view as automatically having mouse -		if (captor_view) -		{ -			LLView* captor_parent_view = captor_view->getParent(); -			while(captor_parent_view) -			{ -				mouse_hover_set.insert(captor_parent_view->getHandle()); -				captor_parent_view = captor_parent_view->getParent(); -			} -		} -  		// aggregate visible views that contain mouse cursor in display order  		LLPopupView::popup_list_t popups = mPopupView->getCurrentPopups(); diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 5644e02134..a75ab95622 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -93,8 +93,14 @@ static LLFastTimer::DeclareTimer FTM_GEN_VOLUME("Generate Volumes");  class LLMediaDataClientObjectImpl : public LLMediaDataClientObject  {  public: -	LLMediaDataClientObjectImpl(LLVOVolume *obj, bool isNew) : mObject(obj), mNew(isNew) {} -	LLMediaDataClientObjectImpl() { mObject = NULL; } +	LLMediaDataClientObjectImpl(LLVOVolume *obj, bool isNew) : mObject(obj), mNew(isNew)  +	{ +		mObject->addMDCImpl(); +	} +	~LLMediaDataClientObjectImpl() +	{ +		mObject->removeMDCImpl(); +	}  	virtual U8 getMediaDataCount() const   		{ return mObject->getNumTEs(); } @@ -119,6 +125,18 @@ public:  			}  			return result;  		} +	virtual bool isCurrentMediaUrl(U8 index, const std::string &url) const +		{ +			LLTextureEntry *te = mObject->getTE(index);  +			if (te) +			{ +				if (te->getMediaData()) +				{ +					return (te->getMediaData()->getCurrentURL() == url); +				} +			} +			return url.empty(); +		}  	virtual LLUUID getID() const  		{ return mObject->getID(); } @@ -193,6 +211,7 @@ LLVOVolume::LLVOVolume(const LLUUID &id, const LLPCode pcode, LLViewerRegion *re  	mMediaImplList.resize(getNumTEs());  	mLastFetchedMediaVersion = -1;  	mIndexInTex = 0; +	mMDCImplCount = 0;  }  LLVOVolume::~LLVOVolume() @@ -218,9 +237,12 @@ void LLVOVolume::markDead()  {  	if (!mDead)  	{ -		LLMediaDataClientObject::ptr_t obj = new LLMediaDataClientObjectImpl(const_cast<LLVOVolume*>(this), false); -		if (sObjectMediaClient) sObjectMediaClient->removeFromQueue(obj); -		if (sObjectMediaNavigateClient) sObjectMediaNavigateClient->removeFromQueue(obj); +		if(getMDCImplCount() > 0) +		{ +			LLMediaDataClientObject::ptr_t obj = new LLMediaDataClientObjectImpl(const_cast<LLVOVolume*>(this), false); +			if (sObjectMediaClient) sObjectMediaClient->removeFromQueue(obj); +			if (sObjectMediaNavigateClient) sObjectMediaNavigateClient->removeFromQueue(obj); +		}  		// Detach all media impls from this object  		for(U32 i = 0 ; i < mMediaImplList.size() ; i++) @@ -2025,12 +2047,12 @@ void LLVOVolume::mediaNavigated(LLViewerMediaImpl *impl, LLPluginClassMedia* plu  	}  	else  	{ -		llwarns << "Couldn't find media entry!" << llendl; +		LL_WARNS("MediaOnAPrim") << "Couldn't find media entry!" << LL_ENDL;  	}  	if(block_navigation)  	{ -		llinfos << "blocking navigate to URI " << new_location << llendl; +		LL_INFOS("MediaOnAPrim") << "blocking navigate to URI " << new_location << LL_ENDL;  		// "bounce back" to the current URL from the media entry  		mediaNavigateBounceBack(face_index); @@ -2038,7 +2060,7 @@ void LLVOVolume::mediaNavigated(LLViewerMediaImpl *impl, LLPluginClassMedia* plu  	else if (sObjectMediaNavigateClient)  	{ -		llinfos << "broadcasting navigate with URI " << new_location << llendl; +		LL_DEBUGS("MediaOnAPrim") << "broadcasting navigate with URI " << new_location << LL_ENDL;  		sObjectMediaNavigateClient->navigate(new LLMediaDataClientObjectImpl(this, false), face_index, new_location);  	} @@ -2060,14 +2082,19 @@ void LLVOVolume::mediaEvent(LLViewerMediaImpl *impl, LLPluginClassMedia* plugin,  				}  				break; +				case LLViewerMediaImpl::MEDIANAVSTATE_FIRST_LOCATION_CHANGED_SPURIOUS: +					// This navigate didn't change the current URL.   +					LL_DEBUGS("MediaOnAPrim") << "	NOT broadcasting navigate (spurious)" << LL_ENDL; +				break; +				  				case LLViewerMediaImpl::MEDIANAVSTATE_SERVER_FIRST_LOCATION_CHANGED:  					// This is the first location changed event after the start of a server-directed nav.  Don't broadcast it. -					llinfos << "	NOT broadcasting navigate (server-directed)" << llendl; +					LL_INFOS("MediaOnAPrim") << "	NOT broadcasting navigate (server-directed)" << LL_ENDL;  				break;  				default:  					// This is a subsequent location-changed due to a redirect.	 Don't broadcast. -					llinfos << "	NOT broadcasting navigate (redirect)" << llendl; +					LL_INFOS("MediaOnAPrim") << "	NOT broadcasting navigate (redirect)" << LL_ENDL;  				break;  			}  		} @@ -2084,9 +2111,14 @@ void LLVOVolume::mediaEvent(LLViewerMediaImpl *impl, LLPluginClassMedia* plugin,  				}  				break; +				case LLViewerMediaImpl::MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED_SPURIOUS: +					// This navigate didn't change the current URL.   +					LL_DEBUGS("MediaOnAPrim") << "	NOT broadcasting navigate (spurious)" << LL_ENDL; +				break; +  				case LLViewerMediaImpl::MEDIANAVSTATE_SERVER_COMPLETE_BEFORE_LOCATION_CHANGED:  					// This is the the navigate complete event from a server-directed nav.  Don't broadcast it. -					llinfos << "	NOT broadcasting navigate (server-directed)" << llendl; +					LL_INFOS("MediaOnAPrim") << "	NOT broadcasting navigate (server-directed)" << LL_ENDL;  				break;  				default: diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index fbae011ffc..1bd6a0fafe 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -274,6 +274,10 @@ public:  	// Returns the "last fetched" media version, or -1 if not fetched yet  	S32 getLastFetchedMediaVersion() const { return mLastFetchedMediaVersion; } + +	void addMDCImpl() { ++mMDCImplCount; } +	void removeMDCImpl() { --mMDCImplCount; } +	S32 getMDCImplCount() { return mMDCImplCount; }  protected:  	S32	computeLODDetail(F32	distance, F32 radius); @@ -307,6 +311,7 @@ private:  	media_list_t mMediaImplList;  	S32			mLastFetchedMediaVersion; // as fetched from the server, starts as -1  	S32 mIndexInTex; +	S32 mMDCImplCount;  	// statics  public:  	static F32 sLODSlopDistanceFactor;// Changing this to zero, effectively disables the LOD transition slop  diff --git a/indra/newview/skins/default/xui/en/panel_bars.xml b/indra/newview/skins/default/xui/en/panel_bars.xml deleted file mode 100644 index 96722ce278..0000000000 --- a/indra/newview/skins/default/xui/en/panel_bars.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel - follows="left|right|top|bottom" - height="768" - layout="topleft" - left="0" - mouse_opaque="false" - name="screen" - width="1024"> -  <layout_stack name="menu_stack" orientation="vertical" height="768" border_size="0"> -    <panel auto_resize="false" width="1024" name="status_bar" filename="panel_status_bar.xml"/> -    <panel auto_resize="false" width="1024" height="60" name="navigation bar" filename="panel_navigation_bar.xml"/> -    <layout_stack name="hud_stack" orientation="horizontal" auto_resize="true" width="1024" height="500" follows="all"> -      <panel auto_resize="true" name="floater_view" height="500"/> -      <panel auto_resize="false" filename="panel_side_tray.xml" height="500" width="333"/> -    </layout_stack> -  </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/en/panel_chat_header.xml b/indra/newview/skins/default/xui/en/panel_chat_header.xml index c98213f6c7..17e8d4d2df 100644 --- a/indra/newview/skins/default/xui/en/panel_chat_header.xml +++ b/indra/newview/skins/default/xui/en/panel_chat_header.xml @@ -38,16 +38,17 @@        use_ellipses="true"        valign="bottom"         value="Ericag Vader" /> -    <text -            font="SansSerifSmall" -         follows="right" -         halign="right" -         height="13" -         layout="topleft" -         left_pad="5" -     name="time_box" -     right="-5" -     top="8" -         value="23:30" -         width="110" /> +  <text +    allow_scroll="false" +    font="SansSerifSmall" +    follows="right" +    halign="right" +    height="13" +    layout="topleft" +    left_pad="5" +    name="time_box" +    right="-5" +    top="8" +    value="23:30" +    width="110" />  </panel> diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index 7ef67d5912..7aadaed209 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -1472,7 +1472,7 @@  		Solde  	</string>  	<string name="Credits"> -		Remerciements +		Crédits  	</string>  	<string name="Debits">  		Débits @@ -1787,7 +1787,7 @@  		Solde  	</string>  	<string name="GroupMoneyCredits"> -		Remerciements +		Crédits  	</string>  	<string name="GroupMoneyDebits">  		Débits diff --git a/indra/newview/tests/llmediadataclient_test.cpp b/indra/newview/tests/llmediadataclient_test.cpp index 33d413bd21..05e178653b 100644 --- a/indra/newview/tests/llmediadataclient_test.cpp +++ b/indra/newview/tests/llmediadataclient_test.cpp @@ -70,8 +70,8 @@  #define MEDIA_DATA "\  <array>														\ -<string>foo</string>										\ -<string>bar</string>										\ +<string>http://foo.example.com</string>										\ +<string>http://bar.example.com</string>										\  <string>baz</string>										\  </array>" @@ -167,6 +167,8 @@ public:  		{ return mRep["media_data"].size(); }  	virtual LLSD getMediaDataLLSD(U8 index) const  		{ return mRep["media_data"][(LLSD::Integer)index]; } +	virtual bool isCurrentMediaUrl(U8 index, const std::string &url) const +		{ return (mRep["media_data"][(LLSD::Integer)index].asString() == url); }  	virtual LLUUID getID() const   		{ return mRep["uuid"]; }  	virtual void mediaNavigateBounceBack(U8 index) @@ -567,38 +569,39 @@ namespace tut  			mdc->fetchMedia(o2);  			mdc->fetchMedia(o3);  			mdc->fetchMedia(o4); + +			ensure("is in queue 1", mdc->isInQueue(o1)); +			ensure("is in queue 2", mdc->isInQueue(o2)); +			ensure("is in queue 3", mdc->isInQueue(o3)); +			ensure("is in queue 4", mdc->isInQueue(o4)); +			ensure("post records", gPostRecords->size(), 0); -			// and mark the second and fourth ones dead. +			// and mark the second and fourth ones dead.  Call removeFromQueue when marking dead, since this is what LLVOVolume will do.  			dynamic_cast<LLMediaDataClientObjectTest*>(static_cast<LLMediaDataClientObject*>(o2))->markDead(); +			mdc->removeFromQueue(o2);  			dynamic_cast<LLMediaDataClientObjectTest*>(static_cast<LLMediaDataClientObject*>(o4))->markDead(); +			mdc->removeFromQueue(o4); +			// The removeFromQueue calls should remove the second and fourth ones  			ensure("is in queue 1", mdc->isInQueue(o1)); -			ensure("is in queue 2", mdc->isInQueue(o2)); +			ensure("is not in queue 2", !mdc->isInQueue(o2));  			ensure("is in queue 3", mdc->isInQueue(o3)); -			ensure("is in queue 4", mdc->isInQueue(o4)); +			ensure("is not in queue 4", !mdc->isInQueue(o4));  			ensure("post records", gPostRecords->size(), 0);  			::pump_timers(); -			// The first tick should remove the first one  +			// The first tick should process the first item  			ensure("is not in queue 1", !mdc->isInQueue(o1)); -			ensure("is in queue 2", mdc->isInQueue(o2)); +			ensure("is not in queue 2", !mdc->isInQueue(o2));  			ensure("is in queue 3", mdc->isInQueue(o3)); -			ensure("is in queue 4", mdc->isInQueue(o4)); +			ensure("is not in queue 4", !mdc->isInQueue(o4));  			ensure("post records", gPostRecords->size(), 1);  			::pump_timers(); -			// The second tick should skip the second and remove the third -			ensure("is not in queue 2", !mdc->isInQueue(o2)); +			// The second tick should process the third, emptying the queue  			ensure("is not in queue 3", !mdc->isInQueue(o3)); -			ensure("is in queue 4", mdc->isInQueue(o4)); -			ensure("post records", gPostRecords->size(), 2); - -			::pump_timers(); - -			// The third tick should skip the fourth one and empty the queue. -			ensure("is not in queue 4", !mdc->isInQueue(o4));  			ensure("post records", gPostRecords->size(), 2);  			ensure("queue empty", mdc->isEmpty()); @@ -709,7 +712,7 @@ namespace tut  			// queue up all 4 objects.  The first two should be in the sorted  			// queue [2 1], the second in the round-robin queue.  The queues  			// are serviced interleaved, so we should expect: -			// 2, 4, 1, 3 +			// 2, 3, 1, 4  			mdc->fetchMedia(o1);  			mdc->fetchMedia(o2);  			mdc->fetchMedia(o3); @@ -728,8 +731,8 @@ namespace tut  			++tick_num;  			// 1 The first tick should remove object 2 -			ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));  			ensure(STR(tick_num) + ". is in queue 1", mdc->isInQueue(o1)); +			ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));  			ensure(STR(tick_num) + ". is in queue 3", mdc->isInQueue(o3));  			ensure(STR(tick_num) + ". is in queue 4", mdc->isInQueue(o4));  			ensure(STR(tick_num) + ". post records", gPostRecords->size(), 1); @@ -738,22 +741,21 @@ namespace tut  			::pump_timers();  			++tick_num; -			// 2 The second tick should send object 4, but it will still be -			// "in the queue" -			ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2)); +			// 2 The second tick should send object 3  			ensure(STR(tick_num) + ". is in queue 1", mdc->isInQueue(o1)); -			ensure(STR(tick_num) + ". is in queue 3", mdc->isInQueue(o3)); +			ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2)); +			ensure(STR(tick_num) + ". is not in queue 3", !mdc->isInQueue(o3));  			ensure(STR(tick_num) + ". is in queue 4", mdc->isInQueue(o4));  			ensure(STR(tick_num) + ". post records", gPostRecords->size(), 2); -			ensure(STR(tick_num) + ". post object id", (*gPostRecords)[1]["body"][LLTextureEntry::OBJECT_ID_KEY].asUUID(), LLUUID(VALID_OBJECT_ID_4)); +			ensure(STR(tick_num) + ". post object id", (*gPostRecords)[1]["body"][LLTextureEntry::OBJECT_ID_KEY].asUUID(), LLUUID(VALID_OBJECT_ID_3));  			::pump_timers();  			++tick_num;  			// 3 The third tick should remove object 1 -			ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));  			ensure(STR(tick_num) + ". is not in queue 1", !mdc->isInQueue(o1)); -			ensure(STR(tick_num) + ". is in queue 3", mdc->isInQueue(o3)); +			ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2)); +			ensure(STR(tick_num) + ". is not in queue 3", !mdc->isInQueue(o3));  			ensure(STR(tick_num) + ". is in queue 4", mdc->isInQueue(o4));  			ensure(STR(tick_num) + ". post records", gPostRecords->size(), 3);  			ensure(STR(tick_num) + ". post object id", (*gPostRecords)[2]["body"][LLTextureEntry::OBJECT_ID_KEY].asUUID(), LLUUID(VALID_OBJECT_ID_1)); @@ -761,22 +763,20 @@ namespace tut  			::pump_timers();  			++tick_num; -			// 4 The fourth tick should send object 3, but it will still be -			// "in the queue" -			ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2)); +			// 4 The fourth tick should send object 4  			ensure(STR(tick_num) + ". is not in queue 1", !mdc->isInQueue(o1)); -			ensure(STR(tick_num) + ". is in queue 3", mdc->isInQueue(o3)); -			ensure(STR(tick_num) + ". is in queue 4", mdc->isInQueue(o4)); +			ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2)); +			ensure(STR(tick_num) + ". is not in queue 3", !mdc->isInQueue(o3)); +			ensure(STR(tick_num) + ". is not in queue 4", !mdc->isInQueue(o4));  			ensure(STR(tick_num) + ". post records", gPostRecords->size(), 4); -			ensure(STR(tick_num) + ". post object id", (*gPostRecords)[3]["body"][LLTextureEntry::OBJECT_ID_KEY].asUUID(), LLUUID(VALID_OBJECT_ID_3)); +			ensure(STR(tick_num) + ". post object id", (*gPostRecords)[3]["body"][LLTextureEntry::OBJECT_ID_KEY].asUUID(), LLUUID(VALID_OBJECT_ID_4));  			::pump_timers();  			++tick_num; -			// 5 The fifth tick should now identify objects 3 and 4 as no longer -			// needing "updating", and remove them from the queue -			ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2)); +			// 5 The fifth tick should not change the state of anything.  			ensure(STR(tick_num) + ". is not in queue 1", !mdc->isInQueue(o1)); +			ensure(STR(tick_num) + ". is not in queue 2", !mdc->isInQueue(o2));  			ensure(STR(tick_num) + ". is not in queue 3", !mdc->isInQueue(o3));  			ensure(STR(tick_num) + ". is not in queue 4", !mdc->isInQueue(o4));  			ensure(STR(tick_num) + ". post records", gPostRecords->size(), 4); @@ -926,7 +926,7 @@ namespace tut  			// But, we need to clear the queue, or else we won't destroy MDC...  			// this is a strange interplay between the queue timer and the MDC -			ensure("o2 couldn't be removed from queue", mdc->removeFromQueue(o2)); +			mdc->removeFromQueue(o2);  			// tick  			::pump_timers();  		} @@ -935,4 +935,41 @@ namespace tut  		ensure("refcount of o3", o3->getNumRefs(), 1);  		ensure("refcount of o4", o4->getNumRefs(), 1);		  	} + +	template<> template<> +	void mediadataclient_object_t::test<13>() +	{ +		// +		// Test supression of redundant navigates. +		// +		LOG_TEST(13); +		 +		LLMediaDataClientObject::ptr_t o1 = new LLMediaDataClientObjectTest(_DATA(VALID_OBJECT_ID_1,"1.0","true")); +		{ +			LLPointer<LLObjectMediaNavigateClient> mdc = new LLObjectMediaNavigateClient(NO_PERIOD,NO_PERIOD); +			const char *TEST_URL = "http://foo.example.com"; +			const char *TEST_URL_2 = "http://example.com"; +			mdc->navigate(o1, 0, TEST_URL); +			mdc->navigate(o1, 1, TEST_URL); +			mdc->navigate(o1, 0, TEST_URL_2); +			mdc->navigate(o1, 1, TEST_URL_2); +			 +			// This should add two requests to the queue, one for face 0 of the object and one for face 1. +			 +			ensure("before pump: 1 is in queue", mdc->isInQueue(o1)); + +			::pump_timers(); + +			ensure("after first pump: 1 is in queue", mdc->isInQueue(o1)); + +			::pump_timers(); + +			ensure("after second pump: 1 is not in queue", !mdc->isInQueue(o1)); + +			ensure("first post has correct url", (*gPostRecords)[0]["body"][LLMediaEntry::CURRENT_URL_KEY].asString(), std::string(TEST_URL_2)); +			ensure("second post has correct url", (*gPostRecords)[1]["body"][LLMediaEntry::CURRENT_URL_KEY].asString(), std::string(TEST_URL_2)); + +		}		 +	} +	  }  | 
