1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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/.
15 struct SC_DLLPUBLIC ScSubTotalParam
17 SCCOL nCol1
; ///< selected area
21 sal_uInt16 nUserIndex
; ///< index into list
23 bool bReplace
:1; ///< replace existing results
24 bool bPagebreak
:1; ///< page break at change of group
26 bool bDoSort
:1; ///< presort
27 bool bAscending
:1; ///< sort ascending
28 bool bUserDef
:1; ///< sort user defined
29 bool bIncludePattern
:1; ///< sort formats
30 bool bGroupActive
[MAXSUBTOTAL
]; ///< active groups
31 SCCOL nField
[MAXSUBTOTAL
]; ///< associated field
32 SCCOL nSubTotals
[MAXSUBTOTAL
]; ///< number of SubTotals
33 std::unique_ptr
<SCCOL
[]> pSubTotals
[MAXSUBTOTAL
]; ///< array of columns to be calculated
34 std::unique_ptr
<ScSubTotalFunc
[]> pFunctions
[MAXSUBTOTAL
]; ///< array of associated functions
37 ScSubTotalParam( const ScSubTotalParam
& r
);
39 ScSubTotalParam
& operator= ( const ScSubTotalParam
& r
);
40 bool operator== ( const ScSubTotalParam
& r
) const;
42 void SetSubTotals( sal_uInt16 nGroup
,
43 const SCCOL
* ptrSubTotals
,
44 const ScSubTotalFunc
* ptrFunctions
,
48 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */