summaryrefslogtreecommitdiff
path: root/indra/newview/llconversationview.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llconversationview.h')
-rwxr-xr-x[-rw-r--r--]indra/newview/llconversationview.h40
1 files changed, 34 insertions, 6 deletions
diff --git a/indra/newview/llconversationview.h b/indra/newview/llconversationview.h
index ec99b2eb9b..3dbc36e811 100644..100755
--- a/indra/newview/llconversationview.h
+++ b/indra/newview/llconversationview.h
@@ -29,6 +29,9 @@
#include "llfolderviewitem.h"
+#include "llbutton.h"
+#include "lloutputmonitorctrl.h"
+
class LLTextBox;
class LLIMFloaterContainer;
class LLConversationViewSession;
@@ -54,7 +57,7 @@ protected:
public:
virtual ~LLConversationViewSession( void ) { }
- virtual void selectItem();
+ virtual void selectItem();
/*virtual*/ BOOL postBuild();
/*virtual*/ void draw();
@@ -75,26 +78,51 @@ private:
class LLConversationViewParticipant : public LLFolderViewItem
{
+
public:
+
struct Params : public LLInitParam::Block<Params, LLFolderViewItem::Params>
{
+ Optional<LLIMFloaterContainer*> container;
Optional<LLUUID> participant_id;
+ Optional<LLButton::Params> info_button;
+ Optional<LLOutputMonitorCtrl::Params> output_monitor;
Params();
};
+ virtual ~LLConversationViewParticipant( void ) { }
+ bool hasSameValue(const LLUUID& uuid) { return (uuid == mUUID); }
+ virtual void refresh();
+ void addToFolder(LLFolderViewFolder* folder);
+
+ void onMouseEnter(S32 x, S32 y, MASK mask);
+ void onMouseLeave(S32 x, S32 y, MASK mask);
+
protected:
friend class LLUICtrlFactory;
LLConversationViewParticipant( const Params& p );
+ void initFromParams(const Params& params);
+ BOOL postBuild();
-public:
- virtual ~LLConversationViewParticipant( void ) { }
-
- bool hasSameValue(const LLUUID& uuid) { return (uuid == mUUID); }
+ void onInfoBtnClick();
- virtual void refresh();
private:
+ LLButton * mInfoBtn;
+ LLOutputMonitorCtrl* mSpeakingIndicator;
LLUUID mUUID; // UUID of the participant
+
+ typedef enum e_avatar_item_child {
+ ALIC_SPEAKER_INDICATOR,
+ ALIC_INFO_BUTTON,
+ ALIC_COUNT,
+ } EAvatarListItemChildIndex;
+
+ static bool sStaticInitialized; // this variable is introduced to improve code readability
+ static S32 sChildrenWidths[ALIC_COUNT];
+ static void initChildrenWidths(LLConversationViewParticipant* self);
+ void computeLabelRightPadding();
+ LLView* getItemChildView(EAvatarListItemChildIndex child_view_index);
};
#endif // LL_LLCONVERSATIONVIEW_H