summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloatercontainer.h
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2012-08-06 18:07:56 -0700
committerMerov Linden <merov@lindenlab.com>2012-08-06 18:07:56 -0700
commit25855962a86331a337c4baff2754c63850605aea (patch)
tree1d21598182659a3331674abbad608bc115fce006 /indra/newview/llimfloatercontainer.h
parent02bdceb5808b670fdb16784f11488c12c09e1b4b (diff)
CHUI-98 : Isolate LLConversationItem and LLConversationViewModel in their own file
Diffstat (limited to 'indra/newview/llimfloatercontainer.h')
-rw-r--r--indra/newview/llimfloatercontainer.h164
1 files changed, 1 insertions, 163 deletions
diff --git a/indra/newview/llimfloatercontainer.h b/indra/newview/llimfloatercontainer.h
index 5154b02dd6..161c6d9806 100644
--- a/indra/newview/llimfloatercontainer.h
+++ b/indra/newview/llimfloatercontainer.h
@@ -35,9 +35,7 @@
#include "llmultifloater.h"
#include "llavatarpropertiesprocessor.h"
#include "llgroupmgr.h"
-
-#include "llfolderviewitem.h"
-#include "llfolderviewmodel.h"
+#include "llconversationmodel.h"
class LLButton;
class LLLayoutPanel;
@@ -45,166 +43,6 @@ class LLLayoutStack;
class LLTabContainer;
class LLIMFloaterContainer;
-// CHUI-137 : Temporary implementation of conversations list
-class LLConversationItem;
-
-typedef std::map<LLFloater*, LLConversationItem*> conversations_items_map;
-typedef std::map<LLFloater*, LLFolderViewItem*> conversations_widgets_map;
-
-// Conversation items: we hold a list of those and create an LLFolderViewItem widget for each
-// that we tuck into the mConversationsListPanel.
-class LLConversationItem : public LLFolderViewModelItemCommon
-{
-public:
- LLConversationItem(std::string name, const LLUUID& uuid, LLFloater* floaterp, LLIMFloaterContainer* containerp);
- LLConversationItem(LLIMFloaterContainer* containerp);
- 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 std::string& getSearchableName() const { return mName; }
- virtual const LLUUID& getUUID() const { return mUUID; }
- virtual time_t getCreationDate() const { return 0; }
- 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(std::vector<LLFolderViewModelItem*>& batch) { }
- virtual void move( LLFolderViewModelItem* parent_listener ) { }
- virtual BOOL isItemCopyable() const { return FALSE; }
- virtual BOOL copyToClipboard() const { return FALSE; }
- virtual BOOL cutToClipboard() const { return FALSE; }
- 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 bool potentiallyVisible() { return true; }
- virtual bool filter( LLFolderViewFilter& filter) { return false; }
- virtual bool descendantsPassedFilter(S32 filter_generation = -1) { return true; }
- virtual void setPassedFilter(bool passed, S32 filter_generation, std::string::size_type string_offset = std::string::npos, std::string::size_type string_size = 0) { }
- virtual bool passedFilter(S32 filter_generation = -1) { return true; }
-
- // The action callbacks
- 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);
-
- void setVisibleIfDetached(BOOL visible);
-
- // 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, FALSE otherwise.
- virtual BOOL dragOrDrop(MASK mask, BOOL drop,
- EDragAndDropType cargo_type,
- void* cargo_data,
- std::string& tooltip_msg) { return FALSE; }
-
- bool hasSameValues(std::string name, const LLUUID& uuid) { return ((name == mName) && (uuid == mUUID)); }
- bool hasSameValue(const LLUUID& uuid) { return (uuid == mUUID); }
-private:
- std::string mName;
- const LLUUID mUUID;
- LLFloater* mFloater;
- LLIMFloaterContainer* mContainer;
-};
-
-// We don't want to ever filter conversations but we need to declare that class to create a conversation view model.
-// We just stubb everything for the moment.
-class LLConversationFilter : public LLFolderViewFilter
-{
-public:
-
- enum ESortOrderType
- {
- SO_NAME = 0, // Sort inventory by name
- SO_DATE = 0x1, // Sort inventory by date
- };
-
- LLConversationFilter() { mEmpty = ""; }
- ~LLConversationFilter() {}
-
- bool check(const LLFolderViewModelItem* item) { return true; }
- bool checkFolder(const LLFolderViewModelItem* folder) const { return true; }
- void setEmptyLookupMessage(const std::string& message) { }
- std::string getEmptyLookupMessage() const { return mEmpty; }
- bool showAllResults() const { return true; }
- std::string::size_type getStringMatchOffset(LLFolderViewModelItem* item) const { return std::string::npos; }
- std::string::size_type getFilterStringSize() const { return 0; }
-
- bool isActive() const { return false; }
- bool isModified() const { return false; }
- void clearModified() { }
- const std::string& getName() const { return mEmpty; }
- const std::string& getFilterText() { return mEmpty; }
- void setModified(EFilterModified behavior = FILTER_RESTART) { }
-
- void setFilterCount(S32 count) { }
- S32 getFilterCount() const { return 0; }
- void decrementFilterCount() { }
-
- bool isDefault() const { return true; }
- bool isNotDefault() const { return false; }
- void markDefault() { }
- void resetDefault() { }
-
- S32 getCurrentGeneration() const { return 0; }
- S32 getFirstSuccessGeneration() const { return 0; }
- S32 getFirstRequiredGeneration() const { return 0; }
-private:
- std::string mEmpty;
-};
-
-class LLConversationSort
-{
-public:
- LLConversationSort(U32 order = 0)
- : mSortOrder(order),
- mByDate(false),
- mByName(false)
- {
- mByDate = (order & LLConversationFilter::SO_DATE);
- mByName = (order & LLConversationFilter::SO_NAME);
- }
-
- bool isByDate() const { return mByDate; }
- U32 getSortOrder() const { return mSortOrder; }
-
- bool operator()(const LLConversationItem* const& a, const LLConversationItem* const& b) const;
-private:
- U32 mSortOrder;
- bool mByDate;
- bool mByName;
-};
-
-class LLConversationViewModel
-: public LLFolderViewModel<LLConversationSort, LLConversationItem, LLConversationItem, LLConversationFilter>
-{
-public:
- typedef LLFolderViewModel<LLConversationSort, LLConversationItem, LLConversationItem, LLConversationFilter> base_t;
-
- void sort(LLFolderViewFolder* folder) { } // *TODO : implement conversation sort
- bool contentsReady() { return true; } // *TODO : we need to check that participants names are available somewhat
- bool startDrag(std::vector<LLFolderViewModelItem*>& items) { return false; } // We do not allow drag of conversation items
-
-private:
-};
-
-// CHUI-137 : End
-
class LLIMFloaterContainer
: public LLMultiFloater
, public LLIMSessionObserver