diff options
Diffstat (limited to 'indra/newview/llsplitbutton.h')
| -rw-r--r-- | indra/newview/llsplitbutton.h | 102 | 
1 files changed, 52 insertions, 50 deletions
diff --git a/indra/newview/llsplitbutton.h b/indra/newview/llsplitbutton.h index a4a6a179c1..b6ee47a9c7 100644 --- a/indra/newview/llsplitbutton.h +++ b/indra/newview/llsplitbutton.h @@ -1,25 +1,25 @@ -/**  +/**   * @file llsplitbutton.h   * @brief LLSplitButton base class   *   * $LicenseInfo:firstyear=2009&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$   */ @@ -37,69 +37,71 @@  #define LL_LLSPLITBUTTON_H  class LLSplitButton -	:	public LLUICtrl +    :   public LLUICtrl  {  public: -	typedef enum e_arrow_position -	{ -		LEFT, -		RIGHT -	} EArrowPosition; +    typedef enum e_arrow_position +    { +        LEFT, +        RIGHT +    } EArrowPosition; -	struct ArrowPositionValues : public LLInitParam::TypeValuesHelper<EArrowPosition, ArrowPositionValues> -	{ -		static void declareValues(); -	}; +    struct ArrowPositionValues : public LLInitParam::TypeValuesHelper<EArrowPosition, ArrowPositionValues> +    { +        static void declareValues(); +    }; -	struct ItemParams : public LLInitParam::Block<ItemParams, LLButton::Params> -	{ -		ItemParams(); -	}; +    struct ItemParams : public LLInitParam::Block<ItemParams, LLButton::Params> +    { +        ItemParams(); +    }; -	struct Params :	public LLInitParam::Block<Params, LLUICtrl::Params> -	{ -		Optional<EArrowPosition, ArrowPositionValues> arrow_position; -		Optional<LLButton::Params> arrow_button; -		Optional<LLPanel::Params> items_panel; -		Multiple<ItemParams> items; +    struct Params : public LLInitParam::Block<Params, LLUICtrl::Params> +    { +        Optional<EArrowPosition, ArrowPositionValues> arrow_position; +        Optional<LLButton::Params> arrow_button; +        Optional<LLPanel::Params> items_panel; +        Multiple<ItemParams> items; -		Params(); -	}; +        Params(); +    }; -	virtual ~LLSplitButton() {}; +    virtual ~LLSplitButton(); -	//Overridden -	virtual void	onFocusLost(); -	virtual void	setFocus(bool b); -	virtual void	setEnabled(bool enabled); +    //Overridden +    virtual void    onFocusLost(); +    virtual void    setFocus(bool b); +    virtual void    setEnabled(bool enabled); -	//Callbacks -	void	onArrowBtnDown(); -	void	onHeldDownShownButton(); -	void	onItemSelected(LLUICtrl* ctrl); -	void	setSelectionCallback(commit_callback_t cb) { mSelectionCallback = cb; } +    //Callbacks +    void    onArrowBtnDown(); +    void    onHeldDownShownButton(); +    void    onItemSelected(LLUICtrl* ctrl); +    void    setSelectionCallback(commit_callback_t cb) { mSelectionCallback = cb; } -	virtual bool handleMouseUp(S32 x, S32 y, MASK mask); +    virtual bool handleMouseUp(S32 x, S32 y, MASK mask); -	virtual void	showButtons(); -	virtual void	hideButtons(); +    virtual void    showButtons(); +    virtual void    hideButtons();  protected: -	friend class LLUICtrlFactory; -	LLSplitButton(const LLSplitButton::Params& p); +    friend class LLUICtrlFactory; +    LLSplitButton(const LLSplitButton::Params& p); + +    LLButton* prepareItemButton(LLButton::Params params); +    LLPanel* prepareItemsPanel(LLPanel::Params params, S32 items_count); -	LLButton* prepareItemButton(LLButton::Params params); -	LLPanel* prepareItemsPanel(LLPanel::Params params, S32 items_count); +    LLPanel* mItemsPanel; +    std::list<LLButton*> mHidenItems; +    LLButton* mArrowBtn; +    LLButton* mShownItem; +    EArrowPosition mArrowPosition; -	LLPanel* mItemsPanel; -	std::list<LLButton*> mHidenItems; -	LLButton* mArrowBtn; -	LLButton* mShownItem; -	EArrowPosition mArrowPosition; +    boost::signals2::connection mTopLostSignalConnection; -	commit_callback_t mSelectionCallback; +    commit_callback_t mSelectionCallback;  };  | 
