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
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* 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 .
*/
#ifndef com_sun_star_chart2_XChartDocument_idl
#define com_sun_star_chart2_XChartDocument_idl
#include <com/sun/star/chart2/XDiagram.idl>
#include <com/sun/star/chart2/XChartTypeManager.idl>
#include <com/sun/star/chart2/data/XDataProvider.idl>
#include <com/sun/star/frame/XModel.idl>
#include <com/sun/star/beans/XPropertySet.idl>
#include <com/sun/star/lang/IllegalArgumentException.idl>
#include <com/sun/star/util/CloseVetoException.idl>
module com
{
module sun
{
module star
{
module chart2
{
interface XChartDocument : ::com::sun::star::frame::XModel
{
/** @todo allow more than one diagram
<p>Notes: this is preliminary, we need an API that supports
more than one diagram. The method name getDiagram exists in
the css.chart API, so there is would be no way to chose either
this or the other method from Basic (it would chose one or the
other by random).</p>
*/
XDiagram getFirstDiagram();
/** @todo allow more than one diagram
<p>Notes: this is preliminary, we need an API that supports
more than one diagram. The method name setDiagram exists in
the css.chart API, so there is would be no way to chose either
this or the other method from Basic (it would chose one or the
other by random).</p>
*/
void setFirstDiagram( [in] XDiagram xDiagram );
/** creates an internal
com::sun::star::chart2::XDataProvider that
is handled by the chart document itself.
<p>When the model is stored, the data provider will also be
stored in a sub-storage.</p>
@param bCloneExistingData
if `TRUE` and a data provider was previously attached,
its referred data will be copied to the new internal data
provider. Note, that the range representation set before
will usually change after cloning.</p>
@throws com::sun::star::util:CloseVetoException
If the new data provider could not be created due to a
failed removal of the former data provider.
*/
void createInternalDataProvider( [in] boolean bCloneExistingData )
raises( com::sun::star::util::CloseVetoException );
/** @return `TRUE` if the data provider set at the chart document
is an internal one.
<p>This is the case directly after
createInternalDataProvider() has been called,
but this is not necessary. The chart can also create an
internal data provider by other means, e.g. a call to
com::sun::star::frame::XModel::initNew().
</p>
*/
boolean hasInternalDataProvider();
/** Returns the currently set data provider. This may be an
internal one, if createInternalDataProvider()
has been called before, or an external one if
XDataReceiver::attachDataProvider() has been
called.
*/
com::sun::star::chart2::data::XDataProvider getDataProvider();
/** sets a new component that is able to create different chart
type templates (components of type
ChartTypeTemplate)
*/
void setChartTypeManager( [in] XChartTypeManager xNewManager );
/** retrieves the component that is able to create different chart
type templates (components of type
ChartTypeTemplate)
*/
XChartTypeManager getChartTypeManager();
/** Gives access to the page background appearance.
@return
the properties of the background area of the chart
document.
<p>The area's extent is equal to the document size. If you
want to access properties of the background area of a single
diagram (the part where data points are actually plotted in),
you have to get its wall. You can get the wall by calling
XDiagram::getWall().</p>
*/
com::sun::star::beans::XPropertySet getPageBackground();
/** Creates a default chart type for a brand-new chart object.
*/
void createDefaultChart();
};
} ; // chart2
} ; // com
} ; // sun
} ; // star
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|