cid#1607171 Data race condition
[LibreOffice.git] / offapi / com / sun / star / chart2 / data / TabularDataProviderArguments.idl
blob2f3149c7468b14aab8d23a5a21cb7fd3d6cda7cf
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 .
20 module com
22 module sun
24 module star
26 module chart2
28 module data
31 service TabularDataProviderArguments
33 /** the range address string spanning all data.
35 <p>The range address string must be interpretable by the
36 component that implements XDataProvider and gets
37 this property as argument to
38 XDataProvider::detectArguments().</p>
40 <p>The representation string is of a form that may be used in the
41 user interface. Example for OOo Calc: "$Sheet1.$A$1:$D$7",
42 example for OOo Writer: "&lt;Table1.A1:D7&gt;".</p>
44 <p>When used as input, this range will be split in columns or
45 rows depending on the property
46 #DataRowSource.</p>
48 <p>When used as output of
49 XDataProvider::detectArguments() this is the
50 range that spans the ranges of all given
51 XDataSequences. If the result is ambiguous,
52 i.e., a splitting of this range would not yield the same
53 result, this property should be empty. The latter is the
54 case, when ranges are overlapping, the lengths of sequences
55 are not equal or even if the order of two sequences is swapped
56 (e.g. data comes from column A, C, B).</p>
58 [property] string CellRangeRepresentation;
60 /** determines, whether data sequences are created out of columns
61 or rows in a table.
63 <p>If this property is not given as argument it is assumed to
64 com::sun::star::chart::ChartDataRowSource::COLUMNS,
65 i.e., the default is "take data from columns".</p>
67 [property] ::com::sun::star::chart::ChartDataRowSource DataRowSource;
69 /** If data comes from columns, the first row will provide the
70 labels for all sequences, if data comes from rows, the first
71 column will provide the labels for all sequences.
73 <p>Even if this property is false, the
74 XLabeledDataSequence may contain a label, but
75 this will not be the first cell of the selection. It may be a
76 generic string like "Column C".</p>
78 <p>If this property is not given as argument it is assumed to
79 be `FALSE`, i.e., the default is "no labels".</p>
81 [property] boolean FirstCellAsLabel;
83 /** determines the order of the created labeled sequences
85 <p>For example a SequenceMapping of [3,0,2,1] indicates that
86 the sequence from old position "3" should now be the first one.
87 Then comes the sequence from old position "0". Then that one
88 from old position "2" and then the sequence from old position "1".</p>
90 <p>If the SequenceMapping contains invalid indexes just
91 ignore those single indexes. For example if you only have three
92 labeled sequences and a SequenceMapping [2,5,1,0], you should
93 ignore the "5" and continue to place the sequence from
94 old index "1" to the next new position and so on.</p>
96 <p>If the given SequenceMapping does not cover all existing
97 labeled sequences just put the remaining sequences in old order
98 behind the others. For example you have 4 sequences and a
99 SequenceMapping [3,1]. The result should be as if [3,1,0,2]
100 was given.</p>
102 [property] sequence< long > SequenceMapping;
104 /** If `FALSE` the data provider may create a data sequence
105 containing generated categories that fit the rest of the data,
106 like e.g. "Row 12", "Row 13", etc.
108 <p>This property is not relevant for the splitting up of the
109 data. It just indicates, if the chart wants to use part of
110 the data as categories, so that generic categories can be
111 returned if it doesn't.</p>
113 <p>The generic category labeled sequence returned should be
114 the first one in the returned XDataSource. It
115 needs no label. The values should have their role set to
116 "categories". The generic strings returned should also be
117 localized.</p>
119 [optional, property] boolean HasCategories;
121 /** This property is for providing proprietary table indexes for
122 each table appearing in a range given in
123 CellRangeRepresentation.
125 @deprecated
127 <p>This argument is supported by Spreadsheets in order to be
128 able to export a document into the StarOffice 5.0 binary
129 format.</p>
131 <p>Example: If you have the sheets (Sheet1, Sheet2, Sheet3) in
132 your document and a chart uses the range
133 "Sheet2.A1:.A5 Sheet3.A1:.A5 Sheet2.B1:.B5 Sheet1:B1:.B5", your
134 TableNumberList would be "1 2 1 0". A simple range like
135 "Sheet1.A1:.E4" would have the TableNumberList in "0"</p>.
137 [optional, property] string TableNumberList;
140 } ; // data
141 } ; // chart2
142 } ; // com
143 } ; // sun
144 } ; // star
147 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */