summaryrefslogtreecommitdiff
path: root/indra/llui/llfolderviewmodel.h
diff options
context:
space:
mode:
authorRichard Linden <none@none>2012-08-01 01:27:38 -0700
committerRichard Linden <none@none>2012-08-01 01:27:38 -0700
commit997812c7b04f9edc119006baeb261cf602631978 (patch)
treeec470bc9af3cb207d9e9a504728bda679be673fe /indra/llui/llfolderviewmodel.h
parenta204059d2e69fb33cb1a3c8d2fbed35d3967297c (diff)
parent2855e8bf8e91454e814cdd00985056830d8a8f5b (diff)
merge with ssh://hg.lindenlab.com/richard/viewer-chui
Diffstat (limited to 'indra/llui/llfolderviewmodel.h')
-rw-r--r--indra/llui/llfolderviewmodel.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/indra/llui/llfolderviewmodel.h b/indra/llui/llfolderviewmodel.h
index 81de15923a..3f825a8670 100644
--- a/indra/llui/llfolderviewmodel.h
+++ b/indra/llui/llfolderviewmodel.h
@@ -73,6 +73,8 @@ public:
virtual bool showAllResults() const = 0;
+ virtual std::string::size_type getStringMatchOffset(LLFolderViewModelItem* item) const = 0;
+ virtual std::string::size_type getFilterStringSize() const = 0;
// +-------------------------------------------------------------------+
// + Status
// +-------------------------------------------------------------------+
@@ -173,8 +175,11 @@ public:
virtual void filter( LLFolderViewFilter& filter) = 0;
virtual bool passedFilter(S32 filter_generation = -1) = 0;
virtual bool descendantsPassedFilter(S32 filter_generation = -1) = 0;
- virtual void setPassedFilter(bool passed, bool passed_folder, S32 filter_generation) = 0;
+ virtual void setPassedFilter(bool passed, bool passed_folder, S32 filter_generation, std::string::size_type string_offset = std::string::npos, std::string::size_type string_size = 0) = 0;
virtual void dirtyFilter() = 0;
+ virtual bool hasFilterStringMatch() = 0;
+ virtual std::string::size_type getFilterStringOffset() = 0;
+ virtual std::string::size_type getFilterStringSize() = 0;
virtual S32 getLastFilterGeneration() const = 0;
@@ -210,6 +215,8 @@ public:
: mSortVersion(-1),
mPassedFilter(true),
mPassedFolderFilter(true),
+ mStringMatchOffsetFilter(std::string::npos),
+ mStringFilterSize(0),
mFolderViewItem(NULL),
mLastFilterGeneration(-1),
mMostFilteredDescendantGeneration(-1),
@@ -234,6 +241,10 @@ public:
mParent->dirtyFilter();
}
}
+ bool hasFilterStringMatch() { return mStringMatchOffsetFilter != std::string::npos; }
+ std::string::size_type getFilterStringOffset() { return mStringMatchOffsetFilter; }
+ std::string::size_type getFilterStringSize() { return mStringFilterSize; }
+
virtual void addChild(LLFolderViewModelItem* child)
{
mChildren.push_back(child);
@@ -248,11 +259,13 @@ public:
dirtyFilter();
}
- void setPassedFilter(bool passed, bool passed_folder, S32 filter_generation)
+ void setPassedFilter(bool passed, bool passed_folder, S32 filter_generation, std::string::size_type string_offset, std::string::size_type string_size)
{
mPassedFilter = passed;
mPassedFolderFilter = passed_folder;
mLastFilterGeneration = filter_generation;
+ mStringMatchOffsetFilter = string_offset;
+ mStringFilterSize = string_size;
}
virtual bool potentiallyVisible()
@@ -287,6 +300,8 @@ protected:
S32 mSortVersion;
bool mPassedFilter;
bool mPassedFolderFilter;
+ std::string::size_type mStringMatchOffsetFilter;
+ std::string::size_type mStringFilterSize;
S32 mLastFilterGeneration;
S32 mMostFilteredDescendantGeneration;