diff options
author | Merov Linden <merov@lindenlab.com> | 2012-06-06 19:37:59 -0700 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2012-06-06 19:37:59 -0700 |
commit | 85e553638e51994824683497bd9ccc964c7cc1fc (patch) | |
tree | 28c927f88d425179277a21b5cf9b55cb72f5b053 /indra/newview/llimfloatercontainer.h | |
parent | 30a6da68bcee5b871fd0a18dab703fe20271d83c (diff) |
CHUI-137 : Implement temporary conversations list (not working yet)
Diffstat (limited to 'indra/newview/llimfloatercontainer.h')
-rw-r--r-- | indra/newview/llimfloatercontainer.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/indra/newview/llimfloatercontainer.h b/indra/newview/llimfloatercontainer.h index 92938ff405..5cfdb41ad3 100644 --- a/indra/newview/llimfloatercontainer.h +++ b/indra/newview/llimfloatercontainer.h @@ -35,11 +35,85 @@ #include "llavatarpropertiesprocessor.h" #include "llgroupmgr.h" +#include "llfolderviewitem.h" +#include "llfoldervieweventlistener.h" + class LLButton; class LLLayoutPanel; class LLLayoutStack; class LLTabContainer; +// CHUI-137 : Temporary implementation of conversations list +class LLConversationItem; + +typedef std::list<LLConversationItem> conversations_items_list_t; +typedef std::list<LLFolderViewItem*> conversations_widgets_list_t; + +// Conversation items: we hold a list of those and create an LLFolderViewItem widget for each that we tuck +// into the mConversationsListPanel. +class LLConversationItem : public LLFolderViewEventListener +{ +public: + LLConversationItem(std::string name); + virtual ~LLConversationItem() {} + + // Stub those things we won't really be using in this conversation context + virtual const std::string& getName() const { return mName; } + virtual const std::string& getDisplayName() const { return mName; } + virtual const LLUUID& getUUID() const { return mUUID; } + virtual time_t getCreationDate() const { return 0; } + virtual PermissionMask getPermissionMask() const { return PERM_ALL; } + virtual LLFolderType::EType getPreferredType() const { return LLFolderType::FT_NONE; } + virtual LLPointer<LLUIImage> getIcon() const { return NULL; } + virtual LLPointer<LLUIImage> getOpenIcon() const { return getIcon(); } + virtual LLFontGL::StyleFlags getLabelStyle() const { return LLFontGL::NORMAL; } + virtual std::string getLabelSuffix() const { return LLStringUtil::null; } + virtual BOOL isItemRenameable() const { return FALSE; } + virtual BOOL renameItem(const std::string& new_name) { return FALSE; } + virtual BOOL isItemMovable( void ) const { return FALSE; } + virtual BOOL isItemRemovable( void ) const { return FALSE; } + virtual BOOL isItemInTrash( void) const { return FALSE; } + virtual BOOL removeItem() { return FALSE; } + virtual void removeBatch(LLDynamicArray<LLFolderViewEventListener*>& batch) { } + virtual void move( LLFolderViewEventListener* parent_listener ) { } + virtual BOOL isItemCopyable() const { return FALSE; } + virtual BOOL copyToClipboard() const { return FALSE; } + virtual void cutToClipboard() { } + virtual BOOL isClipboardPasteable() const { return FALSE; } + virtual void pasteFromClipboard() { } + virtual void pasteLinkFromClipboard() { } + virtual void buildContextMenu(LLMenuGL& menu, U32 flags) { } + virtual BOOL isUpToDate() const { return TRUE; } + virtual BOOL hasChildren() const { return FALSE; } + virtual LLInventoryType::EType getInventoryType() const { return LLInventoryType::IT_NONE; } + virtual LLWearableType::EType getWearableType() const { return LLWearableType::WT_NONE; } + + // The action callbacks (or so we think...) + virtual void performAction(LLInventoryModel* model, std::string action); + virtual void openItem( void ); + virtual void closeItem( void ); + virtual void previewItem( void ); + virtual void selectItem(void); + virtual void showProperties(void); + + // This method should be called when a drag begins. returns TRUE + // if the drag can begin, otherwise FALSE. + virtual BOOL startDrag(EDragAndDropType* type, LLUUID* id) const { return FALSE; } + + // This method will be called to determine if a drop can be + // performed, and will set drop to TRUE if a drop is + // requested. Returns TRUE if a drop is possible/happened, + // otherwise FALSE. + virtual BOOL dragOrDrop(MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + std::string& tooltip_msg) { return FALSE; } +private: + std::string mName; + LLUUID mUUID; +}; + // CHUI-137 : End + class LLIMFloaterContainer : public LLMultiFloater { public: @@ -64,6 +138,8 @@ public: virtual void setMinimized(BOOL b); void collapseMessagesPane(bool collapse); + + LLFolderViewItem* createConversationItemWidget(LLConversationItem* item); private: typedef std::map<LLUUID,LLFloater*> avatarID_panel_map_t; @@ -84,6 +160,11 @@ private: LLLayoutPanel* mMessagesPane; LLLayoutPanel* mConversationsPane; LLLayoutStack* mConversationsStack; + + // CHUI-137 : Data + LLPanel* mConversationsListPanel; // The widget we add list item to (title of each conversation) + conversations_items_list_t mConversationsItems; + conversations_widgets_list_t mConversationsWidgets; }; #endif // LL_LLIMFLOATERCONTAINER_H |