From 933e045422957e15cad47ef925d4f9a852c826b1 Mon Sep 17 00:00:00 2001 From: offtkp Date: Thu, 17 Nov 2022 16:41:42 +0200 Subject: xlsx: Import table column attribute XML_totalsRowFunction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Import table column attribute totalsRowFunction and also export it, which fixes a warning when roundtripped on a different office suite. Change-Id: Icc76fc310aef3bd51bcefebece57f962a56b7cca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142843 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl --- sc/inc/dbdata.hxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'sc/inc/dbdata.hxx') diff --git a/sc/inc/dbdata.hxx b/sc/inc/dbdata.hxx index 0e8d53830e53..482c55bc6aa4 100644 --- a/sc/inc/dbdata.hxx +++ b/sc/inc/dbdata.hxx @@ -43,6 +43,11 @@ enum class ScDBDataPortion AREA ///< entire area }; +struct TableColumnAttributes +{ + std::optional maTotalsFunction = std::nullopt; +}; + /** Container base class to provide selected access for ScDBData. */ class ScDBDataContainerBase { @@ -93,6 +98,7 @@ private: bool bModified; ///< is set/cleared for/by(?) UpdateReference ::std::vector< OUString > maTableColumnNames; ///< names of table columns + ::std::vector< TableColumnAttributes > maTableColumnAttributes; ///< attributes of table columns bool mbTableColumnNamesDirty; SCSIZE nFilteredRowCount; @@ -147,6 +153,8 @@ public: void EndTableColumnNamesListener(); SC_DLLPUBLIC void SetTableColumnNames( ::std::vector< OUString >&& rNames ); SC_DLLPUBLIC const ::std::vector< OUString >& GetTableColumnNames() const { return maTableColumnNames; } + SC_DLLPUBLIC void SetTableColumnAttributes( ::std::vector< TableColumnAttributes >&& rAttributes ); + SC_DLLPUBLIC const ::std::vector< TableColumnAttributes >& GetTableColumnAttributes() const { return maTableColumnAttributes; } bool AreTableColumnNamesDirty() const { return mbTableColumnNamesDirty; } /** Refresh/update the column names with the header row's cell contents. */ @@ -218,7 +226,7 @@ public: private: - void AdjustTableColumnNames( UpdateRefMode eUpdateRefMode, SCCOL nDx, SCCOL nCol1, + void AdjustTableColumnAttributes( UpdateRefMode eUpdateRefMode, SCCOL nDx, SCCOL nCol1, SCCOL nOldCol1, SCCOL nOldCol2, SCCOL nNewCol1, SCCOL nNewCol2 ); void InvalidateTableColumnNames( bool bSwapToEmptyNames ); }; -- cgit