diff options
-rw-r--r-- | offapi/com/sun/star/chart2/data/XDataProvider.idl | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/offapi/com/sun/star/chart2/data/XDataProvider.idl b/offapi/com/sun/star/chart2/data/XDataProvider.idl new file mode 100644 index 000000000000..f7bc2dacc231 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDataProvider.idl @@ -0,0 +1,159 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDataProvider.idl,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: vg $ $Date: 2007-05-22 15:08:15 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +#ifndef com_sun_star_chart2_data_XDataProvider_idl +#define com_sun_star_chart2_data_XDataProvider_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/chart2/data/XDataSource.idl> + +#include <com/sun/star/beans/PropertyValue.idl> + +#include <com/sun/star/sheet/XRangeSelection.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** An application that provides data for a chart must implement this + interface. + */ +interface XDataProvider : ::com::sun::star::uno::XInterface +{ + /** Creates a data source object that matches the given range + representation string. + + <p>This can be used for creating the necessary data for a new + chart out of a previously selected range of cells in a + spreadsheet.</p> + + @param aArguments + Arguments that tell the data provider how to slice the + given range. The properties should be defined in a + separate service. + + <p>For spreadsheets and textdocument tables there exists a + service <type>TabularDataProviderArguments</type> + describing valid values for this list.</p> + + @return + a data source containing <type>DataSequence</type>s that + span the entire region given in <code>aArguments</code>. + + @throws ::com::sun::star::lang::IllegalArgumentException + may be raised by the <type>XDataProvider</type> if it is + unable to interpret the arguments passed in + <code>aArguments</code> appropriately. + */ + XDataSource createDataSource( // createDataByRangeRepresentation + [in] sequence< com::sun::star::beans::PropertyValue > aArguments ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Tries to find out with what parameters the passed + <type>DataSource</type> most probably was created. + + <p>if xDataSource is a data source that was created with + <member>createDataSource</member>, the arguments returned here + should be the same than the ones passed to the function. + Of course, this cannot be guaranteed. However, if detection + is ambiguous, the returned arguments should be empty. </p> + + <p>This method may merge representation strings together if + adjacent ranges appear successively in the range identifiers. + E.g., if the first range refers to "$Sheet1.$A$1:$A$8" and the + second range refers to "$Sheet1.$B$1:$B$8", those should be + merged together to "$Sheet1.$A$1:$B$8".</p> + + @param xDataSource + A data source containing all data used in a chart. + + @return + Arguments that when being passed to + <member>createDataSource</member> should in an ideal case + return the same data source as <code>xDataSource</code>. + */ + sequence< com::sun::star::beans::PropertyValue > detectArguments( + [in] XDataSource xDataSource ); + + /** creates a single data sequence for the given data range. + + @param aRangeRepresentation + is a string that can be interpreted by the component that + implements this interface. The representation string is + of a form that may be used in the user interface. + + @see createDataSource + + @throw com::sun::star::lang::IllegalArgumentException + if the given range does not contain a valid range + representation for a one-dimensional range of data. + */ + XDataSequence createDataSequenceByRangeRepresentation( + [in] string aRangeRepresentation ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Returns a component that is able to change a given range + representation to another one. This usually is a + controller-component that uses the GUI to allow a user to + select a new range. + + <p>This method may return nothing, if it does not support + range selection or if there is no current controller available + that offers the functionality.</p> + + @return + The component for selecting a new range. It must support + <type>XComponent</type>, in order to inform the receiver + about its lifetime.</p> + */ + com::sun::star::sheet::XRangeSelection getRangeSelection(); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif |