diff options
Diffstat (limited to 'offapi/com/sun/star/chart2/XChartTypeTemplate.idl')
-rw-r--r-- | offapi/com/sun/star/chart2/XChartTypeTemplate.idl | 240 |
1 files changed, 240 insertions, 0 deletions
diff --git a/offapi/com/sun/star/chart2/XChartTypeTemplate.idl b/offapi/com/sun/star/chart2/XChartTypeTemplate.idl new file mode 100644 index 000000000000..05308ba7dfcf --- /dev/null +++ b/offapi/com/sun/star/chart2/XChartTypeTemplate.idl @@ -0,0 +1,240 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * 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 com_sun_star_chart_XChartTypeTemplate_idl +#define com_sun_star_chart_XChartTypeTemplate_idl + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#include <com/sun/star/chart2/XDiagram.idl> +#include <com/sun/star/chart2/data/XDataSource.idl> +#include <com/sun/star/chart2/XChartType.idl> +#include <com/sun/star/chart2/XDataInterpreter.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ + +interface XChartTypeTemplate : ::com::sun::star::uno::XInterface +{ + /** Creates a new diagram based upon the given data . + + @param xDataSource + This data source will be interpreted in a chart-type + specific way and appropriate <type>DataSeries</type> will + be created which serve as input for the new diagram. + + @param aArguments + Arguments that tell the template how to slice the given + range. The properties should be defined in a separate + service. + + <p>For standard parameters that may be used, see the + service <type>StandardDiagramCreationParameters</type>. + </p> + + @return + The new diagram which represents this + <type>ChartTypeTemplate</type>. + */ + XDiagram createDiagramByDataSource( + [in] data::XDataSource xDataSource, + [in] sequence< com::sun::star::beans::PropertyValue > aArguments ); + + /** @return + <TRUE/> if the template does support categories + */ + boolean supportsCategories(); + + /** Analyses the given diagram and reinterprets its + <type>DataSeries</type> and <type>Categories</type> and + creates a new diagram based on these series. + + <p>Note, that if <member>matchesTemplate</member> returns + <TRUE/> for the given <type>XDiagram</type>, the latter should + not be changed.</p> + + @param xDiagram + The diagram given will be modified such that it represents + this <type>ChartTypeTemplate</type>. + */ + void changeDiagram( [in] XDiagram xDiagram ); + + /** Changes the given diagram <code>xDiagram</code> by using the + new data given in <code>xDataSource</code>. + + <p>Note that the data is interpreted in a way that fits this + template, but not necessarily the chart-types of the diagram. + This method should only be called if the data-format of the + diagram is compatible with the data-format of this + template.</p> + + <p>Ideally a <member>matchesTemplate</member> call for the + given diagram should return <TRUE/> before this method is + called.</p> + + @param xDataSource + This data source will be interpreted in a chart-type + specific way and the <type>DataSeries</type> found in + <code>xDiagram</code> will be adapted to the new data. + Missing data series will be created and unused ones will + be deleted in <code>xDiagram</code>. + + @param aArguments + Arguments that tell the template how to slice the given + range. The properties should be defined in a separate + service. + + <p>For standard parameters that may be used, see the + service <type>StandardDiagramCreationParameters</type>. + </p> + */ + void changeDiagramData( + [in] XDiagram xDiagram, + [in] data::XDataSource xDataSource, + [in] sequence< com::sun::star::beans::PropertyValue > aArguments ); + + /** States whether the given diagram could have been created by + the template. + + <p>The template will parse the <type>DataSeriesTree</type> of + the diagram to determine if the structure matches the one + which would have been created by + <member>createDiagramByDataSource</member>.</p> + + <p>For analysis all parts of the diagram may be used, + e.g. also properties set at the data series (like symbols)./p> + + @param xDiagram + The diagram to be analyzed. + + @param bAdaptProperties + If <TRUE/> the properties of the template are set, such + that the template matches more accurately. E.g. for a + line-chart with symbols the property "Symbol" would be set + to <TRUE/>. If this parameter is <FALSE/> the template + itselfs stays unmodified. + + @return + <TRUE/> if the diagram given is structurally identical to + a diagram that was created using + <member>createDiagramByDataSource</member> or + <member>changeDiagram</member>. If <FALSE/> is returned + the template stays unmodified even if + <code>bAdaptProperties</code> is <TRUE/>. + */ + boolean matchesTemplate( [in] XDiagram xDiagram, + [in] boolean bAdaptProperties ); + + /** Provides a chart type object that can be used to create new + series. + + @param aFormerlyUsedChartTypes + The list can be used to copy some aspects from old charttypes during the creation of a new chart type. + The list might be empty. + */ + XChartType getChartTypeForNewSeries( [in] sequence< XChartType > aFormerlyUsedChartTypes ); + + /** + */ + XDataInterpreter getDataInterpreter(); + + /** Applies default styles to the given XDataSeries. + + The default implementation assigns the system-wide chart-color defaults + as "Color" property to all series. + + @param nIndex + The index of the series. This is used to obtain a default style + (e.g. color) for the nth series. + */ +// void applyDefaultStyle( [in] XDataSeries xSeries, +// [in] long nSeriesIndex ); + + /** Applies a chart-type specific style (e.g. symbols) to all series in the + sequence aSeries. + + @param xSeries + a single data series to which a style will be applied + + @param nChartTypeGroupIndex + Denotes in which chart-type group the series lies, such this method + can apply different styles for different chart-type groups + + @param nSeriesIndex + The index of the series inside the current chart-type group. + nSeriesIndex does not uniquely identify a data series alone, but + only together with nChartTypeGroupIndex + + @param nSeriesCount + The number of series in the current chart-type group. + + @todo In the future, this should only change the "Style" property and no + hard attributes. + */ + void applyStyle( [in] XDataSeries xSeries, + [in] long nChartTypeGroupIndex, + [in] long nSeriesIndex, + [in] long nSeriesCount ); + + /** Resets all styles that were changed from the default at any + object in the chart and have not been later modified. + + <p>In <member>createDiagramByDataSource</member> or + <member>changeDiagram</member> a template might e.g. change + the page background color or the line style of all data + series. This method should reset all objects that still have + the changed settings to the default.</p> + + <p>If for example the template changed the + <type scope="com::sun::star::drawing">LineStyle</type> of all + series to NONE, this method should reset all series with + LineStyle NONE back to SOLID. If a series has a style DASH, + it must not be changed.</p> + */ + void resetStyles( [in] XDiagram xDiagram ); +}; + +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif |