summaryrefslogtreecommitdiff
path: root/indra/llui/llfolderviewitem.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui/llfolderviewitem.h')
-rw-r--r--indra/llui/llfolderviewitem.h31
1 files changed, 16 insertions, 15 deletions
diff --git a/indra/llui/llfolderviewitem.h b/indra/llui/llfolderviewitem.h
index 50d3e0580e..4eda02f13f 100644
--- a/indra/llui/llfolderviewitem.h
+++ b/indra/llui/llfolderviewitem.h
@@ -61,6 +61,7 @@ public:
item_top_pad;
Optional<time_t> creation_date;
+ Optional<bool> allow_open;
Params();
};
@@ -92,30 +93,29 @@ protected:
bool mLabelWidthDirty;
LLFolderViewFolder* mParentFolder;
LLFolderViewModelItem* mViewModelItem;
- BOOL mIsCurSelection;
- BOOL mSelectPending;
LLFontGL::StyleFlags mLabelStyle;
std::string mLabelSuffix;
LLUIImagePtr mIcon;
LLUIImagePtr mIconOpen;
LLUIImagePtr mIconOverlay;
- BOOL mHasVisibleChildren;
S32 mIndentation;
S32 mItemHeight;
S32 mDragStartX,
mDragStartY;
- //TODO RN: create interface for string highlighting
- //std::string::size_type mStringMatchOffset;
F32 mControlLabelRotation;
LLFolderView* mRoot;
- BOOL mDragAndDropTarget;
+ bool mHasVisibleChildren;
+ bool mIsCurSelection;
+ bool mDragAndDropTarget;
bool mIsMouseOverTitle;
+ bool mAllowOpen;
+ bool mSelectPending;
// this is an internal method used for adding items to folders. A
// no-op at this level, but reimplemented in derived classes.
- virtual BOOL addItem(LLFolderViewItem*) { return FALSE; }
- virtual BOOL addFolder(LLFolderViewFolder*) { return FALSE; }
+ virtual void addItem(LLFolderViewItem*) { }
+ virtual void addFolder(LLFolderViewFolder*) { }
static LLFontGL* getLabelFontForStyle(U8 style);
@@ -129,7 +129,7 @@ public:
virtual ~LLFolderViewItem( void );
// addToFolder() returns TRUE if it succeeds. FALSE otherwise
- virtual BOOL addToFolder(LLFolderViewFolder* folder);
+ virtual void addToFolder(LLFolderViewFolder* folder);
// Finds width and height of this object and it's children. Also
// makes sure that this view and it's children are the right size.
@@ -295,7 +295,7 @@ public:
LLFolderViewItem* getPreviousFromChild( LLFolderViewItem*, BOOL include_children = TRUE );
// addToFolder() returns TRUE if it succeeds. FALSE otherwise
- virtual BOOL addToFolder(LLFolderViewFolder* folder);
+ virtual void addToFolder(LLFolderViewFolder* folder);
// Finds width and height of this object and it's children. Also
// makes sure that this view and it's children are the right size.
@@ -354,8 +354,6 @@ public:
// Called when a child is refreshed.
virtual void requestArrange();
- virtual void requestSort();
-
// internal method which doesn't update the entire view. This
// method was written because the list iterators destroy the state
// of other iterations, thus, we can't arrange while iterating
@@ -379,8 +377,6 @@ public:
void applyFunctorToChildren(LLFolderViewFunctor& functor);
virtual void openItem( void );
- virtual BOOL addItem(LLFolderViewItem* item);
- virtual BOOL addFolder( LLFolderViewFolder* folder);
// LLView functionality
virtual BOOL handleHover(S32 x, S32 y, MASK mask);
@@ -410,7 +406,12 @@ public:
LLFolderViewFolder* getCommonAncestor(LLFolderViewItem* item_a, LLFolderViewItem* item_b, bool& reverse);
void gatherChildRangeExclusive(LLFolderViewItem* start, LLFolderViewItem* end, bool reverse, std::vector<LLFolderViewItem*>& items);
-public:
+ // internal functions for tracking folders and items separately
+ // use addToFolder() virtual method to ensure folders are always added to mFolders
+ // and not mItems
+ void addItem(LLFolderViewItem* item);
+ void addFolder( LLFolderViewFolder* folder);
+
//WARNING: do not call directly...use the appropriate LLFolderViewModel-derived class instead
template<typename SORT_FUNC> void sortFolders(const SORT_FUNC& func) { mFolders.sort(func); }
template<typename SORT_FUNC> void sortItems(const SORT_FUNC& func) { mItems.sort(func); }