| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the 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 |