summaryrefslogtreecommitdiff
path: root/indra/llui/llviewquery.h
diff options
context:
space:
mode:
authorJon Wolk <jwolk@lindenlab.com>2007-12-19 00:56:59 +0000
committerJon Wolk <jwolk@lindenlab.com>2007-12-19 00:56:59 +0000
commit7dd08303a3ebf9718c2c60a4d94b81d5d7845f8c (patch)
tree6195a8585cc7998647afcaec2167e728e4abd3c1 /indra/llui/llviewquery.h
parent4d87303e78c1accde85b217b325e0c08930b0c4c (diff)
svn merge -r 75354:76103 svn+ssh://svn.lindenlab.com/svn/linden/branches/voice-group-moderation-3 -> release. Finished product of QAR-134
Diffstat (limited to 'indra/llui/llviewquery.h')
-rw-r--r--indra/llui/llviewquery.h32
1 files changed, 29 insertions, 3 deletions
diff --git a/indra/llui/llviewquery.h b/indra/llui/llviewquery.h
index 3919ba4bcb..63559e8240 100644
--- a/indra/llui/llviewquery.h
+++ b/indra/llui/llviewquery.h
@@ -35,6 +35,7 @@
#include <list>
#include "llmemory.h"
+#include "llui.h"
class LLView;
@@ -42,35 +43,60 @@ typedef std::list<LLView *> viewList_t;
typedef std::pair<BOOL, BOOL> filterResult_t;
// Abstract base class for all filters.
-class LLQueryFilter : public LLRefCount
+class LLQueryFilter
{
public:
+ virtual ~LLQueryFilter() {};
virtual filterResult_t operator() (const LLView* const view, const viewList_t & children) const =0;
};
-class LLQuerySorter : public LLRefCount
+class LLQuerySorter
{
public:
+ virtual ~LLQuerySorter() {};
virtual void operator() (LLView * parent, viewList_t &children) const;
};
-class LLNoLeavesFilter : public LLQueryFilter, public LLSingleton<LLNoLeavesFilter>
+class LLLeavesFilter : public LLQueryFilter, public LLSingleton<LLLeavesFilter>
{
/*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const;
};
+
+class LLRootsFilter : public LLQueryFilter, public LLSingleton<LLRootsFilter>
+{
+ /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const;
+};
+
class LLVisibleFilter : public LLQueryFilter, public LLSingleton<LLVisibleFilter>
{
/*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const;
};
+
class LLEnabledFilter : public LLQueryFilter, public LLSingleton<LLEnabledFilter>
{
/*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const;
};
+
class LLTabStopFilter : public LLQueryFilter, public LLSingleton<LLTabStopFilter>
{
/*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const;
};
+class LLCtrlFilter : public LLQueryFilter, public LLSingleton<LLCtrlFilter>
+{
+ /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const;
+};
+
+class LLWidgetTypeFilter : public LLQueryFilter
+{
+public:
+ LLWidgetTypeFilter(EWidgetType type) : mType(type) {};
+private:
+ /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const;
+
+ EWidgetType mType;
+};
+
// Algorithm for flattening
class LLViewQuery
{