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