Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / chart2 / XDataInterpreter.idl
blob9f2d465ae179d8ff1dbc1bae370d3a1409c5b24b
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef com_sun_star_chart2_XDataInterpreter_idl
20 #define com_sun_star_chart2_XDataInterpreter_idl
22 #include <com/sun/star/uno/XInterface.idl>
23 #include <com/sun/star/beans/PropertyValue.idl>
24 #include <com/sun/star/chart2/InterpretedData.idl>
25 #include <com/sun/star/chart2/data/XDataSource.idl>
26 #include <com/sun/star/chart2/XDataSeries.idl>
28 module com
30 module sun
32 module star
34 module chart2
37 /** offers tooling to interpret different data sources in a structural
38 and chart-type-dependent way.
40 interface XDataInterpreter : ::com::sun::star::uno::XInterface
42 /** Interprets the given data.
44 @param xSource
45 the data source.
47 @param aArguments
48 Arguments that tell the template how to slice the given
49 range. The properties should be defined in a separate
50 service.
52 <p>For standard parameters that may be used, see the
53 service StandardDiagramCreationParameters.
54 </p>
56 @param aSeriesToReUse
57 use all the data series given here for the result before
58 creating new ones.
60 InterpretedData interpretDataSource(
61 [in] com::sun::star::chart2::data::XDataSource xSource,
62 [in] sequence< com::sun::star::beans::PropertyValue > aArguments,
63 [in] sequence< XDataSeries > aSeriesToReUse );
65 /** Re-interprets the data given in <code>aInterpretedData</code>
66 while keeping the number of data series and the categories.
68 InterpretedData reinterpretDataSeries( [in] InterpretedData aInterpretedData );
70 /** parses the given data and states, if a
71 reinterpretDataSeries() call can be done
72 without data loss.
74 @return
75 `TRUE`, if the data given in
76 <code>aInterpretedData</code> has a similar structure than
77 the one required is used as output of the data interpreter.
79 boolean isDataCompatible( [in] InterpretedData aInterpretedData );
81 /** Try to reverse the operation done in
82 interpretDataSource().
84 <p>In case <code>aInterpretedData</code> is the result of
85 interpretDataSource()( <code>xSource</code> ),
86 the result of this method should be <code>xSource</code>.</p>
88 com::sun::star::chart2::data::XDataSource mergeInterpretedData( [in] InterpretedData aInterpretedData );
91 } ; // chart2
92 } ; // com
93 } ; // sun
94 } ; // star
97 #endif
99 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */