1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_chart_XChartDocument_idl__
24cdf0e10cSrcweir#define __com_sun_star_chart_XChartDocument_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_frame_XModel_idl__
27cdf0e10cSrcweir#include <com/sun/star/frame/XModel.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir#ifndef __com_sun_star_drawing_XShape_idl__
31cdf0e10cSrcweir#include <com/sun/star/drawing/XShape.idl>
32cdf0e10cSrcweir#endif
33cdf0e10cSrcweir
34cdf0e10cSrcweir#ifndef __com_sun_star_beans_XPropertySet_idl__
35cdf0e10cSrcweir#include <com/sun/star/beans/XPropertySet.idl>
36cdf0e10cSrcweir#endif
37cdf0e10cSrcweir
38cdf0e10cSrcweir#ifndef __com_sun_star_chart_XDiagram_idl__
39cdf0e10cSrcweir#include <com/sun/star/chart/XDiagram.idl>
40cdf0e10cSrcweir#endif
41cdf0e10cSrcweir
42cdf0e10cSrcweir#ifndef __com_sun_star_chart_XChartData_idl__
43cdf0e10cSrcweir#include <com/sun/star/chart/XChartData.idl>
44cdf0e10cSrcweir#endif
45cdf0e10cSrcweir
46cdf0e10cSrcweir
47cdf0e10cSrcweir//=============================================================================
48cdf0e10cSrcweir
49cdf0e10cSrcweir module com {  module sun {  module star {  module chart {
50cdf0e10cSrcweir
51cdf0e10cSrcweir//=============================================================================
52cdf0e10cSrcweir
53cdf0e10cSrcweir/** manages the chart document.
54cdf0e10cSrcweir
55cdf0e10cSrcweir	@see XDiagram
56cdf0e10cSrcweir    @see XChartData
57cdf0e10cSrcweir */
58cdf0e10cSrcweirpublished interface XChartDocument: com::sun::star::frame::XModel
59cdf0e10cSrcweir{
60cdf0e10cSrcweir	//-------------------------------------------------------------------------
61cdf0e10cSrcweir
62cdf0e10cSrcweir	/** @returns
63cdf0e10cSrcweir			the shape of the main title of the chart document.
64cdf0e10cSrcweir
65cdf0e10cSrcweir		@see ChartTitle
66cdf0e10cSrcweir	 */
67cdf0e10cSrcweir	com::sun::star::drawing::XShape getTitle();
68cdf0e10cSrcweir
69cdf0e10cSrcweir	//-------------------------------------------------------------------------
70cdf0e10cSrcweir
71cdf0e10cSrcweir	/** @returns
72cdf0e10cSrcweir			the shape of the subtitle of the chart document.
73cdf0e10cSrcweir
74cdf0e10cSrcweir       <p>Usually the subtitle is smaller than the main title by
75cdf0e10cSrcweir       default.  And it is most commonly placed below the main title
76cdf0e10cSrcweir       by default.</p>
77cdf0e10cSrcweir
78cdf0e10cSrcweir		@see ChartTitle
79cdf0e10cSrcweir	 */
80cdf0e10cSrcweir	com::sun::star::drawing::XShape getSubTitle();
81cdf0e10cSrcweir
82cdf0e10cSrcweir	//-------------------------------------------------------------------------
83cdf0e10cSrcweir
84cdf0e10cSrcweir	/** @returns
85cdf0e10cSrcweir			the shape of the legend of the chart document.
86cdf0e10cSrcweir
87cdf0e10cSrcweir		@see ChartLegend
88cdf0e10cSrcweir	 */
89cdf0e10cSrcweir	com::sun::star::drawing::XShape getLegend();
90cdf0e10cSrcweir
91cdf0e10cSrcweir	//-------------------------------------------------------------------------
92cdf0e10cSrcweir
93cdf0e10cSrcweir	/** @returns
94cdf0e10cSrcweir			the properties of the background area of the chart document.
95cdf0e10cSrcweir
96cdf0e10cSrcweir        <p>The area's extent is equal to the document size.  If you
97cdf0e10cSrcweir        want to access properties of the background area of the
98cdf0e10cSrcweir        diagram, in which the actual data is represented, you have to
99cdf0e10cSrcweir        change the chart wall which you get from the
100cdf0e10cSrcweir        <type>X3DDisplay</type>.</p>
101cdf0e10cSrcweir
102cdf0e10cSrcweir		@see ChartArea
103cdf0e10cSrcweir        @see X3DDisplay
104cdf0e10cSrcweir	 */
105cdf0e10cSrcweir	com::sun::star::beans::XPropertySet getArea();
106cdf0e10cSrcweir
107cdf0e10cSrcweir	//-------------------------------------------------------------------------
108cdf0e10cSrcweir
109cdf0e10cSrcweir	/** @returns
110cdf0e10cSrcweir			the diagram of the chart document.
111cdf0e10cSrcweir
112cdf0e10cSrcweir		@see Diagram
113cdf0e10cSrcweir	 */
114cdf0e10cSrcweir	com::sun::star::chart::XDiagram getDiagram();
115cdf0e10cSrcweir
116cdf0e10cSrcweir	//-------------------------------------------------------------------------
117cdf0e10cSrcweir
118cdf0e10cSrcweir	/** sets the diagram for the chart document.
119cdf0e10cSrcweir
120cdf0e10cSrcweir		<p>Setting a new diagram implicitly disposes the previous
121cdf0e10cSrcweir		diagram.</p>
122cdf0e10cSrcweir
123cdf0e10cSrcweir        @param xDiagram
124cdf0e10cSrcweir        	the new diagram that should be set for the chart.  To
125cdf0e10cSrcweir            create such a diagram component, you can use the
126cdf0e10cSrcweir            <type scope="com::sun::star::lang">XMultiServiceFactory</type>,
127cdf0e10cSrcweir            which should be implemented by an
128cdf0e10cSrcweir            <type>XChartDocument</type>.
129cdf0e10cSrcweir	 */
130cdf0e10cSrcweir	void setDiagram( [in] com::sun::star::chart::XDiagram xDiagram );
131cdf0e10cSrcweir
132cdf0e10cSrcweir	//-------------------------------------------------------------------------
133cdf0e10cSrcweir
134cdf0e10cSrcweir	/** @returns
135cdf0e10cSrcweir            the data of the chart.
136cdf0e10cSrcweir
137cdf0e10cSrcweir        <p>The returned object supports interface <type>XChartDataArray</type>
138cdf0e10cSrcweir        which can be used to access the concrete data.</p>
139cdf0e10cSrcweir
140cdf0e10cSrcweir        <p>Since OOo 3.3 the returned object also supports interface <type>XComplexDescriptionAccess</type>
141cdf0e10cSrcweir        which can be used to access complex hierarchical axis descriptions.</p>
142cdf0e10cSrcweir
143cdf0e10cSrcweir        <p>Since OOo 3.4 the returned object also supports interface <type>XDateCategories</type>.</p>
144cdf0e10cSrcweir
145cdf0e10cSrcweir        @see XChartData
146cdf0e10cSrcweir        @see XChartDataArray
147cdf0e10cSrcweir        @see XComplexDescriptionAccess
148cdf0e10cSrcweir        @see XDateCategories
149cdf0e10cSrcweir	 */
150cdf0e10cSrcweir	com::sun::star::chart::XChartData getData();
151cdf0e10cSrcweir
152cdf0e10cSrcweir	//-------------------------------------------------------------------------
153cdf0e10cSrcweir
154cdf0e10cSrcweir	/** attaches data to the chart.
155cdf0e10cSrcweir
156cdf0e10cSrcweir        <p>The given object needs to support interface <type>XChartDataArray</type>.</p>
157cdf0e10cSrcweir
158cdf0e10cSrcweir        <p>Since OOo 3.3 if the given object might support interface <type>XComplexDescriptionAccess</type>
159cdf0e10cSrcweir        which allows to set complex hierarchical axis descriptions.</p>
160cdf0e10cSrcweir
161cdf0e10cSrcweir        <p>Since OOo 3.4 if the given object might support interface <type>XDateCategories</type>
162cdf0e10cSrcweir        which allows to set date values as x values for category charts.</p>
163cdf0e10cSrcweir
164cdf0e10cSrcweir        <p>The given data is copied before it is applied to the chart.
165cdf0e10cSrcweir        So changing xData after this call will have no effect on the chart.</p>
166cdf0e10cSrcweir
167cdf0e10cSrcweir        @see XChartData
168cdf0e10cSrcweir        @see XChartDataArray
169cdf0e10cSrcweir        @see XComplexDescriptionAccess
170cdf0e10cSrcweir        @see XDateCategories
171cdf0e10cSrcweir
172cdf0e10cSrcweir        @param xData
173cdf0e10cSrcweir        	the object that provides the new data.
174cdf0e10cSrcweir	 */
175cdf0e10cSrcweir	void attachData( [in] com::sun::star::chart::XChartData xData );
176cdf0e10cSrcweir
177cdf0e10cSrcweir};
178cdf0e10cSrcweir
179cdf0e10cSrcweir//=============================================================================
180cdf0e10cSrcweir
181cdf0e10cSrcweir}; }; }; };
182cdf0e10cSrcweir
183cdf0e10cSrcweir#endif
184