Files
libreoffice/chart2/source/inc/DataSeriesHelper.hxx
Jens-Heiner Rechtien ed82fa6ad0 CWS-TOOLING: integrate CWS sb102
2008-12-11 16:18:12 +0100 sb  r265332 : #i95065# cleanup, to make Windows linking work
2008-12-11 16:16:03 +0100 sb  r265331 : #i95065# missing SAL_DLLPUBLIC_EXPORT
2008-12-09 17:40:28 +0100 sb  r265122 : #i94469# move CJK specific configuration data to brand layer
2008-12-09 16:09:08 +0100 sb  r265112 : #i96959# use PTHREAD_MUTEX_RECURSIVE on all platforms
2008-12-09 15:54:31 +0100 sb  r265110 : #i95065# do not derive apphelper::LifeTimeGuard from osl::ResettableMutexGuard to avoid problems with VISIBILITY_HIDDEN=TRUE on MSC
2008-12-09 15:40:51 +0100 sb  r265104 : #i95065# add VISIBILITY_HIDDEN=TRUE to connectivity/source/drivers/mozab
2008-12-09 15:36:21 +0100 sb  r265102 : #i95501# updated SDK_HOME
2008-12-09 15:31:46 +0100 sb  r265099 : typo (temppath vs. tmppath)
2008-12-08 11:48:08 +0100 sb  r264979 : #i95065# removed spurious ExplicitCategoriesProvider.obj (ExplicitCategoriesProvider.cxx is not in this directory)
2008-12-07 19:41:07 +0100 sb  r264960 : #i96994# erroneously doubled backslash caused visibility feature to be disabled for all GCC versions on Mac OS X
2008-12-06 23:54:49 +0100 sb  r264948 : changes from trunk that CWS-TOOLING's rebase to DEV300:m37 (r264891) had missed, as files had been moved around on this CWS
2008-12-05 20:29:23 +0100 sb  r264919 : #i85508# versions of flex apparently differ in whether input() resp. yyinput() returns zero or EOF upon end of file
2008-12-05 15:37:23 +0100 sb  r264908 : #i95315# removed obsolete jut
2008-12-05 15:34:59 +0100 sb  r264907 : #i95531# removed empty obsolete directories
2008-12-05 10:09:23 +0100 sb  r264891 : CWS-TOOLING: rebase CWS sb102 to trunk@264807 (milestone: DEV300:m37)
2008-12-04 14:50:20 +0100 sb  r264845 : #i95065# introduced VISIBILITY_HIDDEN makefile flag to reduce duplications; made additional libraries use VISIBILITY_HIDDEN=TRUE to avoid warnings with recent GCC 4 versions (had to split certain code directories to make changes that would otherwise erroneously affect multiple libraries built in the same makefile); changed connectivity::ORefVector to no longer derive from std::vector, as that caused problems with the MSC implementation of VISIBILITY_HIDDEN=TRUE; replaced uses of JNIEXPORT with SAL_DLLPUBLIC_EXPORT, as the former does not expand to visibility attributes on some platforms where the latter does
2008-12-03 11:29:38 +0100 sb  r264759 : #i94583# remove unnecessary (and wrong) assertion check for rtl_getAppCommandArg return value (which is guaranteed to return osl_Process_E_None or not return at all)
2008-12-02 17:18:31 +0100 sb  r264724 : #i96809# silenced GCC 4.3.2 warning
2008-12-02 13:29:34 +0100 sb  r264695 : #i96797# make get_tmp_dir fail less often
2008-11-28 17:19:24 +0100 sb  r264566 : #i95691# inadvertently missing from -c 264564
2008-11-28 17:07:50 +0100 sb  r264564 : #i95691# only structs of exactly 1, 2, 4, or 8 bytes are returned through registers
2008-11-25 13:28:08 +0100 sb  r264291 : #i96427# support for SAL_EXCEPTION_DLLPUBLIC_EXPORT (patch by np)
2008-11-21 14:45:22 +0100 sb  r264140 : #i95428# added SAL_EXCEPTION_DLLPUBLIC_EXPORT and SAL_EXCEPTION_DLLPRIVATE
2008-11-19 13:19:37 +0100 sb  r263984 : #i95525# removed erroneous application/octet-stream svn:mime-type properties
2008-12-30 13:32:01 +00:00

188 lines
7.7 KiB
C++

