1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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_data_TabularDataProviderArguments_idl
20 #define com_sun_star_chart2_data_TabularDataProviderArguments_idl
22 #include
<com
/sun
/star
/chart
/ChartDataRowSource.idl
>
37 service TabularDataProviderArguments
39 /** the range address string spanning all data.
41 <p>The range address string must be interpretable by the
42 component that implements XDataProvider and gets
43 this property as argument to
44 XDataProvider::detectArguments().</p>
46 <p>The representation string is of a form that may be used in the
47 user interface. Example for OOo Calc: "$Sheet1.$A$1:$D$7",
48 example for OOo Writer: "<Table1.A1:D7>".</p>
50 <p>When used as input, this range will be split in columns or
51 rows depending on the property
54 <p>When used as output of
55 XDataProvider::detectArguments() this is the
56 range that spans the ranges of all given
57 XDataSequences. If the result is ambiguous,
58 i.e., a splitting of this range would not yield the same
59 result, this property should be empty. The latter is the
60 case, when ranges are overlapping, the lengths of sequences
61 are not equal or even if the order of two sequences is swapped
62 (e.g. data comes from column A, C, B).</p>
64 [property
] string CellRangeRepresentation
;
66 /** determines, whether data sequences are created out of columns
69 <p>If this property is not given as argument it is assumed to
70 com::sun::star::chart::ChartDataRowSource::COLUMNS,
71 i.e., the default is "take data from columns".</p>
73 [property
] ::com
::sun
::star
::chart
::ChartDataRowSource DataRowSource
;
75 /** If data comes from columns, the first row will provide the
76 labels for all sequences, if data comes from rows, the first
77 column will provide the labels for all sequences.
79 <p>Even if this property is false, the
80 XLabeledDataSequence may contain a label, but
81 this will not be the first cell of the selection. It may be a
82 generic string like "Column C".</p>
84 <p>If this property is not given as argument it is assumed to
85 be `FALSE`, i.e., the default is "no labels".</p>
87 [property
] boolean FirstCellAsLabel
;
89 /** determines the order of the created labeled sequences
91 <p>For example a SequenceMapping of [3,0,2,1] indicates that
92 the sequence from old position "3" should now be the first one.
93 Then comes the sequence from old position "0". Then that one
94 from old position "2" and then the sequence from old position "1".</p>
96 <p>If the SequenceMapping contains invalid indexes just
97 ignore those single indexes. For example if you only have three
98 labeled sequences and a SequenceMapping [2,5,1,0], you should
99 ignore the "5" and continue to place the sequence from
100 old index "1" to the next new position and so on.</p>
102 <p>If the given SequenceMapping does not cover all existing
103 labeled sequences just put the remaining sequences in old order
104 behind the others. For example you have 4 sequences and a
105 SequenceMapping [3,1]. The result should be a as if [3,1,0,2]
108 [property
] sequence
< long > SequenceMapping
;
110 /** If `FALSE` the data provider may create a data sequence
111 containing generated categories that fit the rest of the data,
112 like e.g. "Row 12", "Row 13", etc.
114 <p>This property is not relevant for the splitting up of the
115 data. It just indicates, if the chart wants to use part of
116 the data as categories, so that generic categories can be
117 returned if it doesn't.</p>
119 <p>The generic category labeled sequence returned should be
120 the first one in the returned XDataSource. It
121 needs no label. The values should have their role set to
122 "categories". The generic strings returned should also be
125 [optional, property
] boolean HasCategories
;
127 /** This property is for providing proprietary table indexes for
128 each table appearing in a range given in
129 CellRangeRepresentation.
133 <p>This argument is supported by Spreadsheets in order to be
134 able to export a document into the StarOffice 5.0 binary
137 <p>Example: If you have the sheets (Sheet1, Sheet2, Sheet3) in
138 your document and a chart uses the range
139 "Sheet2.A1:.A5 Sheet3.A1:.A5 Sheet2.B1:.B5 Sheet1:B1:.B5", your
140 TableNumberList would be "1 2 1 0". A simple range like
141 "Sheet1.A1:.E4" would have the TableNumberList in "0"</p>.
143 [optional, property
] string TableNumberList
;
155 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */