diff options
author | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 21:25:21 +0200 |
---|---|---|
committer | Andrey Lihatskiy <alihatskiy@productengine.com> | 2024-05-22 22:40:26 +0300 |
commit | e2e37cced861b98de8c1a7c9c0d3a50d2d90e433 (patch) | |
tree | 1bb897489ce524986f6196201c10ac0d8861aa5f /indra/llui/lltextbox.cpp | |
parent | 069ea06848f766466f1a281144c82a0f2bd79f3a (diff) |
Fix line endlings
Diffstat (limited to 'indra/llui/lltextbox.cpp')
-rw-r--r-- | indra/llui/lltextbox.cpp | 366 |
1 files changed, 183 insertions, 183 deletions
diff --git a/indra/llui/lltextbox.cpp b/indra/llui/lltextbox.cpp index b3b97c00b4..92551b682c 100644 --- a/indra/llui/lltextbox.cpp +++ b/indra/llui/lltextbox.cpp @@ -1,183 +1,183 @@ -/**
- * @file lltextbox.cpp
- * @brief A text display widget
- *
- * $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$
- */
-
-#include "linden_common.h"
-
-#define LLTEXTBOX_CPP
-#include "lltextbox.h"
-
-#include "lluictrlfactory.h"
-#include "llfocusmgr.h"
-#include "llwindow.h"
-#include "llurlregistry.h"
-#include "llstyle.h"
-
-static LLDefaultChildRegistry::Register<LLTextBox> r("text");
-
-// Compiler optimization, generate extern template
-template class LLTextBox* LLView::getChild<class LLTextBox>(
- const std::string& name, bool recurse) const;
-
-LLTextBox::LLTextBox(const LLTextBox::Params& p)
-: LLTextBase(p),
- mClickedCallback(NULL),
- mShowCursorHand(true)
-{
- mSkipTripleClick = true;
-}
-
-LLTextBox::~LLTextBox()
-{}
-
-bool LLTextBox::handleMouseDown(S32 x, S32 y, MASK mask)
-{
- bool handled = LLTextBase::handleMouseDown(x, y, mask);
-
- if (getSoundFlags() & MOUSE_DOWN)
- {
- make_ui_sound("UISndClick");
- }
-
- if (!handled && mClickedCallback)
- {
- handled = true;
- }
-
- if (handled)
- {
- // Route future Mouse messages here preemptively. (Release on mouse up.)
- gFocusMgr.setMouseCapture( this );
- }
-
- return handled;
-}
-
-bool LLTextBox::handleMouseUp(S32 x, S32 y, MASK mask)
-{
- bool handled = LLTextBase::handleMouseUp(x, y, mask);
-
- if (getSoundFlags() & MOUSE_UP)
- {
- make_ui_sound("UISndClickRelease");
- }
-
- // We only handle the click if the click both started and ended within us
- if (hasMouseCapture())
- {
- // Release the mouse
- gFocusMgr.setMouseCapture( NULL );
-
- // DO THIS AT THE VERY END to allow the button to be destroyed
- // as a result of being clicked. If mouseup in the widget,
- // it's been clicked
- if (mClickedCallback && !handled)
- {
- mClickedCallback();
- handled = true;
- }
- }
-
- return handled;
-}
-
-bool LLTextBox::handleHover(S32 x, S32 y, MASK mask)
-{
- bool handled = LLTextBase::handleHover(x, y, mask);
- if (!handled && mClickedCallback && mShowCursorHand)
- {
- // Clickable text boxes change the cursor to a hand
- LLUI::getInstance()->getWindow()->setCursor(UI_CURSOR_HAND);
- return true;
- }
- return handled;
-}
-
-void LLTextBox::setEnabled(bool enabled)
-{
- // just treat enabled as read-only flag
- bool read_only = !enabled;
- if (read_only != mReadOnly)
- {
- LLTextBase::setReadOnly(read_only);
- updateSegments();
- }
- LLTextBase::setEnabled(enabled);
-}
-
-void LLTextBox::setText(const LLStringExplicit& text , const LLStyle::Params& input_params )
-{
- // does string argument insertion
- mText.assign(text);
-
- LLTextBase::setText(mText.getString(), input_params );
-}
-
-void LLTextBox::setClickedCallback( boost::function<void (void*)> cb, void* userdata /*= NULL */ )
-{
- mClickedCallback = boost::bind(cb, userdata);
-}
-
-S32 LLTextBox::getTextPixelWidth()
-{
- return getTextBoundingRect().getWidth();
-}
-
-S32 LLTextBox::getTextPixelHeight()
-{
- return getTextBoundingRect().getHeight();
-}
-
-
-LLSD LLTextBox::getValue() const
-{
- return getViewModel()->getValue();
-}
-
-bool LLTextBox::setTextArg( const std::string& key, const LLStringExplicit& text )
-{
- mText.setArg(key, text);
- LLTextBase::setText(mText.getString());
-
- return true;
-}
-
-
-void LLTextBox::reshapeToFitText(bool called_from_parent)
-{
- reflow();
-
- S32 width = getTextPixelWidth();
- S32 height = getTextPixelHeight();
- //consider investigating reflow() to find missing width pixel (see SL-17045 changes)
- reshape( width + 2 * mHPad + 1, height + 2 * mVPad, called_from_parent );
-}
-
-
-void LLTextBox::onUrlLabelUpdated(const std::string &url, const std::string &label)
-{
- needsReflow();
-}
-
+/** + * @file lltextbox.cpp + * @brief A text display widget + * + * $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$ + */ + +#include "linden_common.h" + +#define LLTEXTBOX_CPP +#include "lltextbox.h" + +#include "lluictrlfactory.h" +#include "llfocusmgr.h" +#include "llwindow.h" +#include "llurlregistry.h" +#include "llstyle.h" + +static LLDefaultChildRegistry::Register<LLTextBox> r("text"); + +// Compiler optimization, generate extern template +template class LLTextBox* LLView::getChild<class LLTextBox>( + const std::string& name, bool recurse) const; + +LLTextBox::LLTextBox(const LLTextBox::Params& p) +: LLTextBase(p), + mClickedCallback(NULL), + mShowCursorHand(true) +{ + mSkipTripleClick = true; +} + +LLTextBox::~LLTextBox() +{} + +bool LLTextBox::handleMouseDown(S32 x, S32 y, MASK mask) +{ + bool handled = LLTextBase::handleMouseDown(x, y, mask); + + if (getSoundFlags() & MOUSE_DOWN) + { + make_ui_sound("UISndClick"); + } + + if (!handled && mClickedCallback) + { + handled = true; + } + + if (handled) + { + // Route future Mouse messages here preemptively. (Release on mouse up.) + gFocusMgr.setMouseCapture( this ); + } + + return handled; +} + +bool LLTextBox::handleMouseUp(S32 x, S32 y, MASK mask) +{ + bool handled = LLTextBase::handleMouseUp(x, y, mask); + + if (getSoundFlags() & MOUSE_UP) + { + make_ui_sound("UISndClickRelease"); + } + + // We only handle the click if the click both started and ended within us + if (hasMouseCapture()) + { + // Release the mouse + gFocusMgr.setMouseCapture( NULL ); + + // DO THIS AT THE VERY END to allow the button to be destroyed + // as a result of being clicked. If mouseup in the widget, + // it's been clicked + if (mClickedCallback && !handled) + { + mClickedCallback(); + handled = true; + } + } + + return handled; +} + +bool LLTextBox::handleHover(S32 x, S32 y, MASK mask) +{ + bool handled = LLTextBase::handleHover(x, y, mask); + if (!handled && mClickedCallback && mShowCursorHand) + { + // Clickable text boxes change the cursor to a hand + LLUI::getInstance()->getWindow()->setCursor(UI_CURSOR_HAND); + return true; + } + return handled; +} + +void LLTextBox::setEnabled(bool enabled) +{ + // just treat enabled as read-only flag + bool read_only = !enabled; + if (read_only != mReadOnly) + { + LLTextBase::setReadOnly(read_only); + updateSegments(); + } + LLTextBase::setEnabled(enabled); +} + +void LLTextBox::setText(const LLStringExplicit& text , const LLStyle::Params& input_params ) +{ + // does string argument insertion + mText.assign(text); + + LLTextBase::setText(mText.getString(), input_params ); +} + +void LLTextBox::setClickedCallback( boost::function<void (void*)> cb, void* userdata /*= NULL */ ) +{ + mClickedCallback = boost::bind(cb, userdata); +} + +S32 LLTextBox::getTextPixelWidth() +{ + return getTextBoundingRect().getWidth(); +} + +S32 LLTextBox::getTextPixelHeight() +{ + return getTextBoundingRect().getHeight(); +} + + +LLSD LLTextBox::getValue() const +{ + return getViewModel()->getValue(); +} + +bool LLTextBox::setTextArg( const std::string& key, const LLStringExplicit& text ) +{ + mText.setArg(key, text); + LLTextBase::setText(mText.getString()); + + return true; +} + + +void LLTextBox::reshapeToFitText(bool called_from_parent) +{ + reflow(); + + S32 width = getTextPixelWidth(); + S32 height = getTextPixelHeight(); + //consider investigating reflow() to find missing width pixel (see SL-17045 changes) + reshape( width + 2 * mHPad + 1, height + 2 * mVPad, called_from_parent ); +} + + +void LLTextBox::onUrlLabelUpdated(const std::string &url, const std::string &label) +{ + needsReflow(); +} + |