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