1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
28 #ifndef com_sun_star_chart2_data_DataSequence_idl
29 #define com_sun_star_chart2_data_DataSequence_idl
31 #include
<com
/sun
/star
/beans
/XPropertySet.idl
>
32 #include
<com
/sun
/star
/container
/XIndexReplace.idl
>
33 #include
<com
/sun
/star
/util
/XCloneable.idl
>
34 #include
<com
/sun
/star
/util
/XModifyBroadcaster.idl
>
35 #include
<com
/sun
/star
/chart2
/data
/XDataSequence.idl
>
36 #include
<com
/sun
/star
/chart2
/data
/XNumericalDataSequence.idl
>
37 #include
<com
/sun
/star
/chart2
/data
/XTextualDataSequence.idl
>
38 #include
<com
/sun
/star
/chart2
/data
/DataSequenceRole.idl
>
51 /** describes a container for a sequence of values.
53 <p>With the interface <type>XDataSequence</type> it is possible to
54 transfer a complete sequence of values.
57 <type scope="com::sun::star::container">XIndexReplace</type> it is
58 possible to modify single elements, if the corresponding
59 <type>DataProvider</type> supports modification of its values.</p>
63 /** provides read- and write-access to the underlying data.
65 interface XDataSequence
;
67 /** you may implement this interface to allow a fast access to
68 numerical data. With this interface you can get a
69 <atom>sequence</atom> of <atom>double</atom> values.
71 [optional] interface XNumericalDataSequence
;
73 /** you may implement this interface to allow a fast access to
74 textual data. With this interface you can get a
75 <atom>sequence</atom> of <atom>string</atom> values.
77 [optional] interface XTextualDataSequence
;
79 /** provides read- and write-access to single elements of the
82 <p>Only when supporting this interface, it is possible for
83 client applications to modify the content of the data that is
84 provided by this <type>DataSequence</type>.</p>
86 [optional] interface ::com
::sun
::star
::container
::XIndexReplace
;
88 /** Allows creating copies of data sequences. If this interface
89 is not supported, the same object will be shared if used by
92 <p>Cloning is especially useful when using identifiers. A
93 cloned data sequence will get a new identifier while the
94 source range representation is identical to the original
97 <p>Note that, when this interface is not implemented the
98 releasing of identifiers at the <type>XDataProvider</type>
99 will not work properly, because more than one object may use
100 the same identifier. So, when an object releases the
101 identifier, another object might use a stale identifier.</p>
103 [optional] interface ::com
::sun
::star
::util
::XCloneable
;
105 /** is used to broadcast change events whenever the content (data)
106 or the range representations change.
108 interface com
::sun
::star
::util
::XModifyBroadcaster
;
110 /** the property interface by which the properties of all
111 supported services are exchanged
113 interface ::com
::sun
::star
::beans
::XPropertySet
;
115 // ----------------------------------------------------------------------
117 /** The key (index) of the number format that this sequence should
120 <p>The key identifies a number format in an
121 <type scope="com::sun::star::util">XNumberFormats</type>
122 object. This object can be retrieved by the
123 <type scope="com::sun::star::util">XNumberFormatsSupplier</type>
124 interface supported by
125 <type scope="com::sun::star::chart">ChartDocument</type>.</p>
127 @todo use proper number format instead of a transient key.
129 // [optional, property] long NumberFormatKey;
131 /** The role of the series inside a data series. This may be any
132 string. However some strings are predefined and should always
133 be used in the same way.
135 @see DataSequenceRole
137 [property
] DataSequenceRole Role
;
139 /** If set to false <FALSE/>, values from hidden cells are not returned.
141 [optional, property
] boolean IncludeHiddenCells
;
143 /** a sequence of indexes that identify values that are hidden in the underlying
146 [optional, property
] sequence
< long > HiddenValues
;
158 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */