summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/chart2/data/DataSequence.idl
blob: c97f1790a1fa2aecc9b3338f5b61be1ad694ed27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 * 
 * Copyright 2008 by Sun Microsystems, Inc.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * $RCSfile: DataSequence.idl,v $
 * $Revision: 1.3 $
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 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