summaryrefslogtreecommitdiff
path: root/indra/llui/llbutton.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui/llbutton.cpp')
-rw-r--r--indra/llui/llbutton.cpp108
1 files changed, 53 insertions, 55 deletions
diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp
index 16b58dcc5b..30968225a8 100644
--- a/indra/llui/llbutton.cpp
+++ b/indra/llui/llbutton.cpp
@@ -56,7 +56,7 @@ static LLDefaultChildRegistry::Register<LLButton> r("button");
// Compiler optimization, generate extern template
template class LLButton* LLView::getChild<class LLButton>(
- const std::string& name, BOOL recurse) const;
+ std::string_view name, bool recurse) const;
// globals
S32 LLBUTTON_H_PAD = 4;
@@ -124,10 +124,10 @@ LLButton::LLButton(const LLButton::Params& p)
LLBadgeOwner(getHandle()),
mMouseDownFrame(0),
mMouseHeldDownCount(0),
- mBorderEnabled( FALSE ),
- mFlashing( FALSE ),
+ mBorderEnabled( false ),
+ mFlashing( false ),
mCurGlowStrength(0.f),
- mNeedsHighlight(FALSE),
+ mNeedsHighlight(false),
mUnselectedLabel(p.label()),
mSelectedLabel(p.label_selected()),
mGLFont(p.font),
@@ -170,7 +170,7 @@ LLButton::LLButton(const LLButton::Params& p)
mHoverGlowStrength(p.hover_glow_amount),
mCommitOnReturn(p.commit_on_return),
mCommitOnCaptureLost(p.commit_on_capture_lost),
- mFadeWhenDisabled(FALSE),
+ mFadeWhenDisabled(false),
mForcePressedState(false),
mDisplayPressedState(p.display_pressed_state),
mLastDrawCharsCount(0),
@@ -188,7 +188,7 @@ LLButton::LLButton(const LLButton::Params& p)
// Likewise, missing "p.button_flash_rate" is replaced by gSavedSettings.getF32("FlashPeriod").
// Note: flashing should be allowed in settings.xml (boolean key "EnableButtonFlashing").
S32 flash_count = p.button_flash_count.isProvided()? p.button_flash_count : 0;
- F32 flash_rate = p.button_flash_rate.isProvided()? p.button_flash_rate : 0.0;
+ F32 flash_rate = p.button_flash_rate.isProvided()? p.button_flash_rate : 0.0f;
mFlashingTimer = new LLFlashTimer ((LLFlashTimer::callback_t)NULL, flash_count, flash_rate);
}
else
@@ -223,7 +223,7 @@ LLButton::LLButton(const LLButton::Params& p)
if (p.image_disabled() == default_params.image_disabled() )
{
mImageDisabled = p.image_unselected;
- mFadeWhenDisabled = TRUE;
+ mFadeWhenDisabled = true;
}
if (p.image_pressed_selected == default_params.image_pressed_selected)
@@ -239,7 +239,7 @@ LLButton::LLButton(const LLButton::Params& p)
if (p.image_disabled_selected() == default_params.image_disabled_selected())
{
mImageDisabledSelected = p.image_selected;
- mFadeWhenDisabled = TRUE;
+ mFadeWhenDisabled = true;
}
if (p.image_pressed == default_params.image_pressed)
@@ -387,7 +387,7 @@ boost::signals2::connection LLButton::setHeldDownCallback( button_callback_t cb,
return setHeldDownCallback(boost::bind(cb, data));
}
-BOOL LLButton::postBuild()
+bool LLButton::postBuild()
{
autoResize();
@@ -396,9 +396,9 @@ BOOL LLButton::postBuild()
return LLUICtrl::postBuild();
}
-BOOL LLButton::handleUnicodeCharHere(llwchar uni_char)
+bool LLButton::handleUnicodeCharHere(llwchar uni_char)
{
- BOOL handled = FALSE;
+ bool handled = false;
if(' ' == uni_char
&& !gKeyboard->getKeyRepeated(' '))
{
@@ -409,14 +409,14 @@ BOOL LLButton::handleUnicodeCharHere(llwchar uni_char)
LLUICtrl::onCommit();
- handled = TRUE;
+ handled = true;
}
return handled;
}
-BOOL LLButton::handleKeyHere(KEY key, MASK mask )
+bool LLButton::handleKeyHere(KEY key, MASK mask )
{
- BOOL handled = FALSE;
+ bool handled = false;
if( mCommitOnReturn && KEY_RETURN == key && mask == MASK_NONE && !gKeyboard->getKeyRepeated(key))
{
if (mIsToggle)
@@ -424,7 +424,7 @@ BOOL LLButton::handleKeyHere(KEY key, MASK mask )
toggleState();
}
- handled = TRUE;
+ handled = true;
LLUICtrl::onCommit();
}
@@ -432,7 +432,7 @@ BOOL LLButton::handleKeyHere(KEY key, MASK mask )
}
-BOOL LLButton::handleMouseDown(S32 x, S32 y, MASK mask)
+bool LLButton::handleMouseDown(S32 x, S32 y, MASK mask)
{
if (!childrenHandleMouseDown(x, y, mask))
{
@@ -441,7 +441,7 @@ BOOL LLButton::handleMouseDown(S32 x, S32 y, MASK mask)
if (hasTabStop() && !getIsChrome())
{
- setFocus(TRUE);
+ setFocus(true);
}
if (!mFunctionName.empty())
@@ -472,11 +472,11 @@ BOOL LLButton::handleMouseDown(S32 x, S32 y, MASK mask)
make_ui_sound("UISndClick");
}
}
- return TRUE;
+ return true;
}
-BOOL LLButton::handleMouseUp(S32 x, S32 y, MASK mask)
+bool LLButton::handleMouseUp(S32 x, S32 y, MASK mask)
{
// We only handle the click if the click both started and ended within us
if( hasMouseCapture() )
@@ -521,10 +521,10 @@ BOOL LLButton::handleMouseUp(S32 x, S32 y, MASK mask)
childrenHandleMouseUp(x, y, mask);
}
- return TRUE;
+ return true;
}
-BOOL LLButton::handleRightMouseDown(S32 x, S32 y, MASK mask)
+bool LLButton::handleRightMouseDown(S32 x, S32 y, MASK mask)
{
if (mHandleRightMouse && !childrenHandleRightMouseDown(x, y, mask))
{
@@ -533,7 +533,7 @@ BOOL LLButton::handleRightMouseDown(S32 x, S32 y, MASK mask)
if (hasTabStop() && !getIsChrome())
{
- setFocus(TRUE);
+ setFocus(true);
}
// if (pointInView(x, y))
@@ -546,10 +546,10 @@ BOOL LLButton::handleRightMouseDown(S32 x, S32 y, MASK mask)
// if they are not mouse opaque.
}
- return TRUE;
+ return true;
}
-BOOL LLButton::handleRightMouseUp(S32 x, S32 y, MASK mask)
+bool LLButton::handleRightMouseUp(S32 x, S32 y, MASK mask)
{
if (mHandleRightMouse)
{
@@ -575,14 +575,14 @@ BOOL LLButton::handleRightMouseUp(S32 x, S32 y, MASK mask)
// but this might change the mouse handling of existing buttons in a bad way.
// if they are not mouse opaque.
}
- return TRUE;
+ return true;
}
void LLButton::onMouseLeave(S32 x, S32 y, MASK mask)
{
LLUICtrl::onMouseLeave(x, y, mask);
- mNeedsHighlight = FALSE;
+ mNeedsHighlight = false;
}
void LLButton::setHighlight(bool b)
@@ -590,11 +590,11 @@ void LLButton::setHighlight(bool b)
mNeedsHighlight = b;
}
-BOOL LLButton::handleHover(S32 x, S32 y, MASK mask)
+bool LLButton::handleHover(S32 x, S32 y, MASK mask)
{
if (isInEnabledChain()
&& (!gFocusMgr.getMouseCapture() || gFocusMgr.getMouseCapture() == this))
- mNeedsHighlight = TRUE;
+ mNeedsHighlight = true;
if (!childrenHandleHover(x, y, mask))
{
@@ -613,7 +613,7 @@ BOOL LLButton::handleHover(S32 x, S32 y, MASK mask)
getWindow()->setCursor(UI_CURSOR_ARROW);
LL_DEBUGS("UserInput") << "hover handled by " << getName() << LL_ENDL;
}
- return TRUE;
+ return true;
}
void LLButton::getOverlayImageSize(S32& overlay_width, S32& overlay_height)
@@ -633,7 +633,7 @@ void LLButton::draw()
static LLCachedControl<bool> sEnableButtonFlashing(*LLUI::getInstance()->mSettingGroups["config"], "EnableButtonFlashing", true);
F32 alpha = mUseDrawContextAlpha ? getDrawContext().mAlpha : getCurrentTransparency();
- bool pressed_by_keyboard = FALSE;
+ bool pressed_by_keyboard = false;
if (hasFocus())
{
pressed_by_keyboard = gKeyboard->getKeyDown(' ') || (mCommitOnReturn && gKeyboard->getKeyDown(KEY_RETURN));
@@ -655,7 +655,7 @@ void LLButton::draw()
|| mForcePressedState;
bool selected = getToggleState();
- bool use_glow_effect = FALSE;
+ bool use_glow_effect = false;
LLColor4 highlighting_color = LLColor4::white;
LLColor4 glow_color = LLColor4::white;
LLRender::eBlendType glow_type = LLRender::BT_ADD_WITH_ALPHA;
@@ -687,7 +687,7 @@ void LLButton::draw()
else
{
imagep = mImageSelected;
- use_glow_effect = TRUE;
+ use_glow_effect = true;
}
}
else
@@ -699,7 +699,7 @@ void LLButton::draw()
else
{
imagep = mImageUnselected;
- use_glow_effect = TRUE;
+ use_glow_effect = true;
}
}
}
@@ -741,7 +741,7 @@ void LLButton::draw()
if (mFlashingTimer)
{
LLColor4 flash_color = mFlashBgColor.get();
- use_glow_effect = TRUE;
+ use_glow_effect = true;
glow_type = LLRender::BT_ALPHA; // blend the glow
if (mFlashingTimer->isCurrentlyHighlighted() || !mFlashingTimer->isFlashingInProgress())
@@ -762,7 +762,7 @@ void LLButton::draw()
if (mNeedsHighlight && !imagep)
{
- use_glow_effect = TRUE;
+ use_glow_effect = true;
}
// Figure out appropriate color for the text
@@ -796,9 +796,6 @@ void LLButton::draw()
if( ll::ui::SearchableControl::getHighlighted() )
label_color = ll::ui::SearchableControl::getHighlightColor();
- // Unselected label assignments
- LLWString label = getCurrentLabel();
-
// overlay with keyboard focus border
if (hasFocus())
{
@@ -850,7 +847,7 @@ void LLButton::draw()
// no image
LL_DEBUGS() << "No image for button " << getName() << LL_ENDL;
// draw it in pink so we can find it
- gl_rect_2d(0, getRect().getHeight(), getRect().getWidth(), 0, LLColor4::pink1 % alpha, FALSE);
+ gl_rect_2d(0, getRect().getHeight(), getRect().getWidth(), 0, LLColor4::pink1 % alpha, false);
}
// let overlay image and text play well together
@@ -927,8 +924,9 @@ void LLButton::draw()
}
// Draw label
- if( !label.empty() )
+ if( !getCurrentLabel().empty() ) // Unselected label assignments
{
+ LLWString label = getCurrentLabel();
LLWStringUtil::trim(label);
S32 x;
@@ -984,12 +982,12 @@ void LLButton::drawBorder(LLUIImage* imagep, const LLColor4& color, S32 size)
}
}
-BOOL LLButton::getToggleState() const
+bool LLButton::getToggleState() const
{
return getValue().asBoolean();
}
-void LLButton::setToggleState(BOOL b)
+void LLButton::setToggleState(bool b)
{
if( b != getToggleState() )
{
@@ -1016,7 +1014,7 @@ void LLButton::setFlashing(bool b, bool force_flashing/* = false */)
}
}
-BOOL LLButton::toggleState()
+bool LLButton::toggleState()
{
bool flipped = ! getToggleState();
setToggleState(flipped);
@@ -1041,11 +1039,11 @@ void LLButton::setLabel( const LLStringExplicit& label )
}
//virtual
-BOOL LLButton::setLabelArg( const std::string& key, const LLStringExplicit& text )
+bool LLButton::setLabelArg( const std::string& key, const LLStringExplicit& text )
{
mUnselectedLabel.setArg(key, text);
mSelectedLabel.setArg(key, text);
- return TRUE;
+ return true;
}
void LLButton::setLabelUnselected( const LLStringExplicit& label )
@@ -1082,10 +1080,10 @@ void LLButton::autoResize()
resize(getCurrentLabel());
}
-void LLButton::resize(LLUIString label)
+void LLButton::resize(const LLUIString& label)
{
// get label length
- S32 label_width = mGLFont->getWidth(label.getString());
+ S32 label_width = mGLFont->getWidth(label.getWString().c_str());
// get current btn length
S32 btn_width =getRect().getWidth();
// check if it need resize
@@ -1129,12 +1127,12 @@ void LLButton::setImageSelected(LLPointer<LLUIImage> image)
mImageSelected = image;
}
-void LLButton::setImageColor(const LLColor4& c)
+void LLButton::setImageColor(const LLUIColor& c)
{
mImageColor = c;
}
-void LLButton::setColor(const LLColor4& color)
+void LLButton::setColor(const LLUIColor& color)
{
setImageColor(color);
}
@@ -1143,14 +1141,14 @@ void LLButton::setImageDisabled(LLPointer<LLUIImage> image)
{
mImageDisabled = image;
mDisabledImageColor = mImageColor;
- mFadeWhenDisabled = TRUE;
+ mFadeWhenDisabled = true;
}
void LLButton::setImageDisabledSelected(LLPointer<LLUIImage> image)
{
mImageDisabledSelected = image;
mDisabledImageColor = mImageColor;
- mFadeWhenDisabled = TRUE;
+ mFadeWhenDisabled = true;
}
void LLButton::setImagePressed(LLPointer<LLUIImage> image)
@@ -1243,11 +1241,11 @@ void LLButton::addImageAttributeToXML(LLXMLNodePtr node,
{
if( !image_name.empty() )
{
- node->createChild(xml_tag_name.c_str(), TRUE)->setStringValue(image_name);
+ node->createChild(xml_tag_name.c_str(), true)->setStringValue(image_name);
}
else if( image_id != LLUUID::null )
{
- node->createChild((xml_tag_name + "_id").c_str(), TRUE)->setUUIDValue(image_id);
+ node->createChild((xml_tag_name + "_id").c_str(), true)->setUUIDValue(image_id);
}
}
@@ -1273,7 +1271,7 @@ void LLButton::setFloaterToggle(LLUICtrl* ctrl, const LLSD& sdname)
// Set the button control value (toggle state) to the floater visibility control (Sets the value as well)
button->setControlVariable(LLFloater::getControlGroup()->getControl(vis_control_name));
// Set the clicked callback to toggle the floater
- button->setClickedCallback(boost::bind(&LLFloaterReg::toggleInstance, sdname, LLSD()));
+ button->setClickedCallback([=](LLUICtrl* ctrl, const LLSD& param) -> void { LLFloaterReg::toggleInstance(sdname.asString(), LLSD()); });
}
// static
@@ -1314,7 +1312,7 @@ void LLButton::resetMouseDownTimer()
mMouseDownTimer.reset();
}
-BOOL LLButton::handleDoubleClick(S32 x, S32 y, MASK mask)
+bool LLButton::handleDoubleClick(S32 x, S32 y, MASK mask)
{
// just treat a double click as a second click
return handleMouseDown(x, y, mask);