From a02b445c39d969fedc554fc2c500b88a27a13906 Mon Sep 17 00:00:00 2001 From: Albert Thuswaldner Date: Tue, 20 Mar 2012 19:38:29 +0100 Subject: fdo#45747 remove the limitation to 3 sort entries in calc part1 --- sc/inc/sortparam.hxx | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'sc/inc/sortparam.hxx') diff --git a/sc/inc/sortparam.hxx b/sc/inc/sortparam.hxx index f1d4e21e9371..5f1fee0c3ae2 100644 --- a/sc/inc/sortparam.hxx +++ b/sc/inc/sortparam.hxx @@ -29,16 +29,27 @@ #ifndef SC_SORTPARAM_HXX #define SC_SORTPARAM_HXX +#define DEFSORT 3 + +#include + #include "address.hxx" #include #include #include "scdllapi.h" -#define MAXSORT 3 - struct ScSubTotalParam; struct ScQueryParam; +struct ScSortKeyState +{ + bool bDoSort; + SCCOLROW nField; + bool bAscending; +}; + +typedef ::std::vector ScSortKeyStateVec; + struct SC_DLLPUBLIC ScSortParam { SCCOL nCol1; @@ -56,13 +67,12 @@ struct SC_DLLPUBLIC ScSortParam SCTAB nDestTab; SCCOL nDestCol; SCROW nDestRow; - bool bDoSort[MAXSORT]; - SCCOLROW nField[MAXSORT]; - bool bAscending[MAXSORT]; + ScSortKeyStateVec maKeyState; ::com::sun::star::lang::Locale aCollatorLocale; ::rtl::OUString aCollatorAlgorithm; sal_uInt16 nCompatHeader; + ScSortParam(); ScSortParam( const ScSortParam& r ); /// SubTotals sort @@ -73,8 +83,9 @@ struct SC_DLLPUBLIC ScSortParam ScSortParam& operator= ( const ScSortParam& r ); bool operator== ( const ScSortParam& rOther ) const; void Clear (); - void MoveToDest(); + + inline sal_uInt16 GetSortKeyCount() const { return maKeyState.size(); } }; -- cgit