1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef com_sun_star_chart2_data_TabularDataProviderArguments_idl
24cdf0e10cSrcweir#define com_sun_star_chart2_data_TabularDataProviderArguments_idl
25cdf0e10cSrcweir
26cdf0e10cSrcweir#include <com/sun/star/chart/ChartDataRowSource.idl>
27cdf0e10cSrcweir
28cdf0e10cSrcweirmodule com
29cdf0e10cSrcweir{
30cdf0e10cSrcweirmodule sun
31cdf0e10cSrcweir{
32cdf0e10cSrcweirmodule star
33cdf0e10cSrcweir{
34cdf0e10cSrcweirmodule chart2
35cdf0e10cSrcweir{
36cdf0e10cSrcweirmodule data
37cdf0e10cSrcweir{
38cdf0e10cSrcweir
39cdf0e10cSrcweir/**
40cdf0e10cSrcweir  */
41cdf0e10cSrcweirservice TabularDataProviderArguments
42cdf0e10cSrcweir{
43cdf0e10cSrcweir    /** the range address string spanning all data.
44cdf0e10cSrcweir
45cdf0e10cSrcweir        <p>The range adress string must be interpretable by the
46cdf0e10cSrcweir        component that implements <type>XDataProvider</type> and gets
47cdf0e10cSrcweir        this property as argument to
48cdf0e10cSrcweir        <member>XDataProvider::detectArguments</member>.</p>
49cdf0e10cSrcweir
50cdf0e10cSrcweir        <p>The representation string is of a form that may be used in the
51cdf0e10cSrcweir        user interface.  Example for OOo Calc: "$Sheet1.$A$1:$D$7",
52cdf0e10cSrcweir        example for OOo Writer: "&lt;Table1.A1:D7&gt;".</p>
53cdf0e10cSrcweir
54cdf0e10cSrcweir        <p>When used as input, this range will be split in columns or
55cdf0e10cSrcweir        rows depending on the property
56cdf0e10cSrcweir        <member>DataRowSource</member>.</p>
57cdf0e10cSrcweir
58cdf0e10cSrcweir        <p>When used as output of
59cdf0e10cSrcweir        <member>XDataProvider::detectArguments</member> this is the
60cdf0e10cSrcweir        range that spans the ranges of all given
61cdf0e10cSrcweir        <type>XDataSequence</type>s.  If the result is ambiguous,
62cdf0e10cSrcweir        i.e., a splitting of this range would not yield the same
63cdf0e10cSrcweir        result, this property should be empty.  The latter is the
64cdf0e10cSrcweir        case, when ranges are overlapping, the lengths of sequences
65cdf0e10cSrcweir        are not equal or even if the order of two sequences is swapped
66cdf0e10cSrcweir        (e.g. data comes from column A, C, B).</p>
67cdf0e10cSrcweir     */
68cdf0e10cSrcweir    [property]   string                                        CellRangeRepresentation;
69cdf0e10cSrcweir
70cdf0e10cSrcweir    /** determines, whether data sequences are created out of columns
71cdf0e10cSrcweir        or rows in a table.
72cdf0e10cSrcweir
73cdf0e10cSrcweir        <p>If this property is not given as argument it is assumed to
74cdf0e10cSrcweir        <member scope="com::sun::star::chart">ChartDataRowSource::COLUMNS</member>,
75cdf0e10cSrcweir        i.e., the default is "take data from columns".</p>
76cdf0e10cSrcweir     */
77cdf0e10cSrcweir    [property]   ::com::sun::star::chart::ChartDataRowSource   DataRowSource;
78cdf0e10cSrcweir
79cdf0e10cSrcweir    /** If data comes from columns, the first row will provide the
80cdf0e10cSrcweir        labels for all sequences, if data comes from rows, the first
81cdf0e10cSrcweir        column will provide the labels for all sequences.
82cdf0e10cSrcweir
83cdf0e10cSrcweir        <p>Even if this property is false, the
84cdf0e10cSrcweir        <type>XLabeledDataSequence</type> may contain a label, but
85cdf0e10cSrcweir        this will not be the first cell of the selection.  It may be a
86cdf0e10cSrcweir        generic string like "Column C".</p>
87cdf0e10cSrcweir
88cdf0e10cSrcweir        <p>If this property is not given as argument it is assumed to
89cdf0e10cSrcweir        be <FALSE/>, i.e., the default is "no labels".</p>
90cdf0e10cSrcweir     */
91cdf0e10cSrcweir    [property]   boolean                                       FirstCellAsLabel;
92cdf0e10cSrcweir
93cdf0e10cSrcweir    /** determines the order of the created labeled sequences
94cdf0e10cSrcweir
95cdf0e10cSrcweir        <p>For example a SequenceMapping of [3,0,2,1] indicates that
96cdf0e10cSrcweir        the sequence from old position '3' should now be the first one.
97cdf0e10cSrcweir        Then comes the sequence from old position '0'. Then that one
98cdf0e10cSrcweir        from old position '2' and then the sequence from old position '1'.</p>
99cdf0e10cSrcweir
100cdf0e10cSrcweir        <p>If the SequenceMapping contains invalid indexes just
101cdf0e10cSrcweir        ignore those single indexes. For example if you only have three
102cdf0e10cSrcweir        labeled sequences and a SequenceMapping [2,5,1,0], you should
103cdf0e10cSrcweir        ignore the '5' and continue to place the sequence from
104cdf0e10cSrcweir        old index '1' to the next new position and so on.</p>
105cdf0e10cSrcweir
106cdf0e10cSrcweir        <p>If the given SequenceMapping does not cover all exsisting
107cdf0e10cSrcweir        labeled sequences just put the remaining sequences in old order
108cdf0e10cSrcweir        behind the others. For example you have 4 sequences and a
109cdf0e10cSrcweir        SequenceMapping [3,1]. The result should be a as if [3,1,0,2]
110cdf0e10cSrcweir        was given.</p>
111cdf0e10cSrcweir     */
112cdf0e10cSrcweir    [property]   sequence< long >                              SequenceMapping;
113cdf0e10cSrcweir
114cdf0e10cSrcweir    /** If <FALSE/> the data provider may create a data sequence
115cdf0e10cSrcweir        containing generated categories that fit the rest of the data,
116cdf0e10cSrcweir        like e.g. "Row 12", "Row 13", etc.
117cdf0e10cSrcweir
118cdf0e10cSrcweir        <p>This property is not relevant for the splitting up of the
119cdf0e10cSrcweir        data.  It just indicates, if the chart wants to use part of
120cdf0e10cSrcweir        the data as categories, so that generic categories can be
121cdf0e10cSrcweir        returned if it doesn't.</p>
122cdf0e10cSrcweir
123cdf0e10cSrcweir        <p>The generic category labeled sequence returned should be
124cdf0e10cSrcweir        the first one in the returned <type>XDataSource</type>. It
125cdf0e10cSrcweir        needs no label. The values should have their role set to
126cdf0e10cSrcweir        "categories".  The generic strings returned should also be
127cdf0e10cSrcweir        localized.</p>
128cdf0e10cSrcweir     */
129cdf0e10cSrcweir    [optional, property] boolean                               HasCategories;
130cdf0e10cSrcweir
131cdf0e10cSrcweir    /** This property is for providing proprietary table indexes for
132cdf0e10cSrcweir        each table appearing in a range given in
133cdf0e10cSrcweir        CellRangeRepresentation.
134cdf0e10cSrcweir
135cdf0e10cSrcweir        @deprecated
136cdf0e10cSrcweir
137cdf0e10cSrcweir        <p>This argument is supported by Spreadsheets in order to be
138cdf0e10cSrcweir        able to export a document into the StarOffice 5.0 binary
139cdf0e10cSrcweir        format.</p>
140cdf0e10cSrcweir
141cdf0e10cSrcweir        <p>Example: If you have the sheets (Sheet1, Sheet2, Sheet3) in
142cdf0e10cSrcweir        your document and a chart uses the range
143cdf0e10cSrcweir        "Sheet2.A1:.A5 Sheet3.A1:.A5 Sheet2.B1:.B5 Sheet1:B1:.B5", your
144cdf0e10cSrcweir        TableNumberList would be "1 2 1 0".  A simple range like
145cdf0e10cSrcweir        "Sheet1.A1:.E4" would have the TableNumberList in "0"</p>.
146cdf0e10cSrcweir     */
147cdf0e10cSrcweir    [optional, property] string                               TableNumberList;
148cdf0e10cSrcweir};
149cdf0e10cSrcweir
150cdf0e10cSrcweir} ; // data
151cdf0e10cSrcweir} ; // chart2
152cdf0e10cSrcweir} ; // com
153cdf0e10cSrcweir} ; // sun
154cdf0e10cSrcweir} ; // star
155cdf0e10cSrcweir
156cdf0e10cSrcweir
157cdf0e10cSrcweir#endif
158