xref: /aoo42x/main/sc/source/ui/inc/pfiltdlg.hxx (revision 38d50f7b)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef SC_PFILTDLG_HXX
25 #define SC_PFILTDLG_HXX
26 
27 #ifndef _SV_HXX
28 #endif
29 
30 #ifndef _MOREBTN_HXX //autogen
31 #include <vcl/morebtn.hxx>
32 #endif
33 #include <svtools/stdctrl.hxx>
34 #ifndef _BUTTON_HXX //autogen
35 #include <vcl/button.hxx>
36 #endif
37 #ifndef _FIXED_HXX //autogen
38 #include <vcl/fixed.hxx>
39 #endif
40 #ifndef _DIALOG_HXX //autogen
41 #include <vcl/dialog.hxx>
42 #endif
43 #ifndef _LSTBOX_HXX //autogen
44 #include <vcl/lstbox.hxx>
45 #endif
46 #ifndef _COMBOBOX_HXX //autogen
47 #include <vcl/combobox.hxx>
48 #endif
49 #include "address.hxx"
50 #include "queryparam.hxx"
51 
52 //------------------------------------------------------------------
53 
54 class ScViewData;
55 class ScDocument;
56 class ScQueryItem;
57 class TypedScStrCollection;
58 
59 //==================================================================
60 
61 class ScPivotFilterDlg : public ModalDialog
62 {
63 public:
64 					ScPivotFilterDlg( Window* pParent,
65 									  const SfxItemSet&	rArgSet, SCTAB nSourceTab );
66 					~ScPivotFilterDlg();
67 
68 	const ScQueryItem&	GetOutputItem();
69 
70 private:
71     FixedLine       aFlCriteria;
72 	//----------------------------
73 	ListBox			aLbField1;
74 	ListBox			aLbCond1;
75 	ComboBox		aEdVal1;
76 	//----------------------------
77 	ListBox			aLbConnect1;
78 	ListBox			aLbField2;
79 	ListBox			aLbCond2;
80 	ComboBox		aEdVal2;
81 	//----------------------------
82 	ListBox			aLbConnect2;
83 	ListBox			aLbField3;
84 	ListBox			aLbCond3;
85 	ComboBox		aEdVal3;
86 	//----------------------------
87 	FixedText		aFtConnect;
88 	FixedText		aFtField;
89 	FixedText		aFtCond;
90 	FixedText		aFtVal;
91 
92     FixedLine       aFlOptions;
93 	CheckBox		aBtnCase;
94 	CheckBox		aBtnRegExp;
95 	CheckBox		aBtnUnique;
96 	FixedText		aFtDbAreaLabel;
97 	FixedInfo		aFtDbArea;
98 	OKButton		aBtnOk;
99 	CancelButton	aBtnCancel;
100 	HelpButton		aBtnHelp;
101 	MoreButton		aBtnMore;
102 	const String	aStrUndefined;
103 	const String	aStrNoName;
104 	const String	aStrNone;
105 	const String	aStrEmpty;
106 	const String	aStrNotEmpty;
107 	const String	aStrRow;
108 	const String	aStrColumn;
109 
110 	const sal_uInt16		nWhichQuery;
111 	const ScQueryParam	theQueryData;
112 	ScQueryItem*		pOutItem;
113 	ScViewData*			pViewData;
114 	ScDocument*			pDoc;
115 	SCTAB				nSrcTab;
116 
117 	sal_uInt16				nFieldCount;
118 	ComboBox*			aValueEdArr[3];
119 	ListBox*			aFieldLbArr[3];
120 	ListBox*			aCondLbArr[3];
121 
122 	TypedScStrCollection*	pEntryLists[MAXCOLCOUNT];
123 
124 #ifdef _PFILTDLG_CXX
125 private:
126 	void	Init			( const SfxItemSet&	rArgSet );
127 	void	FillFieldLists	();
128 	void	UpdateValueList	( sal_uInt16 nList );
129 	void	ClearValueList	( sal_uInt16 nList );
130 	sal_uInt16	GetFieldSelPos	( SCCOL nField );
131 
132 	// Handler:
133 	DECL_LINK( LbSelectHdl, ListBox* );
134 	DECL_LINK( ValModifyHdl, ComboBox* );
135 	DECL_LINK( CheckBoxHdl,	 CheckBox* );
136 #endif
137 };
138 
139 
140 #endif // SC_PFILTDLG_HXX
141 
142