diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/chart2/data | |
parent | Initial commit. (diff) | |
download | libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/chart2/data')
28 files changed, 2308 insertions, 0 deletions
diff --git a/offapi/com/sun/star/chart2/data/DataFilter.idl b/offapi/com/sun/star/chart2/data/DataFilter.idl new file mode 100644 index 000000000..9f1d831ab --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataFilter.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataFilter_idl +#define com_sun_star_chart2_data_DataFilter_idl + +#include <com/sun/star/chart2/data/DataSource.idl> +#include <com/sun/star/chart2/data/DataSink.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** A filter gets some data and provides some data. The received data + is typically (but not necessarily) different from the data that + can be retrieved by a filter. + */ +service DataFilter +{ + /** A DataFilter is a DataSink, because you can set some data at a + DataFilter. + */ + service DataSink; + + /** A DataFilter is a DataSource, because you can get some data + from a DataFilter. + */ + service DataSource; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DataProvider.idl b/offapi/com/sun/star/chart2/data/DataProvider.idl new file mode 100644 index 000000000..bcda9996e --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataProvider.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataProvider_idl +#define com_sun_star_chart2_data_DataProvider_idl + +#include <com/sun/star/chart2/data/XDataProvider.idl> +#include <com/sun/star/chart2/data/XRangeXMLConversion.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +service DataProvider +{ + /** For accessing data a component provides for being used by + charts. + */ + interface ::com::sun::star::chart2::data::XDataProvider; + + /** allows you to convert the ranges a data provider deals with + internally into valid XML. + */ + [optional] interface ::com::sun::star::chart2::data::XRangeXMLConversion; + + /** If set to false `FALSE`, values from hidden cells are not returned. + */ + [optional, property] boolean IncludeHiddenCells; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DataSequence.idl b/offapi/com/sun/star/chart2/data/DataSequence.idl new file mode 100644 index 000000000..34d655800 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataSequence.idl @@ -0,0 +1,148 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataSequence_idl +#define com_sun_star_chart2_data_DataSequence_idl + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/container/XIndexReplace.idl> +#include <com/sun/star/util/XCloneable.idl> +#include <com/sun/star/util/XModifyBroadcaster.idl> +#include <com/sun/star/chart2/data/XDataSequence.idl> +#include <com/sun/star/chart2/data/XNumericalDataSequence.idl> +#include <com/sun/star/chart2/data/XTextualDataSequence.idl> +#include <com/sun/star/chart2/data/DataSequenceRole.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** describes a container for a sequence of values. + + <p>With the interface XDataSequence it is possible to + transfer a complete sequence of values. + + <p>With the optional + com::sun::star::container::XIndexReplace it is + possible to modify single elements, if the corresponding + DataProvider supports modification of its values.</p> + */ +service DataSequence +{ + /** provides read- and write-access to the underlying data. + */ + interface XDataSequence; + + /** you may implement this interface to allow a fast access to + numerical data. With this interface you can get a + `sequence` of `double` values. + */ + [optional] interface XNumericalDataSequence; + + /** you may implement this interface to allow a fast access to + textual data. With this interface you can get a + `sequence` of `string` values. + */ + [optional] interface XTextualDataSequence; + + /** provides read- and write-access to single elements of the + underlying data. + + <p>Only when supporting this interface, it is possible for + client applications to modify the content of the data that is + provided by this DataSequence.</p> + */ + [optional] interface ::com::sun::star::container::XIndexReplace; + + /** Allows creating copies of data sequences. If this interface + is not supported, the same object will be shared if used by + multiple objects. + + <p>Cloning is especially useful when using identifiers. A + cloned data sequence will get a new identifier while the + source range representation is identical to the original + one.</p> + + <p>Note that, when this interface is not implemented the + releasing of identifiers at the XDataProvider + will not work properly, because more than one object may use + the same identifier. So, when an object releases the + identifier, another object might use a stale identifier.</p> + */ + [optional] interface ::com::sun::star::util::XCloneable; + + /** is used to broadcast change events whenever the content (data) + or the range representations change. + */ + interface com::sun::star::util::XModifyBroadcaster; + + /** the property interface by which the properties of all + supported services are exchanged + */ + interface ::com::sun::star::beans::XPropertySet; + + + /** The key (index) of the number format that this sequence should + be formatted with. + + <p>The key identifies a number format in an + com::sun::star::util::XNumberFormats + object. This object can be retrieved by the + com::sun::star::util::XNumberFormatsSupplier + interface supported by + com::sun::star::chart::ChartDocument.</p> + + @todo use proper number format instead of a transient key. + */ +// [optional, property] long NumberFormatKey; + + /** The role of the series inside a data series. This may be any + string. However some strings are predefined and should always + be used in the same way. + + @see DataSequenceRole + */ + [property] DataSequenceRole Role; + + /** If set to false `FALSE`, values from hidden cells are not returned. + */ + [optional, property] boolean IncludeHiddenCells; + + /** a sequence of indexes that identify values that are hidden in the underlying + data provider. + */ + [optional, property] sequence< long > HiddenValues; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DataSequenceRole.idl b/offapi/com/sun/star/chart2/data/DataSequenceRole.idl new file mode 100644 index 000000000..90fd2abd9 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataSequenceRole.idl @@ -0,0 +1,102 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataSequenceRole_idl +#define com_sun_star_chart2_data_DataSequenceRole_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** a string that states in what way a DataSequence + should be used. If this property is an empty string, no + proposition about usage is made. + + <p>The strings can have any value. However some values are + predefined and should always be interpreted in the same way.</p> + + <dl> + <dt>label</dt> + <dd>values are used as a label for a series. Usually, you + will have just one cell containing a string.</dd> + <dt>values-x</dt> + <dd>values are used as x-values in an XY- or bubble + diagram</dd> + <dt>values-y</dt> + <dd>values are used as y-values in an XY-Diagram or as values + in a bar, line, etc. chart</dd> + <dt>values-z</dt> + <dd>values may be used as z-values in a three-dimensional + XYZ-Diagram or a surface-chart</dd> + <dt>sizes</dt> + <dd>values are used as radius of the bubbles in a + Bubble-Diagram</dd> + <dt>error-bars-x-positive</dt> + <dd>values are used as error-information in positive x-direction for + displaying error-bars</dd> + <dt>error-bars-x-negative</dt> + <dd>values are used as error-information in negative x-direction for + displaying error-bars</dd> + <dt>error-bars-y-positive</dt> + <dd>values are used as error-information in positive y-direction for + displaying error-bars</dd> + <dt>error-bars-y-negative</dt> + <dd>values are used as error-information in negative y-direction for + displaying error-bars</dd> + <dt>categories</dt> + <dd>values are used for categories in the diagram</dd> + </dl> + + <p>In a candle-stick chart you have the following roles:</p> + + <dl> + <dt>values-first</dt> + <dd>the first value of a series of values. In a stock-chart this + would be the opening course.</dd> + <dt>values-last</dt> + <dd>the last value of a series of values. In a stock-chart this + would be the closing course.</dd> + <dt>values-min</dt> + <dd>the minimum value of a series of values. In a stock-chart + this would be the lowest course that occurred during + trading.</dd> + <dt>values-max</dt> + <dd>the maximum value of a series of values. In a stock-chart + this would be the highest course that occurred during + trading.</dd> + </dl> + */ +typedef string DataSequenceRole; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DataSink.idl b/offapi/com/sun/star/chart2/data/DataSink.idl new file mode 100644 index 000000000..24b26aa21 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataSink.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataSink_idl +#define com_sun_star_chart2_data_DataSink_idl + +#include <com/sun/star/chart2/data/XDataSink.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** describes a service that allows reading two-dimensional data in + the form of a sequence of DataSequences. + */ +service DataSink +{ + /** allows the write-access of the actual data. + */ + interface XDataSink; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DataSource.idl b/offapi/com/sun/star/chart2/data/DataSource.idl new file mode 100644 index 000000000..9ea7669c3 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DataSource.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_DataSource_idl +#define com_sun_star_chart2_data_DataSource_idl + +#include <com/sun/star/chart2/data/XDataSource.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** describes a service that allows reading two-dimensional data in + the form of a sequence of DataSequences. + */ +service DataSource +{ + /** allows the read-access of the actual data. + */ + interface XDataSource; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl b/offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl new file mode 100644 index 000000000..a9bf0fee4 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/DatabaseDataProvider.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_chart2_data_DatabaseDataProvider_idl__ +#define __com_sun_star_chart2_data_DatabaseDataProvider_idl__ + +#include <com/sun/star/chart2/data/XDatabaseDataProvider.idl> + + + module com { module sun { module star { module chart2 { module data { + + +service DatabaseDataProvider : XDatabaseDataProvider +{ + createWithConnection([in] com::sun::star::sdbc::XConnection connection); +}; + + }; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/HighlightedRange.idl b/offapi/com/sun/star/chart2/data/HighlightedRange.idl new file mode 100644 index 000000000..dbd8a9b26 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/HighlightedRange.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_HighlightedRange_idl +#define com_sun_star_chart2_data_HighlightedRange_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +struct HighlightedRange +{ + /** The range representation string of the highlighted range. + */ + string RangeRepresentation; + + /** Only take the cell at position Index out of the given + Range. If this value is -1 take the whole sequence. + */ + long Index; + + /** Use this color for marking the range. This color may be + ignored and replaced by a better fitting color, if it would be + otherwise not well visible. + */ + long PreferredColor; + + /** If the highlighted range is visually highlighted and this + member is `TRUE`, the range given in + #RangeRepresentation may be included in a + merged range rectangle spanning a bigger range. + */ + boolean AllowMerginigWithOtherRanges; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/LabelOrigin.idl b/offapi/com/sun/star/chart2/data/LabelOrigin.idl new file mode 100644 index 000000000..cec70732a --- /dev/null +++ b/offapi/com/sun/star/chart2/data/LabelOrigin.idl @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef com_sun_star_chart2_data_LabelOrigin_idl +#define com_sun_star_chart2_data_LabelOrigin_idl + + +module com { module sun { module star { module chart2 { module data { + + +/** is used to specify how the labels have to be created. + + @see XDataSequence::generateLabel(). + */ +enum LabelOrigin +{ + + /** If a range spans a single row over more than one column, this + parameter has the same effect as ROW. If the range spans a + single column over more than one row, this is the same as + COLUMN. + + <p>In case of a range spanning more than one column and row, + the shorter range of both should be used (e.g. a spreadsheet + range A1:B10 should treat columns as short side).</p> + + <p>In case of a rectangular range, or a range that is composed + of more than one contiguous sub-regions, the short side cannot + be determined, thus + XDataSequence::generateLabel() will return an + empty sequence.</p> + */ + SHORT_SIDE, + + + /** This is exactly the opposite of SHORT_SIDE. I.e., if + SHORT_SIDE has the same effect as ROW, LONG_SIDE will have the + same effect as COLUMN and the other way round. + + @see LabelOrigin::SHORT_SIDE + */ + LONG_SIDE, + + + /** Uses the column name for label generation. A spreadsheet + range A1:A6 could, e.g., result in "Column A". + + <p>If a range consists of more than one column the result of + label generation may be empty. Of course, it could also + succeed with a string like "Columns A to B". + */ + COLUMN, + + + /** Uses the column name for label generation. A spreadsheet + range A2:D2 could, e.g., result in "Row 2". + + <p>If a range consists of more than one row the result of + label generation may be empty. Of course, it could also + succeed with a string like "Rows 1-3". + */ + ROW +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl b/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl new file mode 100644 index 000000000..58d78598a --- /dev/null +++ b/offapi/com/sun/star/chart2/data/LabeledDataSequence.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_LabeledDataSequence_idl +#define com_sun_star_chart2_data_LabeledDataSequence_idl + +#include <com/sun/star/chart2/data/XLabeledDataSequence2.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** describes a container for a sequence pair of value-sequences, one + for a label and one for the associated data. + */ +service LabeledDataSequence : XLabeledDataSequence2; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl b/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl new file mode 100644 index 000000000..e14e1253d --- /dev/null +++ b/offapi/com/sun/star/chart2/data/PivotTableFieldEntry.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + */ +#ifndef com_sun_star_chart2_data_PivotTableFieldEntry_idl +#define com_sun_star_chart2_data_PivotTableFieldEntry_idl + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** + * Pivot table field entry data. + * + * @since LibreOffice 5.4 + */ +struct PivotTableFieldEntry +{ + /** + * Name of the field entry. + */ + string Name; + + /** + * The index of the field entry. + */ + long DimensionIndex; + + /** + * The output position of the field entry in its field type. + */ + long DimensionPositionIndex; + + /** + * Does it have some members that are hidden (filtered). + */ + boolean HasHiddenMembers; +}; + +}; // data +}; // chart2 +}; // com +}; // sun +}; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl b/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl new file mode 100644 index 000000000..d3c6eaa8c --- /dev/null +++ b/offapi/com/sun/star/chart2/data/RangeHighlightListener.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_RangeHighlightListener_idl +#define com_sun_star_chart2_data_RangeHighlightListener_idl + +#include <com/sun/star/view/XSelectionChangeListener.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** A selection change listener that is attached to a + XRangeHighlighter in order to get notified about + selection changes that affect range highlighting. + */ +service RangeHighlightListener +{ + interface ::com::sun::star::view::XSelectionChangeListener; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/RangeHighlighter.idl b/offapi/com/sun/star/chart2/data/RangeHighlighter.idl new file mode 100644 index 000000000..e2b98cbc1 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/RangeHighlighter.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_RangeHighlighter_idl +#define com_sun_star_chart2_data_RangeHighlighter_idl + +#include <com/sun/star/chart2/data/XRangeHighlighter.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +service RangeHighlighter +{ + interface XRangeHighlighter; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl b/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl new file mode 100644 index 000000000..ebd2c6955 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/TabularDataProviderArguments.idl @@ -0,0 +1,153 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_TabularDataProviderArguments_idl +#define com_sun_star_chart2_data_TabularDataProviderArguments_idl + +#include <com/sun/star/chart/ChartDataRowSource.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +service TabularDataProviderArguments +{ + /** the range address string spanning all data. + + <p>The range address string must be interpretable by the + component that implements XDataProvider and gets + this property as argument to + XDataProvider::detectArguments().</p> + + <p>The representation string is of a form that may be used in the + user interface. Example for OOo Calc: "$Sheet1.$A$1:$D$7", + example for OOo Writer: "<Table1.A1:D7>".</p> + + <p>When used as input, this range will be split in columns or + rows depending on the property + #DataRowSource.</p> + + <p>When used as output of + XDataProvider::detectArguments() this is the + range that spans the ranges of all given + XDataSequences. If the result is ambiguous, + i.e., a splitting of this range would not yield the same + result, this property should be empty. The latter is the + case, when ranges are overlapping, the lengths of sequences + are not equal or even if the order of two sequences is swapped + (e.g. data comes from column A, C, B).</p> + */ + [property] string CellRangeRepresentation; + + /** determines, whether data sequences are created out of columns + or rows in a table. + + <p>If this property is not given as argument it is assumed to + com::sun::star::chart::ChartDataRowSource::COLUMNS, + i.e., the default is "take data from columns".</p> + */ + [property] ::com::sun::star::chart::ChartDataRowSource DataRowSource; + + /** If data comes from columns, the first row will provide the + labels for all sequences, if data comes from rows, the first + column will provide the labels for all sequences. + + <p>Even if this property is false, the + XLabeledDataSequence may contain a label, but + this will not be the first cell of the selection. It may be a + generic string like "Column C".</p> + + <p>If this property is not given as argument it is assumed to + be `FALSE`, i.e., the default is "no labels".</p> + */ + [property] boolean FirstCellAsLabel; + + /** determines the order of the created labeled sequences + + <p>For example a SequenceMapping of [3,0,2,1] indicates that + the sequence from old position "3" should now be the first one. + Then comes the sequence from old position "0". Then that one + from old position "2" and then the sequence from old position "1".</p> + + <p>If the SequenceMapping contains invalid indexes just + ignore those single indexes. For example if you only have three + labeled sequences and a SequenceMapping [2,5,1,0], you should + ignore the "5" and continue to place the sequence from + old index "1" to the next new position and so on.</p> + + <p>If the given SequenceMapping does not cover all existing + labeled sequences just put the remaining sequences in old order + behind the others. For example you have 4 sequences and a + SequenceMapping [3,1]. The result should be as if [3,1,0,2] + was given.</p> + */ + [property] sequence< long > SequenceMapping; + + /** If `FALSE` the data provider may create a data sequence + containing generated categories that fit the rest of the data, + like e.g. "Row 12", "Row 13", etc. + + <p>This property is not relevant for the splitting up of the + data. It just indicates, if the chart wants to use part of + the data as categories, so that generic categories can be + returned if it doesn't.</p> + + <p>The generic category labeled sequence returned should be + the first one in the returned XDataSource. It + needs no label. The values should have their role set to + "categories". The generic strings returned should also be + localized.</p> + */ + [optional, property] boolean HasCategories; + + /** This property is for providing proprietary table indexes for + each table appearing in a range given in + CellRangeRepresentation. + + @deprecated + + <p>This argument is supported by Spreadsheets in order to be + able to export a document into the StarOffice 5.0 binary + format.</p> + + <p>Example: If you have the sheets (Sheet1, Sheet2, Sheet3) in + your document and a chart uses the range + "Sheet2.A1:.A5 Sheet3.A1:.A5 Sheet2.B1:.B5 Sheet1:B1:.B5", your + TableNumberList would be "1 2 1 0". A simple range like + "Sheet1.A1:.E4" would have the TableNumberList in "0"</p>. + */ + [optional, property] string TableNumberList; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XDataProvider.idl b/offapi/com/sun/star/chart2/data/XDataProvider.idl new file mode 100644 index 000000000..e0f450a1a --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDataProvider.idl @@ -0,0 +1,179 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XDataProvider_idl +#define com_sun_star_chart2_data_XDataProvider_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/chart2/data/XDataSource.idl> +#include <com/sun/star/beans/PropertyValue.idl> +#include <com/sun/star/sheet/XRangeSelection.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** An application that provides data for a chart must implement this + interface. + */ +interface XDataProvider : ::com::sun::star::uno::XInterface +{ + /** If `TRUE` is returned, a call to createDataSource with the + same arguments must return a valid XDataSequence object. If + `FALSE` is returned, createDataSource throws an exception. + */ + boolean createDataSourcePossible( [in] sequence< com::sun::star::beans::PropertyValue > aArguments ); + + /** Creates a data source object that matches the given range + representation string. + + <p>This can be used for creating the necessary data for a new + chart out of a previously selected range of cells in a + spreadsheet.</p> + + @param aArguments + Arguments that tell the data provider how to slice the + given range. The properties should be defined in a + separate service. + + <p>For spreadsheets and text document tables there exists a + service TabularDataProviderArguments + describing valid values for this list.</p> + + @return + a data source containing DataSequences that + span the entire region given in <code>aArguments</code>. + + @throws ::com::sun::star::lang::IllegalArgumentException + may be raised by the XDataProvider if it is + unable to interpret the arguments passed in + <code>aArguments</code> appropriately. + */ + XDataSource createDataSource( + [in] sequence< com::sun::star::beans::PropertyValue > aArguments ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Tries to find out with what parameters the passed + DataSource most probably was created. + + <p>if xDataSource is a data source that was created with + createDataSource(), the arguments returned here + should be the same than the ones passed to the function. + Of course, this cannot be guaranteed. However, if detection + is ambiguous, the returned arguments should be empty. </p> + + <p>This method may merge representation strings together if + adjacent ranges appear successively in the range identifiers. + E.g., if the first range refers to "$Sheet1.$A$1:$A$8" and the + second range refers to "$Sheet1.$B$1:$B$8", those should be + merged together to "$Sheet1.$A$1:$B$8".</p> + + @param xDataSource + A data source containing all data used in a chart. + + @return + Arguments that when being passed to + createDataSource() should in an ideal case + return the same data source as <code>xDataSource</code>. + */ + sequence< com::sun::star::beans::PropertyValue > detectArguments( + [in] XDataSource xDataSource ); + + /** If `TRUE` is returned, a call to + createDataSequenceByRangeRepresentation with the same argument must + return a valid XDataSequence object. If `FALSE` is returned, + createDataSequenceByRangeRepresentation throws an exception. + */ + boolean createDataSequenceByRangeRepresentationPossible( [in] string aRangeRepresentation ); + + /** creates a single data sequence for the given data range. + + @param aRangeRepresentation + is a string that can be interpreted by the component that + implements this interface. The representation string is + of a form that may be used in the user interface. + + @see createDataSource + + @throws com::sun::star::lang::IllegalArgumentException + if the given range does not contain a valid range + representation for a one-dimensional range of data. + */ + XDataSequence createDataSequenceByRangeRepresentation( + [in] string aRangeRepresentation ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Creates a single data sequence from the string value array representation + + @param aRole + The role of the sequence inside a data series. This may be any + string. However some strings are predefined and should always + be used in the same way. + + @param aValueArray + is a string that contains the value representation of the + sequence to be created. + + @param aRoleQualifier + is a string that describes the role of the sequence. + This may be any string. However some strings are predefined + and should always be used in the same way. + + @throws com::sun::star::lang::IllegalArgumentException + if the given value array does not contain a valid value array + representation. + */ + XDataSequence createDataSequenceByValueArray( [in] string aRole, [in] string aValueArray, + [in] string aRoleQualifier ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** Returns a component that is able to change a given range + representation to another one. This usually is a + controller-component that uses the GUI to allow a user to + select a new range. + + <p>This method may return nothing, if it does not support + range selection or if there is no current controller available + that offers the functionality.</p> + + @return + The component for selecting a new range. It must support + XComponent, in order to inform the receiver + about its lifetime.</p> + */ + com::sun::star::sheet::XRangeSelection getRangeSelection(); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XDataReceiver.idl b/offapi/com/sun/star/chart2/data/XDataReceiver.idl new file mode 100644 index 000000000..a7c853b1f --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDataReceiver.idl @@ -0,0 +1,106 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XDataReceiver_idl +#define com_sun_star_chart2_data_XDataReceiver_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/chart2/data/XDataProvider.idl> +#include <com/sun/star/chart2/data/XRangeHighlighter.idl> +#include <com/sun/star/beans/PropertyValue.idl> +#include <com/sun/star/util/XNumberFormatsSupplier.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +interface XDataReceiver : ::com::sun::star::uno::XInterface +{ + /** attaches a component that provides data for the document. + + <p>The previously set data provider will be released.</p> + + @param xProvider + The new DataProvider. If it is an empty reference, the + ChartDocument will have no data. + */ + void attachDataProvider( [in] XDataProvider xProvider ); + + void setArguments( [in] sequence< com::sun::star::beans::PropertyValue > aArguments ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** returns a list of all range strings for which data has been + requested by the most recently attached data provider, and + which is still used. + + <p>This list may be used by the data provider to swap charts + out of memory, but still get informed by changes of ranges + while the chart is not loaded.</p> + @return a list of used range strings. + */ + sequence< string > getUsedRangeRepresentations(); + + /** Returns the data requested by the most recently attached data + provider, that is still used. + */ + XDataSource getUsedData(); + + /** attaches an XNumberFormatsSupplier to this + XDataReceiver. + + <p>The given number formats will be used for display purposes.</p> + */ + void attachNumberFormatsSupplier( [in] com::sun::star::util::XNumberFormatsSupplier xSupplier ); + + /** Returns a component at which a view representing the data of + the attached data provider may listen for highlighting the + data ranges used by the currently selected objects in the data + receiver component. + + <p>This is typically used by a spreadsheet to highlight the + ranges used by the currently selected object in a chart.</p> + + <p>The range highlighter is optional, i.e., this method may + return an empty object.</p> + */ + XRangeHighlighter getRangeHighlighter(); + + /** A callback object to execute a foreign popup menu window. + + @since LibreOffice 5.4 + */ + com::sun::star::awt::XRequestCallback getPopupRequest(); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XDataSequence.idl b/offapi/com/sun/star/chart2/data/XDataSequence.idl new file mode 100644 index 000000000..28999c01c --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDataSequence.idl @@ -0,0 +1,132 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XDataSequence_idl +#define com_sun_star_chart2_data_XDataSequence_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/chart2/data/LabelOrigin.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** allows access to a one-dimensional sequence of data. + + <p>The data that is stored in this container may contain different + types.</p> + */ +interface XDataSequence : ::com::sun::star::uno::XInterface +{ + /** retrieves the data stored in this component. + + @return a sequence containing the actual data. This sequence + is a copy of the internal data. Therefore changing + this object does not affect the content of the + XDataSequence object. + */ + sequence< any > getData(); + + /** returns the (UI) range representation string used by this + XDataSequence. + */ + string getSourceRangeRepresentation(); + + /** creates a label that describes the origin of this data + sequence. + + <p>This is useful, if a XLabeledDataSequence has + no label sequence. In this case you can call this method at + the value sequence to obtain a fitting replacement label.</p> + + <p>The sequence returned here may be empty if no suitable + label can be generated.</p> + + <p>The strings returned should be localized.</p> + + @param eLabelOrigin + denotes what part of the range should be used for label + generation. If you have, e.g., one cell only, the + parameter COLUMN enables you to get the name of the cell's + column, the parameter ROW will give you its row name. + + If you have a non quadratic range you can ask for labels for + the longer side with parameter LONG_SIDE or you can obtain labels + for the shorter side with parameter SHORT_SIDE. + + If the range is not structured in a tabular way you may receive + no label. + + @return + Suitable labels for the given sequence depending on the range + of the sequence and the parameter <code>eLabelOrigin</code> passed. + In a spreadsheet this would typically be a label like "Column x" + for the short side used as DataSeries name and maybe a + sequence "Row 1" "Row 2" "Row 3" for the long side to be used + as categories for example. + + Example: Assuming this sequence has a Range representation spanning + row 5 and 6 in column 8. Following sequences of strings or similar strings + are expected as return values: + + generateLabel( SHORT_SIDE ) -> "Column 8" + generateLabel( LONG_SIDE ) -> "Row 5" "Row 6" + generateLabel( COLUMN ) -> "Column 8" + generateLabel( ROW ) -> "Row 5" "Row 6" + + Which strings exactly you return depends on the naming scheme of the application + which provides its tabular data. + */ + sequence< string > generateLabel( [in] com::sun::star::chart2::data::LabelOrigin eLabelOrigin ); + + /** returns a number format key for the value at the given index + in the data sequence. If nIndex is -1, a key for the entire + sequence should be returned, e.g. the most commonly used one. + + <p>If number formats are not supported, or there is no + heuristic to return a key for the entire series, return 0 + here.</p> + + <p>The number format key must be valid for the + com::sun::star::util::XNumberFormatsSupplier + given by the XDataProvider, or 0 which is assumed + to be always valid.</p> + */ + long getNumberFormatKeyByIndex( [in] long nIndex ) + raises( ::com::sun::star::lang::IndexOutOfBoundsException ); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XDataSink.idl b/offapi/com/sun/star/chart2/data/XDataSink.idl new file mode 100644 index 000000000..6595109f2 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDataSink.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XDataSink_idl +#define com_sun_star_chart2_data_XDataSink_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/data/XLabeledDataSequence.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** is a container for sequences of data. With this interface data + can only be written to. + + <p>If you want to be able to also read the data set here, your + component must also implement XDataSource.</p> + */ +interface XDataSink : ::com::sun::star::uno::XInterface +{ + /** sets new data sequences. The elements set here must support + the service DataSequence. + + <p>If the data consist only of floating point numbers (double + values), the instances set here should also support the + service NumericalDataSequence.</p> + + <p>If the data consist only of strings, the instances set here + should also support the service + TextualDataSequence.</p> + + <p>If one of the derived services is supported by one element + of the sequence, it should be available for all elements in + the sequence.</p> + */ + void setData( [in] sequence< XLabeledDataSequence > aData ); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XDataSource.idl b/offapi/com/sun/star/chart2/data/XDataSource.idl new file mode 100644 index 000000000..4312460ee --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDataSource.idl @@ -0,0 +1,76 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XDataSource_idl +#define com_sun_star_chart2_data_XDataSource_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/data/XLabeledDataSequence.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + + +/** provides access to sequences of data. With this interface data + can only be read from. + + <p>If the data stored consists only of floating point numbers (double + values), the returned instances should also support the service + NumericalDataSequence.</p> + + <p>If the data stored consists only of strings, the returned + instances should also support the service + TextualDataSequence.</p> + */ +interface XDataSource : ::com::sun::star::uno::XInterface +// : ::com::sun::star::container::XIndexAccess +{ + /** returns data sequences. + + @return a sequence of objects that support at least the + service DataSequence. + + <p>If the data stored consist only of floating point numbers + (double values), the returned instances should also support + the service NumericalDataSequence.</p> + + <p>If the data stored consist only of strings, the returned + instances should also support the service + TextualDataSequence.</p> + */ + sequence< XLabeledDataSequence > getDataSequences(); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl b/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl new file mode 100644 index 000000000..c8c0bcafb --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XDatabaseDataProvider.idl @@ -0,0 +1,206 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_chart2_data_XDatabaseDataProvider_idl__ +#define __com_sun_star_chart2_data_XDatabaseDataProvider_idl__ + +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/beans/UnknownPropertyException.idl> +#include <com/sun/star/lang/XInitialization.idl> +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/sdbc/XConnection.idl> +#include <com/sun/star/sdbc/XParameters.idl> +#include <com/sun/star/sdbc/XRowSet.idl> +#include <com/sun/star/chart2/data/XDataProvider.idl> +#include <com/sun/star/chart2/data/XRangeXMLConversion.idl> + + + module com { module sun { module star { module chart2 { module data { + + +/** identifies a XDataProvider for result sets. + + @see XDataProvider + @see DataProvider + */ +interface XDatabaseDataProvider +{ + /** For accessing data a component provides for being used by + charts. + */ + interface XDataProvider; + + /** allows you to convert the ranges a data provider deals with + internally into valid XML. + */ + interface XRangeXMLConversion; + + /** allows access to the properties of the instance. + */ + interface com::sun::star::lang::XInitialization; + + /** allows life-time control of the database data provider. + */ + interface com::sun::star::lang::XComponent; + + /** allows access to the properties of the instance. + */ + interface com::sun::star::beans::XPropertySet; + + interface com::sun::star::sdbc::XParameters; + interface com::sun::star::sdbc::XRowSet; + + /** is used for subreports and contains the names of columns of the parent report. + <p> These columns are typically the foreign key fields of the parent report. + The values of these columns are used to identify the data for the subreport. + Each time the parent report changes its current row, the subreport requeries + it's data based on the values of the master fields.</p> + <p>If the report is no sub report (e.g. its parent is not a report itself), this + property is not evaluated.</p> + + */ + [attribute,bound] sequence<string> MasterFields; + + /**is used for subreports and contains the names of the columns of the subreport + which are related to the master fields of the parent report. + <p>Entries in this sequence can either denote column names in the sub report, + or parameter names.<br/> + For instance, you could base the report on the SQL statement + <code>SELECT * FROM invoices WHERE cust_ref = :cid</code>, and add <code>cid</code> + to the DetailFields property. In this case, the parameter will be filled from + the corresponding master field.<br/> + Alternatively, you could simply base your report on the table <code>invoices</code>, + and add the column name <code>cust_ref</code> to the DetailFields. In this case, + and implicit filter clause <code>WHERE cust_ref = :<new_param_name></code> will + be created, and the artificial parameter will be filled from the corresponding + master field.<br/> + If a string in this property denotes both a column name and a parameter name, it + is undefined which way it is interpreted, but implementations of the service are required + to either decide for the parameter or the column, and proceed as usual. + </p> + <p>The columns specified herein typically represent a part of the primary key + fields or their aliases of the detail report.</p> + <p>If the report is no sub report (e.g. its parent is not a report itself), this + property is not evaluated.</p> + * + */ + [attribute,bound] sequence<string> DetailFields; + + /** is the command which should be executed, the type of command depends + on the CommandType. + <p>In case of a #CommandType of CommandType::COMMAND, + means in case the #Command specifies an SQL statement, the inherited + com::sun::star::sdbc::RowSet::EscapeProcessing + becomes relevant:<br/> + It then can be to used to specify whether the SQL statement should be analyzed on the + client side before sending it to the database server.<br/> + The default value for com::sun::star::sdbc::RowSet::EscapeProcessing + is `TRUE`. By switching it to `FALSE`, you can pass backend-specific SQL statements, + which are not standard SQL, to your database.</p> + + + @see com::sun::star::sdb::CommandType + */ + [attribute,bound] string Command; + + /** specifies the type of the command to be executed to retrieve a result set. + + <p>#Command needs to be interpreted depending on the value of this property.</p> + + <p>This property is only meaningful together with the #Command + property, thus either <em>both</em> or <em>none</em> of them are present.</p> + + @see com::sun::star::sdb::CommandType + */ + [attribute,bound] long CommandType; + + /** specifies an additional filter to optionally use. + + <p>The Filter string has to form a SQL WHERE-clause, <em>without</em> the WHERE-string itself.</p> + + <p>If a #DataSourceName, #Command and #CommandType + are specified, a RowSet can be created with this information. If the results provided by the + row set are to be additionally filtered, the Filter property can be used.</p> + + <p>Note that the Filter property does not make sense if a resultSet has been specified + in the DataAccessDescriptor.</p> + + @see com::sun::star::sdb::RowSet + @see ResultSet + */ + [attribute,bound] string Filter; + + /** indicates whether the filter should be applied or not, + default is `FALSE`. + */ + [attribute,bound] boolean ApplyFilter; + + /** additional having clause for the row set + */ + [attribute,bound] string HavingClause + { + set raises (com::sun::star::beans::UnknownPropertyException); + }; + + /** additional group by for the row set + */ + [attribute,bound] string GroupBy + { + set raises (com::sun::star::beans::UnknownPropertyException); + }; + + /** is an additional sort order definition for a row set. + */ + [attribute,bound] string Order; + + /** specifies if the #Command should be analyzed on the client side before sending it + to the database server. + + <p>The default value of this property is `TRUE`. By switching it to `FALSE`, you can pass + backend-specific SQL statements, which are not standard SQL, to your database.</p> + + <p>This property is usually present together with the #Command and + #CommandType properties, and is evaluated if and only if #CommandType + equals CommandType::COMMAND.</p> + */ + [attribute,bound] boolean EscapeProcessing; + + /** specifies the maximal count of rows which should be fetched. + <p>A value of zero implies that no limit exists.</p> + */ + [attribute,bound] long RowLimit; + + /** specifies the active connection which is used to create the resulting report. + */ + [attribute,bound] com::sun::star::sdbc::XConnection ActiveConnection + { + set raises (com::sun::star::lang::IllegalArgumentException); + }; + /** is the name of the data source to use, this could be a named data source + or the URL of a data access component. + */ + [attribute,bound] string DataSourceName; +}; + + + }; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl b/offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl new file mode 100644 index 000000000..f856c9dd5 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XLabeledDataSequence.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XLabeledDataSequence_idl +#define com_sun_star_chart2_data_XLabeledDataSequence_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/data/XDataSequence.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** allows access to a one-dimensional sequence of data. + + <p>The data that is stored in this container may contain different + types.</p> + */ +interface XLabeledDataSequence : ::com::sun::star::uno::XInterface +{ + /** returns an XDataSequence containing the actual + data. + */ + XDataSequence getValues(); + + /** sets a new XDataSequence containing the actual + data. + */ + void setValues( [in] XDataSequence xSequence ); + + /** returns an XDataSequence containing the label for + the labeled sequence. + */ + XDataSequence getLabel(); + + /** sets a new XDataSequence containing the label for + the labeled sequence. + */ + void setLabel( [in] XDataSequence xSequence ); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XLabeledDataSequence2.idl b/offapi/com/sun/star/chart2/data/XLabeledDataSequence2.idl new file mode 100644 index 000000000..27016af0c --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XLabeledDataSequence2.idl @@ -0,0 +1,76 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XLabeledDataSequence2_idl +#define com_sun_star_chart2_data_XLabeledDataSequence2_idl + +#include <com/sun/star/util/XCloneable.idl> +#include <com/sun/star/util/XModifyBroadcaster.idl> +#include <com/sun/star/chart2/data/XLabeledDataSequence.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** + @since LibreOffice 4.1 + */ +interface XLabeledDataSequence2 +{ + /** provides read- and write-access to the underlying data. + */ + interface XLabeledDataSequence; + + /** is used to broadcast when the sequence for labels or values + change their identity, or their content changes. + + <p>The LabeledDataSequence should add itself at its + XDataSequences for values and labels, and forward any change + events coming from there.</p> + */ + interface com::sun::star::util::XModifyBroadcaster; + + /** Allows creating copies of data sequences. If this interface + is not supported, the same object will be shared if used by + multiple objects. + + <p>If a LabeledDataSequence is cloned, it has to + query its contents for the + com::sun::star::util::XCloneable interface + and use it if available.</p> + */ + interface ::com::sun::star::util::XCloneable; +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl b/offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl new file mode 100644 index 000000000..972a98792 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XNumericalDataSequence.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XNumericalDataSequence_idl +#define com_sun_star_chart2_data_XNumericalDataSequence_idl + +#include <com/sun/star/chart2/data/XDataSequence.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** allows access to a one-dimensional sequence of double precision + floating-point numbers. + */ +interface XNumericalDataSequence : ::com::sun::star::uno::XInterface +{ + /** retrieves data as `double` values. + */ + sequence< double > getNumericalData(); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XPivotTableDataProvider.idl b/offapi/com/sun/star/chart2/data/XPivotTableDataProvider.idl new file mode 100644 index 000000000..0405f4637 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XPivotTableDataProvider.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef com_sun_star_chart2_data_XPivotTableDataProvider_idl +#define com_sun_star_chart2_data_XPivotTableDataProvider_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/data/PivotTableFieldEntry.idl> + +module com { module sun { module star { module chart2 { module data { + +/** + * Data provider specific for pivot chart data. + * + * @since LibreOffice 5.4 + */ +interface XPivotTableDataProvider : com::sun::star::uno::XInterface +{ + /** names of column fields from the associated pivot table + */ + sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getColumnFields(); + + /** names of row fields from the associated pivot table + */ + sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getRowFields(); + + /** names of page fields from the associated pivot table + */ + sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getPageFields(); + + /** names of data fields from the associated pivot table + */ + sequence<com::sun::star::chart2::data::PivotTableFieldEntry> getDataFields(); + + /** get the associated pivot table name + */ + string getPivotTableName(); + + /** set the associated pivot table name + */ + void setPivotTableName([in] string sPivotTableName); + + /** check if the associated pivot table exists + */ + boolean hasPivotTable(); + + /** creates a single data sequence of values for the given data series index. + * + * @param nIndex + * index of the data series + */ + XDataSequence createDataSequenceOfValuesByIndex([in] long nIndex); + + /** creates a single data sequence of label(s) for the given data series index. + * + * @param nIndex + * index of the data series + */ + XDataSequence createDataSequenceOfLabelsByIndex([in] long nIndex); + + /** creates a single data sequence of categories. + */ + XDataSequence createDataSequenceOfCategories(); + + /** field output description: either "- all -", "- multiple -", or specific value + * + * @param nDimensionIndex + * dimension index of the field + */ + string getFieldOutputDescription([in] long nDimensionIndex); +}; + +};};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XRangeHighlighter.idl b/offapi/com/sun/star/chart2/data/XRangeHighlighter.idl new file mode 100644 index 000000000..8e1522721 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XRangeHighlighter.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XRangeHighlighter_idl +#define com_sun_star_chart2_data_XRangeHighlighter_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/view/XSelectionChangeListener.idl> +#include <com/sun/star/chart2/data/HighlightedRange.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +interface XRangeHighlighter : ::com::sun::star::uno::XInterface +{ + /** Returns a list of ranges that are used by objects that are + currently selected. + */ + sequence< HighlightedRange > getSelectedRanges(); + + /** registers an event listener, which is called when the + selection is changed and affects different source ranges + */ + void addSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener ); + + /** unregisters an event listener which was registered with + XRangeHighlighter::addSelectionChangeListener() + before. + */ + void removeSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener ); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl b/offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl new file mode 100644 index 000000000..1bdffa1b9 --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XRangeXMLConversion.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XRangeXMLConversion_idl +#define com_sun_star_chart2_data_XRangeXMLConversion_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** An application that provides data for a chart must implement this + interface. + */ +interface XRangeXMLConversion : ::com::sun::star::uno::XInterface +{ + /** converts the range to a valid XML syntax. + + <p>For example spreadsheet ranges consisting of more than one + consecutive region are usually separated by a semicolon + whereas in XML you separate multiple regions by a space.</p> + */ + string convertRangeToXML( [in] string aRangeRepresentation ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** converts an XML-style range into the internal + DataProvider's format. + */ + string convertRangeFromXML( [in] string aXMLRange ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XSheetDataProvider.idl b/offapi/com/sun/star/chart2/data/XSheetDataProvider.idl new file mode 100644 index 000000000..cb55e78cd --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XSheetDataProvider.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef com_sun_star_chart2_data_XSheetDataProvider_idl +#define com_sun_star_chart2_data_XSheetDataProvider_idl + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/chart2/data/XDataSequence.idl> +#include <com/sun/star/sheet/FormulaToken.idl> + +module com { module sun { module star { module chart2 { module data { + +/** + * Interface specific to spreadsheet data provider backend. + */ +interface XSheetDataProvider : com::sun::star::uno::XInterface +{ + boolean createDataSequenceByFormulaTokensPossible( + [in] sequence< com::sun::star::sheet::FormulaToken > aTokens ); + + XDataSequence createDataSequenceByFormulaTokens( + [in] sequence< com::sun::star::sheet::FormulaToken > aTokens ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +};};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/chart2/data/XTextualDataSequence.idl b/offapi/com/sun/star/chart2/data/XTextualDataSequence.idl new file mode 100644 index 000000000..8761f465e --- /dev/null +++ b/offapi/com/sun/star/chart2/data/XTextualDataSequence.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef com_sun_star_chart2_data_XTextualDataSequence_idl +#define com_sun_star_chart2_data_XTextualDataSequence_idl + +#include <com/sun/star/uno/XInterface.idl> + +module com +{ +module sun +{ +module star +{ +module chart2 +{ +module data +{ + +/** allows access to a one-dimensional sequence of strings. + */ +interface XTextualDataSequence : ::com::sun::star::uno::XInterface +{ + /** retrieves the data as strings + */ + sequence< string > getTextualData(); +}; + +} ; // data +} ; // chart2 +} ; // com +} ; // sun +} ; // star + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |