summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/chart2/data/XDataReceiver.idl
blob: 1d0b4b018dbe53acb4f80e0590302553eb276dcd (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
/*************************************************************************
 *
 * 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: XDataReceiver.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_XDataReceiver_idl
#define com_sun_star_chart2_data_XDataReceiver_idl

#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
#include <com/sun/star/lang/IllegalArgumentException.idl>
#endif

#ifndef com_sun_star_chart2_data_XDataProvider_idl
#include <com/sun/star/chart2/data/XDataProvider.idl>
#endif

#ifndef com_sun_star_chart2_data_XRangeHighlighter_idl
#include <com/sun/star/chart2/data/XRangeHighlighter.idl>
#endif

#ifndef com_sun_star_beans_PropertyValue_idl
#include <com/sun/star/beans/PropertyValue.idl>
#endif

#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
#include <com/sun/star/util/XNumberFormatsSupplier.idl>
#endif

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 );

    /** Sets the data for the chart as a whole.  When this method is
        called, all currently set data is removed.  It is replaced by
        the data that is returned by the current
        <type>XDataProvider</type> by using the given range
        representation.

        @param aRangeRepresentation
            This range representation must be in a format that is
            understood by the currently attached
            <type>XDataProvider</type>.

        @throws com::sun::star::lang::IllegalArgumentException
            If the range representation could not dealt with by the
            current data provider, or there is currently no data
            provider at all.
     */
//     void setRangeRepresentation( [in] string aRangeRepresentation )
//         raises( com::sun::star::lang::IllegalArgumentException );
    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 <type>XNumberFormatsSupplier</type> to this
        <type>XDataReceiver</type>.

        <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 hightlight the
        ranges used by the currently selected object in a chart.</p>

        <p>The range hightlighter is optional, i.e., this method may
        return an empty object.</p>
     */
    XRangeHighlighter getRangeHighlighter();
};

} ; // data
} ; // chart2
} ; // com
} ; // sun
} ; // star

#endif