summaryrefslogtreecommitdiff
path: root/indra/llui/llflatlistview.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui/llflatlistview.h')
-rw-r--r--indra/llui/llflatlistview.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/indra/llui/llflatlistview.h b/indra/llui/llflatlistview.h
index f7d094f7e7..6395805aab 100644
--- a/indra/llui/llflatlistview.h
+++ b/indra/llui/llflatlistview.h
@@ -264,9 +264,8 @@ public:
/** Get number of selected items in the list */
U32 numSelected() const {return mSelectedItemPairs.size(); }
- /** Get number of items in the list */
- U32 size() const { return mItemPairs.size(); }
-
+ /** Get number of (visible) items in the list */
+ U32 size(const bool only_visible_items = true) const;
/** Removes all items from the list */
virtual void clear();
@@ -464,20 +463,32 @@ public:
void setNoItemsMsg(const std::string& msg) { mNoItemsMsg = msg; }
void setNoFilteredItemsMsg(const std::string& msg) { mNoFilteredItemsMsg = msg; }
+ /**
+ * Sets up new filter string and filters the list.
+ */
+ void setFilterSubString(const std::string& filter_str);
+
+ /**
+ * Filters the list, rearranges and notifies parent about shape changes.
+ * Derived classes may want to overload rearrangeItems() to exclude repeated separators after filtration.
+ */
+ void filterItems();
+
protected:
LLFlatListViewEx(const Params& p);
/**
* Applies a message for empty list depend on passed argument.
*
- * @param items_filtered - if true message for filtered items will be set, otherwise for
- * completely empty list.
+ * @param filter_string - if is not empty, message for filtered items will be set, otherwise for
+ * completely empty list. Value of filter string will be passed as search_term in SLURL.
*/
- void updateNoItemsMessage(bool items_filtered);
+ void updateNoItemsMessage(const std::string& filter_string);
private:
std::string mNoFilteredItemsMsg;
std::string mNoItemsMsg;
+ std::string mFilterSubString;
};
#endif