summaryrefslogtreecommitdiff
path: root/indra/llui/llfolderviewmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui/llfolderviewmodel.cpp')
-rw-r--r--indra/llui/llfolderviewmodel.cpp146
1 files changed, 0 insertions, 146 deletions
diff --git a/indra/llui/llfolderviewmodel.cpp b/indra/llui/llfolderviewmodel.cpp
index a2ac9ffaa0..ea106b5fae 100644
--- a/indra/llui/llfolderviewmodel.cpp
+++ b/indra/llui/llfolderviewmodel.cpp
@@ -29,152 +29,6 @@
#include "llfolderviewmodel.h"
#include "lltrans.h"
-// LLFolderViewModelItemCommon
-
-LLFolderViewModelItemCommon::LLFolderViewModelItemCommon(LLFolderViewModelInterface& root_view_model)
- : mSortVersion(-1),
- mPassedFilter(true),
- mPassedFolderFilter(true),
- mStringMatchOffsetFilter(std::string::npos),
- mStringFilterSize(0),
- mFolderViewItem(NULL),
- mLastFilterGeneration(-1),
- mLastFolderFilterGeneration(-1),
- mMarkedDirtyGeneration(-1),
- mMostFilteredDescendantGeneration(-1),
- mParent(NULL),
- mRootViewModel(root_view_model)
-{
- mChildren.clear(); //???
-}
-
-LLFolderViewModelItemCommon::~LLFolderViewModelItemCommon()
-{
- // Children don't belong to model, but to LLFolderViewItem, just mark them as having no parent
- std::for_each(mChildren.begin(), mChildren.end(), [](LLFolderViewModelItem* c) {c->setParent(NULL); });
- mChildren.clear();
-
- // Don't leave dead pointer in parent
- if (mParent)
- {
- mParent->removeChild(this);
- mParent = NULL;
- }
-}
-
-void LLFolderViewModelItemCommon::dirtyFilter()
-{
- if (mMarkedDirtyGeneration < 0)
- {
- mMarkedDirtyGeneration = mLastFilterGeneration;
- }
- mLastFilterGeneration = -1;
- mLastFolderFilterGeneration = -1;
-
- // bubble up dirty flag all the way to root
- if (mParent)
- {
- mParent->dirtyFilter();
- }
-}
-
-void LLFolderViewModelItemCommon::dirtyDescendantsFilter()
-{
- mMostFilteredDescendantGeneration = -1;
- if (mParent)
- {
- mParent->dirtyDescendantsFilter();
- }
-}
-
-//virtual
-void LLFolderViewModelItemCommon::addChild(LLFolderViewModelItem* child)
-{
- mChildren.push_back(child);
- child->setParent(this);
- dirtyFilter();
- requestSort();
-}
-
-//virtual
-void LLFolderViewModelItemCommon::removeChild(LLFolderViewModelItem* child)
-{
- mChildren.remove(child);
- child->setParent(NULL);
- dirtyDescendantsFilter();
- dirtyFilter();
-}
-
-//virtual
-void LLFolderViewModelItemCommon::clearChildren()
-{
- // As this is cleaning the whole list of children wholesale, we do need to delete the pointed objects
- // This is different and not equivalent to calling removeChild() on each child
- std::for_each(mChildren.begin(), mChildren.end(), DeletePointer());
- mChildren.clear();
- dirtyDescendantsFilter();
- dirtyFilter();
-}
-
-void LLFolderViewModelItemCommon::setPassedFilter(bool passed, S32 filter_generation, std::string::size_type string_offset /*= std::string::npos*/, std::string::size_type string_size /*= 0*/)
-{
- mPassedFilter = passed;
- mLastFilterGeneration = filter_generation;
- mStringMatchOffsetFilter = string_offset;
- mStringFilterSize = string_size;
- mMarkedDirtyGeneration = -1;
-}
-
-void LLFolderViewModelItemCommon::setPassedFolderFilter(bool passed, S32 filter_generation)
-{
- mPassedFolderFilter = passed;
- mLastFolderFilterGeneration = filter_generation;
-}
-
-//virtual
-bool LLFolderViewModelItemCommon::potentiallyVisible()
-{
- return passedFilter() // we've passed the filter
- || (getLastFilterGeneration() < mRootViewModel.getFilter().getFirstSuccessGeneration()) // or we don't know yet
- || descendantsPassedFilter();
-}
-
-//virtual
-bool LLFolderViewModelItemCommon::passedFilter(S32 filter_generation /*= -1*/)
-{
- if (filter_generation < 0)
- {
- filter_generation = mRootViewModel.getFilter().getFirstSuccessGeneration();
- }
- bool passed_folder_filter = mPassedFolderFilter && (mLastFolderFilterGeneration >= filter_generation);
- bool passed_filter = mPassedFilter && (mLastFilterGeneration >= filter_generation);
- return passed_folder_filter && (passed_filter || descendantsPassedFilter(filter_generation));
-}
-
-//virtual
-bool LLFolderViewModelItemCommon::descendantsPassedFilter(S32 filter_generation /*= -1*/)
-{
- if (filter_generation < 0)
- {
- filter_generation = mRootViewModel.getFilter().getFirstSuccessGeneration();
- }
- return mMostFilteredDescendantGeneration >= filter_generation;
-}
-
-// LLFolderViewModelCommon
-
-LLFolderViewModelCommon::LLFolderViewModelCommon()
- : mTargetSortVersion(0),
- mFolderView(NULL)
-{}
-
-//virtual
-void LLFolderViewModelCommon::requestSortAll()
-{
- // sort everything
- mTargetSortVersion++;
-}
-
bool LLFolderViewModelCommon::needsSort(LLFolderViewModelItem* item)
{
return item->getSortVersion() < mTargetSortVersion;