diff options
| author | Richard Linden <none@none> | 2010-07-22 12:09:33 -0700 | 
|---|---|---|
| committer | Richard Linden <none@none> | 2010-07-22 12:09:33 -0700 | 
| commit | a9ff46d89904cac05ac09678e4057d8bb019c51d (patch) | |
| tree | 15f4e3201d44d5f2f8af4cea5136798e005a1cc5 /indra | |
| parent | 10c6121db67bae2837bfac82efa4c60209d1f5df (diff) | |
| parent | 98bd370952bfa54f629991b77c3e68b3064e5c9c (diff) | |
merge
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llui/llcheckboxctrl.cpp | 30 | 
1 files changed, 14 insertions, 16 deletions
| diff --git a/indra/llui/llcheckboxctrl.cpp b/indra/llui/llcheckboxctrl.cpp index 6f81f5434c..0c524cd470 100644 --- a/indra/llui/llcheckboxctrl.cpp +++ b/indra/llui/llcheckboxctrl.cpp @@ -81,17 +81,6 @@ LLCheckBoxCtrl::LLCheckBoxCtrl(const LLCheckBoxCtrl::Params& p)  	// must be big enough to hold all children  	setUseBoundingRect(TRUE); -	// Label (add a little space to make sure text actually renders) -	const S32 FUDGE = 10; -	S32 text_width = mFont->getWidth( p.label ) + FUDGE; -	S32 text_height = llround(mFont->getLineHeight()); -	LLRect label_rect; -	label_rect.setOriginAndSize( -		llcheckboxctrl_hpad + llcheckboxctrl_btn_size + llcheckboxctrl_spacing, -		llcheckboxctrl_vpad + 1, // padding to get better alignment -		text_width + llcheckboxctrl_hpad, -		text_height ); -  	// *HACK Get rid of this with SL-55508...   	// this allows blank check boxes and radio boxes for now  	std::string local_label = p.label; @@ -101,7 +90,6 @@ LLCheckBoxCtrl::LLCheckBoxCtrl(const LLCheckBoxCtrl::Params& p)  	}  	LLTextBox::Params tbparams = p.label_text; -	tbparams.rect(label_rect);  	tbparams.initial_value(local_label);  	if (p.font.isProvided())  	{ @@ -111,6 +99,17 @@ LLCheckBoxCtrl::LLCheckBoxCtrl(const LLCheckBoxCtrl::Params& p)  	mLabel = LLUICtrlFactory::create<LLTextBox> (tbparams);  	addChild(mLabel); +	S32 text_width = mLabel->getTextBoundingRect().getWidth(); +	S32 text_height = llround(mFont->getLineHeight()); +	LLRect label_rect; +	label_rect.setOriginAndSize( +		llcheckboxctrl_hpad + llcheckboxctrl_btn_size + llcheckboxctrl_spacing, +		llcheckboxctrl_vpad + 1, // padding to get better alignment +		text_width + llcheckboxctrl_hpad, +		text_height ); +	mLabel->setShape(label_rect); + +  	// Button  	// Note: button cover the label by extending all the way to the right.  	LLRect btn_rect; @@ -190,8 +189,7 @@ void LLCheckBoxCtrl::reshape(S32 width, S32 height, BOOL called_from_parent)  	static LLUICachedControl<S32> llcheckboxctrl_vpad ("UICheckboxctrlVPad", 0);  	static LLUICachedControl<S32> llcheckboxctrl_btn_size ("UICheckboxctrlBtnSize", 0); -	const S32 FUDGE = 10; -	S32 text_width = mLabel->getTextBoundingRect().getWidth() + FUDGE; +	S32 text_width = mLabel->getTextBoundingRect().getWidth();  	S32 text_height = llround(mFont->getLineHeight());  	LLRect label_rect;  	label_rect.setOriginAndSize( @@ -199,7 +197,7 @@ void LLCheckBoxCtrl::reshape(S32 width, S32 height, BOOL called_from_parent)  		llcheckboxctrl_vpad,  		text_width,  		text_height ); -	mLabel->setRect(label_rect); +	mLabel->setShape(label_rect);  	LLRect btn_rect;  	btn_rect.setOriginAndSize( @@ -207,7 +205,7 @@ void LLCheckBoxCtrl::reshape(S32 width, S32 height, BOOL called_from_parent)  		llcheckboxctrl_vpad,  		llcheckboxctrl_btn_size + llcheckboxctrl_spacing + text_width,  		llmax( text_height, llcheckboxctrl_btn_size() ) ); -	mButton->setRect( btn_rect ); +	mButton->setShape( btn_rect );  	LLUICtrl::reshape(width, height, called_from_parent);  } | 
