summaryrefslogtreecommitdiff
path: root/indra/llui/llcheckboxctrl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui/llcheckboxctrl.cpp')
-rw-r--r--indra/llui/llcheckboxctrl.cpp268
1 files changed, 134 insertions, 134 deletions
diff --git a/indra/llui/llcheckboxctrl.cpp b/indra/llui/llcheckboxctrl.cpp
index 362fe0c19e..8ba37a8075 100644
--- a/indra/llui/llcheckboxctrl.cpp
+++ b/indra/llui/llcheckboxctrl.cpp
@@ -1,25 +1,25 @@
-/**
+/**
* @file llcheckboxctrl.cpp
* @brief LLCheckBoxCtrl base class
*
* $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -45,7 +45,7 @@ static LLDefaultChildRegistry::Register<LLCheckBoxCtrl> r("check_box");
// Compiler optimization, generate extern template
template class LLCheckBoxCtrl* LLView::getChild<class LLCheckBoxCtrl>(
- const std::string& name, BOOL recurse) const;
+ const std::string& name, BOOL recurse) const;
void LLCheckBoxCtrl::WordWrap::declareValues()
{
@@ -55,44 +55,44 @@ void LLCheckBoxCtrl::WordWrap::declareValues()
}
LLCheckBoxCtrl::Params::Params()
-: initial_value("initial_value", false),
- label_text("label_text"),
- check_button("check_button"),
- word_wrap("word_wrap", EWordWrap::WRAP_NONE),
- radio_style("radio_style")
+: initial_value("initial_value", false),
+ label_text("label_text"),
+ check_button("check_button"),
+ word_wrap("word_wrap", EWordWrap::WRAP_NONE),
+ radio_style("radio_style")
{}
LLCheckBoxCtrl::LLCheckBoxCtrl(const LLCheckBoxCtrl::Params& p)
-: LLUICtrl(p),
- mTextEnabledColor(p.label_text.text_color()),
- mTextDisabledColor(p.label_text.text_readonly_color()),
- mFont(p.font()),
- mWordWrap(p.word_wrap)
+: LLUICtrl(p),
+ mTextEnabledColor(p.label_text.text_color()),
+ mTextDisabledColor(p.label_text.text_readonly_color()),
+ mFont(p.font()),
+ mWordWrap(p.word_wrap)
{
- mViewModel->setValue(LLSD(p.initial_value));
- mViewModel->resetDirty();
- static LLUICachedControl<S32> llcheckboxctrl_spacing ("UICheckboxctrlSpacing", 0);
- static LLUICachedControl<S32> llcheckboxctrl_hpad ("UICheckboxctrlHPad", 0);
- static LLUICachedControl<S32> llcheckboxctrl_vpad ("UICheckboxctrlVPad", 0);
-
- // must be big enough to hold all children
- setUseBoundingRect(TRUE);
-
- // *HACK Get rid of this with SL-55508...
- // this allows blank check boxes and radio boxes for now
- std::string local_label = p.label;
- if(local_label.empty())
- {
- local_label = " ";
- }
-
- LLTextBox::Params tbparams = p.label_text;
- tbparams.initial_value(local_label);
- if (p.font.isProvided())
- {
- tbparams.font(p.font);
- }
+ mViewModel->setValue(LLSD(p.initial_value));
+ mViewModel->resetDirty();
+ static LLUICachedControl<S32> llcheckboxctrl_spacing ("UICheckboxctrlSpacing", 0);
+ static LLUICachedControl<S32> llcheckboxctrl_hpad ("UICheckboxctrlHPad", 0);
+ static LLUICachedControl<S32> llcheckboxctrl_vpad ("UICheckboxctrlVPad", 0);
+
+ // must be big enough to hold all children
+ setUseBoundingRect(TRUE);
+
+ // *HACK Get rid of this with SL-55508...
+ // this allows blank check boxes and radio boxes for now
+ std::string local_label = p.label;
+ if(local_label.empty())
+ {
+ local_label = " ";
+ }
+
+ LLTextBox::Params tbparams = p.label_text;
+ tbparams.initial_value(local_label);
+ if (p.font.isProvided())
+ {
+ tbparams.font(p.font);
+ }
mLabel = LLUICtrlFactory::create<LLTextBox>(tbparams);
if (mWordWrap != WRAP_NONE)
@@ -104,11 +104,11 @@ LLCheckBoxCtrl::LLCheckBoxCtrl(const LLCheckBoxCtrl::Params& p)
label_rect.mRight = label_rect.mLeft + new_width;
mLabel->setRect(label_rect);
}
- mLabel->reshapeToFitText();
+ mLabel->reshapeToFitText();
- LLRect label_rect = mLabel->getRect();
- if (mLabel->getLineCount() > 1)
- {
+ LLRect label_rect = mLabel->getRect();
+ if (mLabel->getLineCount() > 1)
+ {
if (mWordWrap == WRAP_DOWN)
{
// reshapeToFitText uses LLView::reshape() which always reshapes
@@ -122,67 +122,67 @@ LLCheckBoxCtrl::LLCheckBoxCtrl(const LLCheckBoxCtrl::Params& p)
// WRAP_UP is essentially done by reshapeToFitText() (extends from bottom to top)
// howhever it doesn't respect rect of checkbox
// todo: this should be fixed, but there are at least couple checkboxes that use this feature as is.
- }
-
- addChild(mLabel);
-
- // Button
- // Note: button cover the label by extending all the way to the right and down.
- LLRect btn_rect = p.check_button.rect();
- btn_rect.setOriginAndSize(
- btn_rect.mLeft,
- llmin(btn_rect.mBottom, label_rect.mBottom),
- llmax(btn_rect.mRight, label_rect.mRight - btn_rect.mLeft),
- llmax(label_rect.getHeight(), btn_rect.mTop));
- std::string active_true_id, active_false_id;
- std::string inactive_true_id, inactive_false_id;
-
- LLButton::Params params = p.check_button;
- params.rect(btn_rect);
- //params.control_name(p.control_name);
- params.click_callback.function(boost::bind(&LLCheckBoxCtrl::onCommit, this));
- params.commit_on_return(false);
- // Checkboxes only allow boolean initial values, but buttons can
- // take any LLSD.
- params.initial_value(LLSD(p.initial_value));
- params.follows.flags(FOLLOWS_LEFT | FOLLOWS_BOTTOM);
-
- mButton = LLUICtrlFactory::create<LLButton>(params);
- addChild(mButton);
+ }
+
+ addChild(mLabel);
+
+ // Button
+ // Note: button cover the label by extending all the way to the right and down.
+ LLRect btn_rect = p.check_button.rect();
+ btn_rect.setOriginAndSize(
+ btn_rect.mLeft,
+ llmin(btn_rect.mBottom, label_rect.mBottom),
+ llmax(btn_rect.mRight, label_rect.mRight - btn_rect.mLeft),
+ llmax(label_rect.getHeight(), btn_rect.mTop));
+ std::string active_true_id, active_false_id;
+ std::string inactive_true_id, inactive_false_id;
+
+ LLButton::Params params = p.check_button;
+ params.rect(btn_rect);
+ //params.control_name(p.control_name);
+ params.click_callback.function(boost::bind(&LLCheckBoxCtrl::onCommit, this));
+ params.commit_on_return(false);
+ // Checkboxes only allow boolean initial values, but buttons can
+ // take any LLSD.
+ params.initial_value(LLSD(p.initial_value));
+ params.follows.flags(FOLLOWS_LEFT | FOLLOWS_BOTTOM);
+
+ mButton = LLUICtrlFactory::create<LLButton>(params);
+ addChild(mButton);
}
LLCheckBoxCtrl::~LLCheckBoxCtrl()
{
- // Children all cleaned up by default view destructor.
+ // Children all cleaned up by default view destructor.
}
void LLCheckBoxCtrl::onCommit()
{
- if( getEnabled() )
- {
- setTentative(FALSE);
- setControlValue(getValue());
- LLUICtrl::onCommit();
- }
+ if( getEnabled() )
+ {
+ setTentative(FALSE);
+ setControlValue(getValue());
+ LLUICtrl::onCommit();
+ }
}
void LLCheckBoxCtrl::setEnabled(BOOL b)
{
- LLView::setEnabled(b);
-
- if (b)
- {
- mLabel->setColor( mTextEnabledColor.get() );
- }
- else
- {
- mLabel->setColor( mTextDisabledColor.get() );
- }
+ LLView::setEnabled(b);
+
+ if (b)
+ {
+ mLabel->setColor( mTextEnabledColor.get() );
+ }
+ else
+ {
+ mLabel->setColor( mTextDisabledColor.get() );
+ }
}
void LLCheckBoxCtrl::clear()
{
- setValue( FALSE );
+ setValue( FALSE );
}
void LLCheckBoxCtrl::reshape(S32 width, S32 height, BOOL called_from_parent)
@@ -202,34 +202,34 @@ void LLCheckBoxCtrl::reshape(S32 width, S32 height, BOOL called_from_parent)
// reshapeToFitText reshapes label to minimal size according to last bounding box
// it will work fine in case of decrease of space, but if we get more space or text
// becomes longer, label will fail to grow so reinit label's dimentions.
-
+
LLRect label_rect = mLabel->getRect();
S32 new_width = rect.getWidth() - label_rect.mLeft;
mLabel->reshape(new_width, label_rect.getHeight(), TRUE);
- S32 label_top = label_rect.mTop;
- mLabel->reshapeToFitText(TRUE);
+ S32 label_top = label_rect.mTop;
+ mLabel->reshapeToFitText(TRUE);
label_rect = mLabel->getRect();
- if (label_top != label_rect.mTop && mWordWrap == WRAP_DOWN)
- {
- // reshapeToFitText uses LLView::reshape() which always reshapes
- // from bottom to top, but we want to extend the bottom so
- // reposition control
- S32 delta = label_top - label_rect.mTop;
- label_rect.translate(0, delta);
- mLabel->setRect(label_rect);
- }
-
- // Button
- // Note: button cover the label by extending all the way to the right and down.
- LLRect btn_rect = mButton->getRect();
- btn_rect.setOriginAndSize(
- btn_rect.mLeft,
- llmin(btn_rect.mBottom, label_rect.mBottom),
- llmax(btn_rect.getWidth(), label_rect.mRight - btn_rect.mLeft),
- llmax(label_rect.mTop - btn_rect.mBottom, btn_rect.getHeight()));
- mButton->setShape(btn_rect);
+ if (label_top != label_rect.mTop && mWordWrap == WRAP_DOWN)
+ {
+ // reshapeToFitText uses LLView::reshape() which always reshapes
+ // from bottom to top, but we want to extend the bottom so
+ // reposition control
+ S32 delta = label_top - label_rect.mTop;
+ label_rect.translate(0, delta);
+ mLabel->setRect(label_rect);
+ }
+
+ // Button
+ // Note: button cover the label by extending all the way to the right and down.
+ LLRect btn_rect = mButton->getRect();
+ btn_rect.setOriginAndSize(
+ btn_rect.mLeft,
+ llmin(btn_rect.mBottom, label_rect.mBottom),
+ llmax(btn_rect.getWidth(), label_rect.mRight - btn_rect.mLeft),
+ llmax(label_rect.mTop - btn_rect.mBottom, btn_rect.getHeight()));
+ mButton->setShape(btn_rect);
updateBoundingRect();
}
@@ -237,68 +237,68 @@ void LLCheckBoxCtrl::reshape(S32 width, S32 height, BOOL called_from_parent)
//virtual
void LLCheckBoxCtrl::setValue(const LLSD& value )
{
- mButton->setValue( value );
+ mButton->setValue( value );
}
//virtual
LLSD LLCheckBoxCtrl::getValue() const
{
- return mButton->getValue();
+ return mButton->getValue();
}
//virtual
void LLCheckBoxCtrl::setTentative(BOOL b)
{
- mButton->setTentative(b);
+ mButton->setTentative(b);
}
//virtual
BOOL LLCheckBoxCtrl::getTentative() const
{
- return mButton->getTentative();
+ return mButton->getTentative();
}
void LLCheckBoxCtrl::setLabel( const LLStringExplicit& label )
{
- mLabel->setText( label );
- reshape(getRect().getWidth(), getRect().getHeight(), FALSE);
+ mLabel->setText( label );
+ reshape(getRect().getWidth(), getRect().getHeight(), FALSE);
}
std::string LLCheckBoxCtrl::getLabel() const
{
- return mLabel->getText();
+ return mLabel->getText();
}
BOOL LLCheckBoxCtrl::setLabelArg( const std::string& key, const LLStringExplicit& text )
{
- BOOL res = mLabel->setTextArg(key, text);
- reshape(getRect().getWidth(), getRect().getHeight(), FALSE);
- return res;
+ BOOL res = mLabel->setTextArg(key, text);
+ reshape(getRect().getWidth(), getRect().getHeight(), FALSE);
+ return res;
}
// virtual
void LLCheckBoxCtrl::setControlName(const std::string& control_name, LLView* context)
{
- mButton->setControlName(control_name, context);
+ mButton->setControlName(control_name, context);
}
-// virtual Returns TRUE if the user has modified this control.
-BOOL LLCheckBoxCtrl::isDirty() const
+// virtual Returns TRUE if the user has modified this control.
+BOOL LLCheckBoxCtrl::isDirty() const
{
- if ( mButton )
- {
- return mButton->isDirty();
- }
- return FALSE; // Shouldn't get here
+ if ( mButton )
+ {
+ return mButton->isDirty();
+ }
+ return FALSE; // Shouldn't get here
}
-// virtual Clear dirty state
-void LLCheckBoxCtrl::resetDirty()
+// virtual Clear dirty state
+void LLCheckBoxCtrl::resetDirty()
{
- if ( mButton )
- {
- mButton->resetDirty();
- }
+ if ( mButton )
+ {
+ mButton->resetDirty();
+ }
}