tdf#130857 qt weld: Implement QtInstanceWidget::strip_mnemonic
[LibreOffice.git] / sc / source / filter / xml / pivotsource.hxx
blobe94fed8534c618ec35433b350c4633ad3b200dcb
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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 */
10 #pragma once
12 #include <dpshttab.hxx>
13 #include <dpsdbtab.hxx>
14 #include <dpobject.hxx>
16 #include <unordered_map>
17 #include <vector>
19 namespace sc
21 /**
22 * Store pivot table data that need to be post-processed at the end of the
23 * import.
25 struct PivotTableSources
27 typedef std::unordered_map<OUString, OUString> SelectedPagesType;
29 struct SelectedPages
31 ScDPObject* mpDP;
32 SelectedPagesType maSelectedPages;
34 SelectedPages(ScDPObject* pObj, SelectedPagesType&& rSelected);
37 struct SheetSource
39 ScDPObject* mpDP;
40 ScSheetSourceDesc maDesc;
42 SheetSource(ScDPObject* pObj, ScSheetSourceDesc aDesc);
45 struct DBSource
47 ScDPObject* mpDP;
48 ScImportSourceDesc maDesc;
50 DBSource(ScDPObject* pObj, ScImportSourceDesc aDesc);
53 struct ServiceSource
55 ScDPObject* mpDP;
56 ScDPServiceDesc maDesc;
58 ServiceSource(ScDPObject* pObj, ScDPServiceDesc aDesc);
61 std::vector<SelectedPages> maSelectedPagesList;
62 std::vector<SheetSource> maSheetSources;
63 std::vector<DBSource> maDBSources;
64 std::vector<ServiceSource> maServiceSources;
66 PivotTableSources();
68 void appendSheetSource(ScDPObject* pObj, const ScSheetSourceDesc& rDesc);
69 void appendDBSource(ScDPObject* pObj, const ScImportSourceDesc& rDesc);
70 void appendServiceSource(ScDPObject* pObj, const ScDPServiceDesc& rDesc);
72 void appendSelectedPages(ScDPObject* pObj, SelectedPagesType&& rSelected);
74 void process();
78 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */