LibreOffice Module sc (master) 1
pfiltdlg.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include <vcl/weld.hxx>
23#include <address.hxx>
24#include <queryparam.hxx>
25#include <array>
26#include <memory>
27
28class ScViewData;
29class ScDocument;
30class ScQueryItem;
31class SfxItemSet;
32struct ScFilterEntries;
33
35{
36public:
37 ScPivotFilterDlg(weld::Window* pParent, const SfxItemSet& rArgSet, SCTAB nSourceTab);
38 virtual ~ScPivotFilterDlg() override;
39
41
42private:
43 const OUString aStrNone;
44 const OUString aStrEmpty;
45 const OUString aStrNotEmpty;
46 const OUString aStrColumn;
47
48 const sal_uInt16 nWhichQuery;
50 std::unique_ptr<ScQueryItem> pOutItem;
54
55 std::unique_ptr<weld::ComboBox> m_xLbField1;
56 std::unique_ptr<weld::ComboBox> m_xLbCond1;
57 std::unique_ptr<weld::ComboBox> m_xEdVal1;
58
59 std::unique_ptr<weld::ComboBox> m_xLbConnect1;
60 std::unique_ptr<weld::ComboBox> m_xLbField2;
61 std::unique_ptr<weld::ComboBox> m_xLbCond2;
62 std::unique_ptr<weld::ComboBox> m_xEdVal2;
63
64 std::unique_ptr<weld::ComboBox> m_xLbConnect2;
65 std::unique_ptr<weld::ComboBox> m_xLbField3;
66 std::unique_ptr<weld::ComboBox> m_xLbCond3;
67 std::unique_ptr<weld::ComboBox> m_xEdVal3;
68
69 std::unique_ptr<weld::CheckButton> m_xBtnCase;
70 std::unique_ptr<weld::CheckButton> m_xBtnRegExp;
71 std::unique_ptr<weld::CheckButton> m_xBtnUnique;
72 std::unique_ptr<weld::Label> m_xFtDbArea;
73
77
78 std::array<std::unique_ptr<ScFilterEntries>, MAXCOLCOUNT> m_pEntryLists;
79
80private:
81 void Init ( const SfxItemSet& rArgSet );
82 void FillFieldLists ();
83 void UpdateValueList ( sal_uInt16 nList );
84 void ClearValueList ( sal_uInt16 nList );
85 sal_uInt16 GetFieldSelPos ( SCCOL nField );
86
87 // Handler:
88 DECL_LINK( LbSelectHdl, weld::ComboBox&, void );
89 DECL_LINK( ValModifyHdl, weld::ComboBox&, void );
90 DECL_LINK( CheckBoxHdl, weld::Toggleable&, void );
91};
92
93/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
const SCCOL MAXCOLCOUNT
Definition: address.hxx:63
DECL_LINK(CheckBoxHdl, weld::Toggleable &, void)
void FillFieldLists()
Definition: pfiltdlg.cxx:213
std::array< std::unique_ptr< ScFilterEntries >, MAXCOLCOUNT > m_pEntryLists
Definition: pfiltdlg.hxx:78
std::unique_ptr< weld::CheckButton > m_xBtnCase
Definition: pfiltdlg.hxx:69
const OUString aStrColumn
Definition: pfiltdlg.hxx:46
std::unique_ptr< weld::ComboBox > m_xLbField3
Definition: pfiltdlg.hxx:65
std::unique_ptr< weld::ComboBox > m_xLbCond3
Definition: pfiltdlg.hxx:66
std::unique_ptr< ScQueryItem > pOutItem
Definition: pfiltdlg.hxx:50
std::unique_ptr< weld::CheckButton > m_xBtnUnique
Definition: pfiltdlg.hxx:71
std::unique_ptr< weld::ComboBox > m_xEdVal2
Definition: pfiltdlg.hxx:62
std::unique_ptr< weld::ComboBox > m_xLbField1
Definition: pfiltdlg.hxx:55
DECL_LINK(ValModifyHdl, weld::ComboBox &, void)
void Init(const SfxItemSet &rArgSet)
Definition: pfiltdlg.cxx:74
DECL_LINK(LbSelectHdl, weld::ComboBox &, void)
virtual ~ScPivotFilterDlg() override
Definition: pfiltdlg.cxx:70
sal_uInt16 GetFieldSelPos(SCCOL nField)
Definition: pfiltdlg.cxx:296
const sal_uInt16 nWhichQuery
Definition: pfiltdlg.hxx:48
const OUString aStrNone
Definition: pfiltdlg.hxx:43
void ClearValueList(sal_uInt16 nList)
Definition: pfiltdlg.cxx:284
const ScQueryItem & GetOutputItem()
Definition: pfiltdlg.cxx:304
std::unique_ptr< weld::ComboBox > m_xEdVal3
Definition: pfiltdlg.hxx:67
std::unique_ptr< weld::ComboBox > m_xLbField2
Definition: pfiltdlg.hxx:60
weld::ComboBox * aCondLbArr[3]
Definition: pfiltdlg.hxx:76
weld::ComboBox * aValueEdArr[3]
Definition: pfiltdlg.hxx:74
std::unique_ptr< weld::Label > m_xFtDbArea
Definition: pfiltdlg.hxx:72
std::unique_ptr< weld::ComboBox > m_xLbCond1
Definition: pfiltdlg.hxx:56
void UpdateValueList(sal_uInt16 nList)
Definition: pfiltdlg.cxx:245
const ScQueryParam theQueryData
Definition: pfiltdlg.hxx:49
std::unique_ptr< weld::ComboBox > m_xLbCond2
Definition: pfiltdlg.hxx:61
std::unique_ptr< weld::ComboBox > m_xEdVal1
Definition: pfiltdlg.hxx:57
std::unique_ptr< weld::CheckButton > m_xBtnRegExp
Definition: pfiltdlg.hxx:70
std::unique_ptr< weld::ComboBox > m_xLbConnect1
Definition: pfiltdlg.hxx:59
ScPivotFilterDlg(weld::Window *pParent, const SfxItemSet &rArgSet, SCTAB nSourceTab)
Definition: pfiltdlg.cxx:39
ScViewData * pViewData
Definition: pfiltdlg.hxx:51
ScDocument * pDoc
Definition: pfiltdlg.hxx:52
const OUString aStrEmpty
Definition: pfiltdlg.hxx:44
std::unique_ptr< weld::ComboBox > m_xLbConnect2
Definition: pfiltdlg.hxx:64
const OUString aStrNotEmpty
Definition: pfiltdlg.hxx:45
weld::ComboBox * aFieldLbArr[3]
Definition: pfiltdlg.hxx:75
sal_Int16 SCTAB
Definition: types.hxx:22
sal_Int16 SCCOL
Definition: types.hxx:21