diff options
Diffstat (limited to 'indra/newview/llchiclet.h')
-rw-r--r-- | indra/newview/llchiclet.h | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/indra/newview/llchiclet.h b/indra/newview/llchiclet.h index 3665e4d093..b006ae3420 100644 --- a/indra/newview/llchiclet.h +++ b/indra/newview/llchiclet.h @@ -325,9 +325,13 @@ public: }; - /*virtual*/ ~LLIMChiclet() {}; + virtual ~LLIMChiclet() {}; /** + * It is used for default setting up of chicklet:click handler, etc. + */ + BOOL postBuild(); + /** * Sets IM session name. This name will be displayed in chiclet tooltip. */ virtual void setIMSessionName(const std::string& name) { setToolTip(name); } @@ -422,12 +426,12 @@ public: */ virtual void onMouseDown(); + virtual void setToggleState(bool toggle); + protected: LLIMChiclet(const LLIMChiclet::Params& p); - /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask); - protected: bool mShowSpeaker; @@ -438,7 +442,7 @@ protected: LLIconCtrl* mNewMessagesIcon; LLChicletNotificationCounterCtrl* mCounterCtrl; LLChicletSpeakerCtrl* mSpeakerCtrl; - + LLButton* mChicletButton; /** the id of another participant, either an avatar id or a group id*/ LLUUID mOtherParticipantId; @@ -473,6 +477,8 @@ class LLIMP2PChiclet : public LLIMChiclet public: struct Params : public LLInitParam::Block<Params, LLIMChiclet::Params> { + Optional<LLButton::Params> chiclet_button; + Optional<LLChicletAvatarIconCtrl::Params> avatar_icon; Optional<LLChicletNotificationCounterCtrl::Params> unread_notifications; @@ -538,6 +544,8 @@ class LLAdHocChiclet : public LLIMChiclet public: struct Params : public LLInitParam::Block<Params, LLIMChiclet::Params> { + Optional<LLButton::Params> chiclet_button; + Optional<LLChicletAvatarIconCtrl::Params> avatar_icon; Optional<LLChicletNotificationCounterCtrl::Params> unread_notifications; @@ -614,6 +622,8 @@ public: struct Params : public LLInitParam::Block<Params, LLIMChiclet::Params> { + Optional<LLButton::Params> chiclet_button; + Optional<LLIconCtrl::Params> icon; Optional<LLIconCtrl::Params> new_message_icon; @@ -632,11 +642,6 @@ public: */ /*virtual*/ void onMouseDown(); - /** - * Override default handler - */ - /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask); - protected: LLScriptChiclet(const Params&); @@ -656,6 +661,8 @@ public: struct Params : public LLInitParam::Block<Params, LLIMChiclet::Params> { + Optional<LLButton::Params> chiclet_button; + Optional<LLChicletInvOfferIconCtrl::Params> icon; Optional<LLIconCtrl::Params> new_message_icon; @@ -674,12 +681,6 @@ public: */ /*virtual*/ void onMouseDown(); - /** - * Override default handler - */ - /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask); - - protected: LLInvOfferChiclet(const Params&); friend class LLUICtrlFactory; @@ -697,6 +698,8 @@ public: struct Params : public LLInitParam::Block<Params, LLIMChiclet::Params> { + Optional<LLButton::Params> chiclet_button; + Optional<LLChicletGroupIconCtrl::Params> group_icon; Optional<LLChicletNotificationCounterCtrl::Params> unread_notifications; @@ -1040,6 +1043,11 @@ public: S32 notifyParent(const LLSD& info); + /** + * Toggle chiclet by session id ON and toggle OFF all other chiclets. + */ + void setChicletToggleState(const LLUUID& session_id, bool toggle); + protected: LLChicletPanel(const Params&p); friend class LLUICtrlFactory; |