summaryrefslogtreecommitdiff
path: root/indra/newview/llchiclet.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llchiclet.h')
-rw-r--r--indra/newview/llchiclet.h38
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;