/************************************************************** * * 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 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef com_sun_star_chart2_XChartDocument_idl #define com_sun_star_chart2_XChartDocument_idl #include #include #include #include #include #include #include module com { module sun { module star { module chart2 { interface XChartDocument : ::com::sun::star::frame::XModel { /** @todo allow more than one diagram

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

*/ XDiagram getFirstDiagram(); /** @todo allow more than one diagram

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

*/ void setFirstDiagram( [in] XDiagram xDiagram ); /** creates an internal XDataProvider that is handled by the chart document itself.

When the model is stored, the data provider will also be stored in a sub-storage.

@param bCloneExistingData if 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.

@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 if the data provider set at the chart document is an internal one.

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 XModel::initNew.

*/ 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. */ 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.

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.

*/ com::sun::star::beans::XPropertySet getPageBackground(); }; } ; // chart2 } ; // com } ; // sun } ; // star #endif