summaryrefslogtreecommitdiff
path: root/indra/newview/lltoast.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/lltoast.h')
-rw-r--r--indra/newview/lltoast.h292
1 files changed, 146 insertions, 146 deletions
diff --git a/indra/newview/lltoast.h b/indra/newview/lltoast.h
index ab559f1e6f..a0003dfa70 100644
--- a/indra/newview/lltoast.h
+++ b/indra/newview/lltoast.h
@@ -1,25 +1,25 @@
-/**
+/**
* @file lltoast.h
* @brief This class implements a placeholder for any notification panel.
*
* $LicenseInfo:firstyear=2003&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$
*/
@@ -50,20 +50,20 @@ class LLToast;
class LLToastLifeTimer: public LLEventTimer
{
public:
- LLToastLifeTimer(LLToast* toast, F32 period);
-
- /*virtual*/
- BOOL tick();
- void stop();
- void start();
- void restart();
- BOOL getStarted();
- void setPeriod(F32 period);
- F32 getRemainingTimeF32();
-
- LLTimer& getEventTimer() { return mEventTimer;}
+ LLToastLifeTimer(LLToast* toast, F32 period);
+
+ /*virtual*/
+ BOOL tick();
+ void stop();
+ void start();
+ void restart();
+ BOOL getStarted();
+ void setPeriod(F32 period);
+ F32 getRemainingTimeF32();
+
+ LLTimer& getEventTimer() { return mEventTimer;}
private :
- LLToast* mToast;
+ LLToast* mToast;
};
/**
@@ -72,184 +72,184 @@ private :
*/
class LLToast : public LLModalDialog, public LLInstanceTracker<LLToast>
{
- friend class LLToastLifeTimer;
+ friend class LLToastLifeTimer;
public:
- typedef boost::function<void (LLToast* toast)> toast_callback_t;
- typedef boost::signals2::signal<void (LLToast* toast)> toast_signal_t;
- typedef boost::signals2::signal<void (LLToast* toast, bool mouse_enter)> toast_hover_check_signal_t;
+ typedef boost::function<void (LLToast* toast)> toast_callback_t;
+ typedef boost::signals2::signal<void (LLToast* toast)> toast_signal_t;
+ typedef boost::signals2::signal<void (LLToast* toast, bool mouse_enter)> toast_hover_check_signal_t;
+
+ struct Params : public LLInitParam::Block<Params>
+ {
+ Mandatory<LLPanel*> panel;
+ Optional<LLUUID> notif_id, //notification ID
+ session_id; //im session ID
+ Optional<LLNotificationPtr> notification;
- struct Params : public LLInitParam::Block<Params>
- {
- Mandatory<LLPanel*> panel;
- Optional<LLUUID> notif_id, //notification ID
- session_id; //im session ID
- Optional<LLNotificationPtr> notification;
+ //NOTE: Life time of a toast (i.e. period of time from the moment toast was shown
+ //till the moment when toast was hidden) is the sum of lifetime_secs and fading_time_secs.
- //NOTE: Life time of a toast (i.e. period of time from the moment toast was shown
- //till the moment when toast was hidden) is the sum of lifetime_secs and fading_time_secs.
+ Optional<F32> lifetime_secs, // Number of seconds while a toast is non-transparent
+ fading_time_secs; // Number of seconds while a toast is transparent
- Optional<F32> lifetime_secs, // Number of seconds while a toast is non-transparent
- fading_time_secs; // Number of seconds while a toast is transparent
+ Optional<toast_callback_t> on_delete_toast;
+ Optional<bool> can_fade,
+ can_be_stored,
+ enable_hide_btn,
+ is_modal,
+ is_tip,
+ force_show,
+ force_store;
- Optional<toast_callback_t> on_delete_toast;
- Optional<bool> can_fade,
- can_be_stored,
- enable_hide_btn,
- is_modal,
- is_tip,
- force_show,
- force_store;
+ Params();
+ };
- Params();
- };
-
- static void updateClass();
- static void cleanupToasts();
+ static void updateClass();
+ static void cleanupToasts();
- static BOOL isAlertToastShown() { return sModalToastsList.size() > 0; }
+ static BOOL isAlertToastShown() { return sModalToastsList.size() > 0; }
- LLToast(const LLToast::Params& p);
- virtual ~LLToast();
- BOOL postBuild();
+ LLToast(const LLToast::Params& p);
+ virtual ~LLToast();
+ BOOL postBuild();
- /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
+ /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
- // Toast handlers
- virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask);
+ // Toast handlers
+ virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask);
- //Fading
+ //Fading
- /** Stop lifetime/fading timer */
- virtual void stopTimer();
+ /** Stop lifetime/fading timer */
+ virtual void stopTimer();
- /** Start lifetime/fading timer */
- virtual void startTimer();
+ /** Start lifetime/fading timer */
+ virtual void startTimer();
- bool isHovered() { return mIsHovered; }
+ bool isHovered() { return mIsHovered; }
- // Operating with toasts
- // insert a panel to a toast
- void insertPanel(LLPanel* panel);
+ // Operating with toasts
+ // insert a panel to a toast
+ void insertPanel(LLPanel* panel);
- void reshapeToPanel();
+ void reshapeToPanel();
- // get toast's panel
- LLPanel* getPanel() const { return mPanel; }
- // enable/disable Toast's Hide button
- void setHideButtonEnabled(bool enabled);
- //
- F32 getTimeLeftToLive();
- //
- LLToastLifeTimer* getTimer() { return mTimer.get();}
- //
- virtual void draw();
- //
- virtual void setVisible(BOOL show);
+ // get toast's panel
+ LLPanel* getPanel() const { return mPanel; }
+ // enable/disable Toast's Hide button
+ void setHideButtonEnabled(bool enabled);
+ //
+ F32 getTimeLeftToLive();
+ //
+ LLToastLifeTimer* getTimer() { return mTimer.get();}
+ //
+ virtual void draw();
+ //
+ virtual void setVisible(BOOL show);
- /*virtual*/ void setBackgroundOpaque(BOOL b);
- //
- virtual void hide();
+ /*virtual*/ void setBackgroundOpaque(BOOL b);
+ //
+ virtual void hide();
- /*virtual*/ void setFocus(BOOL b);
+ /*virtual*/ void setFocus(BOOL b);
- /*virtual*/ void onFocusLost();
+ /*virtual*/ void onFocusLost();
- /*virtual*/ void onFocusReceived();
+ /*virtual*/ void onFocusReceived();
- void setLifetime(S32 seconds);
+ void setLifetime(S32 seconds);
- void setFadingTime(S32 seconds);
+ void setFadingTime(S32 seconds);
- void closeToast();
+ void closeToast();
- /**
- * Returns padding between floater top and wrapper_panel top.
- * This padding should be taken into account when positioning or reshaping toasts
- */
- S32 getTopPad();
+ /**
+ * Returns padding between floater top and wrapper_panel top.
+ * This padding should be taken into account when positioning or reshaping toasts
+ */
+ S32 getTopPad();
- S32 getRightPad();
+ S32 getRightPad();
- // get/set Toast's flags or states
- // get information whether the notification corresponding to the toast is valid or not
- bool isNotificationValid();
+ // get/set Toast's flags or states
+ // get information whether the notification corresponding to the toast is valid or not
+ bool isNotificationValid();
- // get toast's Notification ID
- const LLUUID getNotificationID() const { return mNotificationID;}
- // get toast's Session ID
- const LLUUID getSessionID() const { return mSessionID;}
- //
- void setCanFade(bool can_fade);
- //
- void setCanBeStored(bool can_be_stored) { mCanBeStored = can_be_stored; }
- //
- bool getCanBeStored() { return mCanBeStored; }
- // set whether this toast considered as hidden or not
- void setIsHidden( bool is_toast_hidden ) { mIsHidden = is_toast_hidden; }
+ // get toast's Notification ID
+ const LLUUID getNotificationID() const { return mNotificationID;}
+ // get toast's Session ID
+ const LLUUID getSessionID() const { return mSessionID;}
+ //
+ void setCanFade(bool can_fade);
+ //
+ void setCanBeStored(bool can_be_stored) { mCanBeStored = can_be_stored; }
+ //
+ bool getCanBeStored() { return mCanBeStored; }
+ // set whether this toast considered as hidden or not
+ void setIsHidden( bool is_toast_hidden ) { mIsHidden = is_toast_hidden; }
- const LLNotificationPtr& getNotification() const { return mNotification;}
+ const LLNotificationPtr& getNotification() const { return mNotification;}
- // Registers signals/callbacks for events
- boost::signals2::connection setOnFadeCallback(const toast_signal_t::slot_type& cb) { return mOnFadeSignal.connect(cb); }
- boost::signals2::connection setOnToastDestroyedCallback(const toast_signal_t::slot_type& cb) { return mOnToastDestroyedSignal.connect(cb); }
- boost::signals2::connection setOnToastHoverCallback(const toast_hover_check_signal_t::slot_type& cb) { return mOnToastHoverSignal.connect(cb); }
+ // Registers signals/callbacks for events
+ boost::signals2::connection setOnFadeCallback(const toast_signal_t::slot_type& cb) { return mOnFadeSignal.connect(cb); }
+ boost::signals2::connection setOnToastDestroyedCallback(const toast_signal_t::slot_type& cb) { return mOnToastDestroyedSignal.connect(cb); }
+ boost::signals2::connection setOnToastHoverCallback(const toast_hover_check_signal_t::slot_type& cb) { return mOnToastHoverSignal.connect(cb); }
- boost::signals2::connection setMouseEnterCallback( const commit_signal_t::slot_type& cb ) { return mToastMouseEnterSignal.connect(cb); };
- boost::signals2::connection setMouseLeaveCallback( const commit_signal_t::slot_type& cb ) { return mToastMouseLeaveSignal.connect(cb); };
+ boost::signals2::connection setMouseEnterCallback( const commit_signal_t::slot_type& cb ) { return mToastMouseEnterSignal.connect(cb); };
+ boost::signals2::connection setMouseLeaveCallback( const commit_signal_t::slot_type& cb ) { return mToastMouseLeaveSignal.connect(cb); };
- virtual S32 notifyParent(const LLSD& info);
+ virtual S32 notifyParent(const LLSD& info);
- LLHandle<LLToast> getHandle() const { return getDerivedHandle<LLToast>(); }
+ LLHandle<LLToast> getHandle() const { return getDerivedHandle<LLToast>(); }
protected:
- void updateTransparency();
+ void updateTransparency();
private:
- void updateHoveredState();
+ void updateHoveredState();
+
+ void expire();
+
+ void setFading(bool fading);
- void expire();
+ LLUUID mNotificationID;
+ LLUUID mSessionID;
+ LLNotificationPtr mNotification;
- void setFading(bool fading);
+ //LLRootHandle<LLToast> mHandle;
- LLUUID mNotificationID;
- LLUUID mSessionID;
- LLNotificationPtr mNotification;
+ LLPanel* mWrapperPanel;
- //LLRootHandle<LLToast> mHandle;
-
- LLPanel* mWrapperPanel;
+ // timer counts a lifetime of a toast
+ std::unique_ptr<LLToastLifeTimer> mTimer;
- // timer counts a lifetime of a toast
- std::unique_ptr<LLToastLifeTimer> mTimer;
+ F32 mToastLifetime; // in seconds
+ F32 mToastFadingTime; // in seconds
- F32 mToastLifetime; // in seconds
- F32 mToastFadingTime; // in seconds
-
- LLPanel* mPanel;
- LLButton* mHideBtn;
+ LLPanel* mPanel;
+ LLButton* mHideBtn;
- LLColor4 mBgColor;
- bool mCanFade;
- bool mCanBeStored;
- bool mHideBtnEnabled;
- bool mHideBtnPressed;
- bool mIsHidden; // this flag is TRUE when a toast has faded or was hidden with (x) button (EXT-1849)
- bool mIsTip;
- bool mIsFading;
- bool mIsHovered;
+ LLColor4 mBgColor;
+ bool mCanFade;
+ bool mCanBeStored;
+ bool mHideBtnEnabled;
+ bool mHideBtnPressed;
+ bool mIsHidden; // this flag is TRUE when a toast has faded or was hidden with (x) button (EXT-1849)
+ bool mIsTip;
+ bool mIsFading;
+ bool mIsHovered;
- toast_signal_t mOnFadeSignal;
- toast_signal_t mOnDeleteToastSignal;
- toast_signal_t mOnToastDestroyedSignal;
- toast_hover_check_signal_t mOnToastHoverSignal;
+ toast_signal_t mOnFadeSignal;
+ toast_signal_t mOnDeleteToastSignal;
+ toast_signal_t mOnToastDestroyedSignal;
+ toast_hover_check_signal_t mOnToastHoverSignal;
- commit_signal_t mToastMouseEnterSignal;
- commit_signal_t mToastMouseLeaveSignal;
+ commit_signal_t mToastMouseEnterSignal;
+ commit_signal_t mToastMouseLeaveSignal;
- static std::list<LLToast*> sModalToastsList;
+ static std::list<LLToast*> sModalToastsList;
};
}