diff options
Diffstat (limited to 'linden/indra/llui/llviewquery.h')
-rw-r--r-- | linden/indra/llui/llviewquery.h | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/linden/indra/llui/llviewquery.h b/linden/indra/llui/llviewquery.h index 9fe51a4..2e2b50d 100644 --- a/linden/indra/llui/llviewquery.h +++ b/linden/indra/llui/llviewquery.h | |||
@@ -12,12 +12,12 @@ | |||
12 | * ("GPL"), unless you have obtained a separate licensing agreement | 12 | * ("GPL"), unless you have obtained a separate licensing agreement |
13 | * ("Other License"), formally executed by you and Linden Lab. Terms of | 13 | * ("Other License"), formally executed by you and Linden Lab. Terms of |
14 | * the GPL can be found in doc/GPL-license.txt in this distribution, or | 14 | * the GPL can be found in doc/GPL-license.txt in this distribution, or |
15 | * online at http://secondlife.com/developers/opensource/gplv2 | 15 | * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 |
16 | * | 16 | * |
17 | * There are special exceptions to the terms and conditions of the GPL as | 17 | * There are special exceptions to the terms and conditions of the GPL as |
18 | * it is applied to this Source Code. View the full text of the exception | 18 | * it is applied to this Source Code. View the full text of the exception |
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | 19 | * in the file doc/FLOSS-exception.txt in this software distribution, or |
20 | * online at http://secondlife.com/developers/opensource/flossexception | 20 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception |
21 | * | 21 | * |
22 | * By copying, modifying or distributing this software, you acknowledge | 22 | * By copying, modifying or distributing this software, you acknowledge |
23 | * that you have read and understood your obligations described above, | 23 | * that you have read and understood your obligations described above, |
@@ -35,6 +35,7 @@ | |||
35 | #include <list> | 35 | #include <list> |
36 | 36 | ||
37 | #include "llmemory.h" | 37 | #include "llmemory.h" |
38 | #include "llui.h" | ||
38 | 39 | ||
39 | class LLView; | 40 | class LLView; |
40 | 41 | ||
@@ -42,35 +43,60 @@ typedef std::list<LLView *> viewList_t; | |||
42 | typedef std::pair<BOOL, BOOL> filterResult_t; | 43 | typedef std::pair<BOOL, BOOL> filterResult_t; |
43 | 44 | ||
44 | // Abstract base class for all filters. | 45 | // Abstract base class for all filters. |
45 | class LLQueryFilter : public LLRefCount | 46 | class LLQueryFilter |
46 | { | 47 | { |
47 | public: | 48 | public: |
49 | virtual ~LLQueryFilter() {}; | ||
48 | virtual filterResult_t operator() (const LLView* const view, const viewList_t & children) const =0; | 50 | virtual filterResult_t operator() (const LLView* const view, const viewList_t & children) const =0; |
49 | }; | 51 | }; |
50 | 52 | ||
51 | class LLQuerySorter : public LLRefCount | 53 | class LLQuerySorter |
52 | { | 54 | { |
53 | public: | 55 | public: |
56 | virtual ~LLQuerySorter() {}; | ||
54 | virtual void operator() (LLView * parent, viewList_t &children) const; | 57 | virtual void operator() (LLView * parent, viewList_t &children) const; |
55 | }; | 58 | }; |
56 | 59 | ||
57 | class LLNoLeavesFilter : public LLQueryFilter, public LLSingleton<LLNoLeavesFilter> | 60 | class LLLeavesFilter : public LLQueryFilter, public LLSingleton<LLLeavesFilter> |
58 | { | 61 | { |
59 | /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const; | 62 | /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const; |
60 | }; | 63 | }; |
64 | |||
65 | class LLRootsFilter : public LLQueryFilter, public LLSingleton<LLRootsFilter> | ||
66 | { | ||
67 | /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const; | ||
68 | }; | ||
69 | |||
61 | class LLVisibleFilter : public LLQueryFilter, public LLSingleton<LLVisibleFilter> | 70 | class LLVisibleFilter : public LLQueryFilter, public LLSingleton<LLVisibleFilter> |
62 | { | 71 | { |
63 | /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const; | 72 | /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const; |
64 | }; | 73 | }; |
74 | |||
65 | class LLEnabledFilter : public LLQueryFilter, public LLSingleton<LLEnabledFilter> | 75 | class LLEnabledFilter : public LLQueryFilter, public LLSingleton<LLEnabledFilter> |
66 | { | 76 | { |
67 | /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const; | 77 | /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const; |
68 | }; | 78 | }; |
79 | |||
69 | class LLTabStopFilter : public LLQueryFilter, public LLSingleton<LLTabStopFilter> | 80 | class LLTabStopFilter : public LLQueryFilter, public LLSingleton<LLTabStopFilter> |
70 | { | 81 | { |
71 | /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const; | 82 | /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const; |
72 | }; | 83 | }; |
73 | 84 | ||
85 | class LLCtrlFilter : public LLQueryFilter, public LLSingleton<LLCtrlFilter> | ||
86 | { | ||
87 | /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const; | ||
88 | }; | ||
89 | |||
90 | class LLWidgetTypeFilter : public LLQueryFilter | ||
91 | { | ||
92 | public: | ||
93 | LLWidgetTypeFilter(EWidgetType type) : mType(type) {}; | ||
94 | private: | ||
95 | /*virtual*/ filterResult_t operator() (const LLView* const view, const viewList_t & children) const; | ||
96 | |||
97 | EWidgetType mType; | ||
98 | }; | ||
99 | |||
74 | // Algorithm for flattening | 100 | // Algorithm for flattening |
75 | class LLViewQuery | 101 | class LLViewQuery |
76 | { | 102 | { |