/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: DataSeriesHelper.hxx,v $
* $Revision: 1.7.24.1 $
*
* This file is part of OpenOffice.org.
*
* 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.
*
* 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).
*
* 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.
*
************************************************************************/
#ifndef CHART2_DATASERIESHELPER_HXX
#define CHART2_DATASERIESHELPER_HXX
#include <com/sun/star/chart2/data/XDataSequence.hpp>
#include <com/sun/star/chart2/data/XDataSource.hpp>
#include <com/sun/star/chart2/XDataSeries.hpp>
#include <com/sun/star/chart2/XDiagram.hpp>
#include <com/sun/star/chart2/XCoordinateSystem.hpp>
#include <com/sun/star/chart2/XChartType.hpp>
#include "StackMode.hxx"
#include "charttoolsdllapi.hxx"
#include <vector>
#include <functional>
namespace chart
{
namespace DataSeriesHelper
{
OOO_DLLPUBLIC_CHARTTOOLS ::rtl::OUString GetRole(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::data::XLabeledDataSequence >& xLabeledDataSequence );
/** Retrieves the data sequence in the given data source that matches the
given role. If more than one sequences match the role, the first match
is returned. If no sequence matches, an empty reference is returned.
@param aSource
The data source containing all data sequences to be searched through.
@param aRole
The role that is to be filtered out.
*/
OOO_DLLPUBLIC_CHARTTOOLS ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XLabeledDataSequence >
getDataSequenceByRole( const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::data::XDataSource > & xSource,
::rtl::OUString aRole,
bool bMatchPrefix = false );
/** Retrieves all data sequences in the given data source that match the given
role.
@param aSource
The data source containing all data sequences to be searched through.
@param aRole
The role that is to be filtered out.
*/
OOO_DLLPUBLIC_CHARTTOOLS ::std::vector<
::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XLabeledDataSequence > >
getAllDataSequencesByRole( const ::com::sun::star::uno::Sequence<
::com::sun::star::uno::Reference<
::com::sun::star::chart2::data::XLabeledDataSequence > > & aDataSequences,
::rtl::OUString aRole,
bool bMatchPrefix = false );
/** Retrieves all data sequences found in the given data series and puts them
into a data source. The order of sequences will match the order of the data
series.
*/
OOO_DLLPUBLIC_CHARTTOOLS ::com::sun::star::uno::Reference<
::com::sun::star::chart2::data::XDataSource >
getDataSource( const ::com::sun::star::uno::Sequence<
::com::sun::star::uno::Reference<
::com::sun::star::chart2::XDataSeries > > & aSeries );
/** Get the label of a series (e.g. for the legend)
@param rLabelSequenceRole
The data sequence contained in xSeries that has this role will be used
to take its label.
*/
OOO_DLLPUBLIC_CHARTTOOLS ::rtl::OUString getDataSeriesLabel(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XDataSeries > & xSeries,
const ::rtl::OUString & rLabelSequenceRole );
/** Get the label of a labeled sequence including neccessary automatic generation
*/
OOO_DLLPUBLIC_CHARTTOOLS ::rtl::OUString getLabelForLabeledDataSequence(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::data::XLabeledDataSequence > & xLabeledSeq );
OOO_DLLPUBLIC_CHARTTOOLS void setStackModeAtSeries(
const ::com::sun::star::uno::Sequence<
::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDataSeries > > & aSeries,
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XCoordinateSystem > & xCorrespondingCoordinateSystem,
StackMode eStackMode );
OOO_DLLPUBLIC_CHARTTOOLS sal_Int32 getAttachedAxisIndex(
const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDataSeries > & xSeries );
/// @param nAxisIndex, if -1 it is determined by the given data series via getAttachedAxisIndex
OOO_DLLPUBLIC_CHARTTOOLS sal_Int32 getNumberFormatKeyFromAxis(
const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDataSeries > & xSeries,
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XCoordinateSystem > & xCorrespondingCoordinateSystem,
sal_Int32 nDimensionIndex,
sal_Int32 nAxisIndex = -1 );
OOO_DLLPUBLIC_CHARTTOOLS
::com::sun::star::uno::Reference< ::com::sun::star::chart2::XCoordinateSystem >
getCoordinateSystemOfSeries(
const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDataSeries > & xSeries,
const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDiagram > & xDiagram );
OOO_DLLPUBLIC_CHARTTOOLS
::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartType >
getChartTypeOfSeries(
const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDataSeries > & xSeries,
const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDiagram > & xDiagram );
OOO_DLLPUBLIC_CHARTTOOLS void deleteSeries(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XDataSeries > & xSeries,
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XChartType > & xChartType );
OOO_DLLPUBLIC_CHARTTOOLS void switchSymbolsOnOrOff(
const ::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySet > & xSeriesProperties,
bool bSymbolsOn, sal_Int32 nSeriesIndex );
OOO_DLLPUBLIC_CHARTTOOLS void switchLinesOnOrOff(
const ::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySet > & xSeriesProperties,
bool bLinesOn );
OOO_DLLPUBLIC_CHARTTOOLS
void makeLinesThickOrThin( const ::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySet > & xSeriesProperties, bool bThick );
OOO_DLLPUBLIC_CHARTTOOLS void setPropertyAlsoToAllAttributedDataPoints(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XDataSeries >& xSeries,
const ::rtl::OUString& rPropertyName,
const ::com::sun::star::uno::Any& rPropertyValue );
OOO_DLLPUBLIC_CHARTTOOLS bool hasAttributedDataPointDifferentValue(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XDataSeries >& xSeries,
const ::rtl::OUString& rPropertyName,
const ::com::sun::star::uno::Any& rPropertyValue );
bool areAllSeriesAttachedToSameAxis(
const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartType >& xChartType,
sal_Int32 & rOutAxisIndex );
} // namespace DataSeriesHelper
} // namespace chart
// CHART2_DATASERIESHELPER_HXX
#endif