diff options
Diffstat (limited to 'offapi/com/sun/star/chart2/XChartDocument.idl')
-rw-r--r-- | offapi/com/sun/star/chart2/XChartDocument.idl | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/offapi/com/sun/star/chart2/XChartDocument.idl b/offapi/com/sun/star/chart2/XChartDocument.idl new file mode 100644 index 000000000..484d4c256 --- /dev/null +++ b/offapi/com/sun/star/chart2/XChartDocument.idl @@ -0,0 +1,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 choose 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 choose 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: */ |