26c08356d1
With this option we can set where the summary rows should appear, above or below the datas when we create a new Subtotal area. The default option is "True" (which means the summary rows are below the datas) when we create a new subtotal area. Unless if we already have one subtotal area on the same sheet, in that case the sheet level property, "TotalsRowBelow" contains where should the summary rows be for the new Subtotal's. TODO: add new ODF xml attribute for Summary below Change-Id: Icf86c85041d75c24919cb528846d5bb2b517ca78 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175556 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
49 lines
2.1 KiB
C++
49 lines
2.1 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "global.hxx"
|
|
#include <memory>
|
|
|
|
struct SC_DLLPUBLIC ScSubTotalParam
|
|
{
|
|
SCCOL nCol1; ///< selected area
|
|
SCROW nRow1;
|
|
SCCOL nCol2;
|
|
SCROW nRow2;
|
|
sal_uInt16 nUserIndex; ///< index into list
|
|
bool bRemoveOnly:1;
|
|
bool bReplace:1; ///< replace existing results
|
|
bool bPagebreak:1; ///< page break at change of group
|
|
bool bCaseSens:1;
|
|
bool bDoSort:1; ///< presort
|
|
bool bSummaryBelow:1; ///< Summary below or above (default: below)
|
|
bool bAscending:1; ///< sort ascending
|
|
bool bUserDef:1; ///< sort user defined
|
|
bool bIncludePattern:1; ///< sort formats
|
|
bool bGroupActive[MAXSUBTOTAL]; ///< active groups
|
|
SCCOL nField[MAXSUBTOTAL]; ///< associated field
|
|
SCCOL nSubTotals[MAXSUBTOTAL]; ///< number of SubTotals
|
|
std::unique_ptr<SCCOL[]> pSubTotals[MAXSUBTOTAL]; ///< array of columns to be calculated
|
|
std::unique_ptr<ScSubTotalFunc[]> pFunctions[MAXSUBTOTAL]; ///< array of associated functions
|
|
|
|
ScSubTotalParam();
|
|
ScSubTotalParam( const ScSubTotalParam& r );
|
|
|
|
ScSubTotalParam& operator= ( const ScSubTotalParam& r );
|
|
bool operator== ( const ScSubTotalParam& r ) const;
|
|
void Clear();
|
|
void SetSubTotals( sal_uInt16 nGroup,
|
|
const SCCOL* ptrSubTotals,
|
|
const ScSubTotalFunc* ptrFunctions,
|
|
sal_uInt16 nCount );
|
|
};
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|