blob: 26137a9c7c357f108376ac0176676f765600c264 [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#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 <type>XDataSequence</type> it is possible to
transfer a complete sequence of values.
<p>With the optional
<type scope="com::sun::star::container">XIndexReplace</type> it is
possible to modify single elements, if the corresponding
<type>DataProvider</type> 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 acces to
numerical data. With this interface you can get a
<atom>sequence</atom> of <atom>double</atom> values.
*/
[optional] interface XNumericalDataSequence;
/** you may implement this interface to allow a fast acces to
textual data. With this interface you can get a
<atom>sequence</atom> of <atom>string</atom> 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 <type>DataSequence</type>.</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 <type>XDataProvider</type>
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
<type scope="com::sun::star::util">XNumberFormats</type>
object. This object can be retrieved by the
<type scope="com::sun::star::util">XNumberFormatsSupplier</type>
interface supported by
<type scope="com::sun::star::chart">ChartDocument</type>.</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