2010-10-27 06:43:08 -05:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2001-03-12 09:49:49 -06:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2008-04-10 12:54:53 -05:00
|
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2001-03-12 09:49:49 -06:00
|
|
|
*
|
2010-02-12 08:01:35 -06:00
|
|
|
* Copyright 2000, 2010 Oracle and/or its affiliates.
|
2001-03-12 09:49:49 -06:00
|
|
|
*
|
2008-04-10 12:54:53 -05:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2001-03-12 09:49:49 -06:00
|
|
|
*
|
2008-04-10 12:54:53 -05:00
|
|
|
* This file is part of OpenOffice.org.
|
2001-03-12 09:49:49 -06:00
|
|
|
*
|
2008-04-10 12:54:53 -05:00
|
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
|
|
* only, as published by the Free Software Foundation.
|
2001-03-12 09:49:49 -06:00
|
|
|
*
|
2008-04-10 12:54:53 -05:00
|
|
|
* OpenOffice.org is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU Lesser General Public License version 3 for more details
|
|
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
2001-03-12 09:49:49 -06:00
|
|
|
*
|
2008-04-10 12:54:53 -05:00
|
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
|
|
* <http://www.openoffice.org/license.html>
|
|
|
|
* for a copy of the LGPLv3 License.
|
2001-03-12 09:49:49 -06:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
|
|
|
|
#ifndef SC_SORTPARAM_HXX
|
|
|
|
#define SC_SORTPARAM_HXX
|
|
|
|
|
2004-06-04 04:15:54 -05:00
|
|
|
#include "address.hxx"
|
2001-03-12 09:49:49 -06:00
|
|
|
#include <tools/string.hxx>
|
|
|
|
#include <tools/solar.h>
|
|
|
|
#include <com/sun/star/lang/Locale.hpp>
|
2004-08-23 03:26:33 -05:00
|
|
|
#include "scdllapi.h"
|
2001-03-12 09:49:49 -06:00
|
|
|
|
|
|
|
#define MAXSORT 3
|
|
|
|
|
|
|
|
|
|
|
|
struct ScSubTotalParam;
|
|
|
|
struct ScQueryParam;
|
|
|
|
|
2004-08-23 03:26:33 -05:00
|
|
|
struct SC_DLLPUBLIC ScSortParam
|
2001-03-12 09:49:49 -06:00
|
|
|
{
|
2004-06-04 04:15:54 -05:00
|
|
|
SCCOL nCol1;
|
|
|
|
SCROW nRow1;
|
|
|
|
SCCOL nCol2;
|
|
|
|
SCROW nRow2;
|
2001-03-12 09:49:49 -06:00
|
|
|
BOOL bHasHeader;
|
|
|
|
BOOL bByRow;
|
|
|
|
BOOL bCaseSens;
|
2010-09-15 05:14:58 -05:00
|
|
|
BOOL bNaturalSort;
|
2001-03-12 09:49:49 -06:00
|
|
|
BOOL bUserDef;
|
|
|
|
USHORT nUserIndex;
|
|
|
|
BOOL bIncludePattern;
|
|
|
|
BOOL bInplace;
|
2004-06-04 04:15:54 -05:00
|
|
|
SCTAB nDestTab;
|
|
|
|
SCCOL nDestCol;
|
|
|
|
SCROW nDestRow;
|
2001-03-12 09:49:49 -06:00
|
|
|
BOOL bDoSort[MAXSORT];
|
2004-06-04 04:15:54 -05:00
|
|
|
SCCOLROW nField[MAXSORT];
|
2001-03-12 09:49:49 -06:00
|
|
|
BOOL bAscending[MAXSORT];
|
|
|
|
::com::sun::star::lang::Locale aCollatorLocale;
|
|
|
|
String aCollatorAlgorithm;
|
2007-12-07 03:41:17 -06:00
|
|
|
USHORT nCompatHeader;
|
2001-03-12 09:49:49 -06:00
|
|
|
|
|
|
|
ScSortParam();
|
|
|
|
ScSortParam( const ScSortParam& r );
|
|
|
|
/// SubTotals sort
|
|
|
|
ScSortParam( const ScSubTotalParam& rSub, const ScSortParam& rOld );
|
|
|
|
/// TopTen sort
|
2004-06-04 04:15:54 -05:00
|
|
|
ScSortParam( const ScQueryParam&, SCCOL nCol );
|
2001-03-12 09:49:49 -06:00
|
|
|
|
|
|
|
ScSortParam& operator= ( const ScSortParam& r );
|
|
|
|
BOOL operator== ( const ScSortParam& rOther ) const;
|
|
|
|
void Clear ();
|
|
|
|
|
|
|
|
void MoveToDest();
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // SC_SORTPARAM_HXX
|
2010-10-27 06:43:08 -05:00
|
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|