diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2024-06-10 17:06:06 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2024-06-10 19:25:02 +0300 |
commit | 0dcc912cecdfb365c1f4246545ece40ccb7bc18e (patch) | |
tree | ccf664c765d1adbbf4985069321df65c85ca36e2 /indra/llui/llradiogroup.h | |
parent | bd8438f7083643ae5812b14e35e69e69ef1616c6 (diff) | |
parent | d317454c82e016a02c8a708a0118f3ff29aa8e82 (diff) |
Merge main into inventory_favorites
# Conflicts:
# indra/llui/llfolderviewmodel.h
# indra/newview/llpanelwearing.cpp
# indra/newview/llwearableitemslist.cpp
Diffstat (limited to 'indra/llui/llradiogroup.h')
-rw-r--r-- | indra/llui/llradiogroup.h | 130 |
1 files changed, 65 insertions, 65 deletions
diff --git a/indra/llui/llradiogroup.h b/indra/llui/llradiogroup.h index dcb2f43bfe..ca8883dce4 100644 --- a/indra/llui/llradiogroup.h +++ b/indra/llui/llradiogroup.h @@ -1,25 +1,25 @@ -/** +/** * @file llradiogroup.h * @brief LLRadioGroup 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$ */ @@ -32,83 +32,83 @@ #include "llctrlselectioninterface.h" /* - * An invisible view containing multiple mutually exclusive toggling + * An invisible view containing multiple mutually exclusive toggling * buttons (usually radio buttons). Automatically handles the mutex * condition by highlighting only one button at a time. */ class LLRadioGroup -: public LLUICtrl, public LLCtrlSelectionInterface +: public LLUICtrl, public LLCtrlSelectionInterface { public: - struct ItemParams : public LLInitParam::Block<ItemParams, LLCheckBoxCtrl::Params> - { - Optional<LLSD> value; - ItemParams(); - }; + struct ItemParams : public LLInitParam::Block<ItemParams, LLCheckBoxCtrl::Params> + { + Optional<LLSD> value; + ItemParams(); + }; - struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> - { - Optional<bool> allow_deselect; - Multiple<ItemParams, AtLeast<1> > items; - Params(); - }; + struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> + { + Optional<bool> allow_deselect; + Multiple<ItemParams, AtLeast<1> > items; + Params(); + }; protected: - LLRadioGroup(const Params&); - friend class LLUICtrlFactory; + LLRadioGroup(const Params&); + friend class LLUICtrlFactory; public: - /*virtual*/ void initFromParams(const Params&); - - virtual ~LLRadioGroup(); - - virtual BOOL postBuild(); - - virtual BOOL handleKeyHere(KEY key, MASK mask); - - void setIndexEnabled(S32 index, BOOL enabled); - // return the index value of the selected item - S32 getSelectedIndex() const { return mSelectedIndex; } - // set the index value programatically - BOOL setSelectedIndex(S32 index, BOOL from_event = FALSE); - // foxus child by index if it can get focus - void focusSelectedRadioBtn(); - - // Accept and retrieve strings of the radio group control names - virtual void setValue(const LLSD& value ); - virtual LLSD getValue() const; - - // Update the control as needed. Userdata must be a pointer to the button. - void onClickButton(LLUICtrl* clicked_radio); - - //======================================================================== - LLCtrlSelectionInterface* getSelectionInterface() { return (LLCtrlSelectionInterface*)this; }; - - // LLCtrlSelectionInterface functions - /*virtual*/ S32 getItemCount() const { return mRadioButtons.size(); } - /*virtual*/ BOOL getCanSelect() const { return TRUE; } - /*virtual*/ BOOL selectFirstItem() { return setSelectedIndex(0); } - /*virtual*/ BOOL selectNthItem( S32 index ) { return setSelectedIndex(index); } - /*virtual*/ BOOL selectItemRange( S32 first, S32 last ) { return setSelectedIndex(first); } - /*virtual*/ S32 getFirstSelectedIndex() const { return getSelectedIndex(); } - /*virtual*/ BOOL setCurrentByID( const LLUUID& id ); - /*virtual*/ LLUUID getCurrentID() const; // LLUUID::null if no items in menu - /*virtual*/ BOOL setSelectedByValue(const LLSD& value, BOOL selected); - /*virtual*/ LLSD getSelectedValue(); - /*virtual*/ BOOL isSelected(const LLSD& value) const; - /*virtual*/ BOOL operateOnSelection(EOperation op); - /*virtual*/ BOOL operateOnAll(EOperation op); + /*virtual*/ void initFromParams(const Params&); + + virtual ~LLRadioGroup(); + + virtual BOOL postBuild(); + + virtual BOOL handleKeyHere(KEY key, MASK mask); + + void setIndexEnabled(S32 index, BOOL enabled); + // return the index value of the selected item + S32 getSelectedIndex() const { return mSelectedIndex; } + // set the index value programatically + BOOL setSelectedIndex(S32 index, BOOL from_event = FALSE); + // foxus child by index if it can get focus + void focusSelectedRadioBtn(); + + // Accept and retrieve strings of the radio group control names + virtual void setValue(const LLSD& value ); + virtual LLSD getValue() const; + + // Update the control as needed. Userdata must be a pointer to the button. + void onClickButton(LLUICtrl* clicked_radio); + + //======================================================================== + LLCtrlSelectionInterface* getSelectionInterface() { return (LLCtrlSelectionInterface*)this; }; + + // LLCtrlSelectionInterface functions + /*virtual*/ S32 getItemCount() const { return mRadioButtons.size(); } + /*virtual*/ BOOL getCanSelect() const { return TRUE; } + /*virtual*/ BOOL selectFirstItem() { return setSelectedIndex(0); } + /*virtual*/ BOOL selectNthItem( S32 index ) { return setSelectedIndex(index); } + /*virtual*/ BOOL selectItemRange( S32 first, S32 last ) { return setSelectedIndex(first); } + /*virtual*/ S32 getFirstSelectedIndex() const { return getSelectedIndex(); } + /*virtual*/ BOOL setCurrentByID( const LLUUID& id ); + /*virtual*/ LLUUID getCurrentID() const; // LLUUID::null if no items in menu + /*virtual*/ BOOL setSelectedByValue(const LLSD& value, BOOL selected); + /*virtual*/ LLSD getSelectedValue(); + /*virtual*/ BOOL isSelected(const LLSD& value) const; + /*virtual*/ BOOL operateOnSelection(EOperation op); + /*virtual*/ BOOL operateOnAll(EOperation op); private: - const LLFontGL* mFont; - S32 mSelectedIndex; + const LLFontGL* mFont; + S32 mSelectedIndex; - typedef std::vector<class LLRadioCtrl*> button_list_t; - button_list_t mRadioButtons; + typedef std::vector<class LLRadioCtrl*> button_list_t; + button_list_t mRadioButtons; - bool mAllowDeselect; // user can click on an already selected option to deselect it + bool mAllowDeselect; // user can click on an already selected option to deselect it }; #endif |