xref: /AOO41X/main/sc/source/ui/inc/pfiltdlg.hxx (revision 38d50f7b14e1cf975d8c6468d9633894cd59b523)
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