Update ooo320-m1
[ooovba.git] / chart2 / source / model / main / ChartData.hxx
blob46f07727a1a9e6cee9272af1845db3ca0b9747f8
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: ChartData.hxx,v $
10 * $Revision: 1.3 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef CHART2_CHARTDATA_HXX
31 #define CHART2_CHARTDATA_HXX
33 #include <com/sun/star/uno/Reference.hxx>
34 #include <com/sun/star/chart2/data/XLabeledDataSequence.hpp>
35 #include <com/sun/star/chart2/XChartDocument.hpp>
37 #include <memory>
39 namespace com { namespace sun { namespace star {
40 namespace uno {
41 class XComponentContext;
43 namespace embed {
44 class XStorage;
45 class XEmbeddedObject;
46 class XEmbeddedClient;
48 namespace chart2 {
49 namespace data {
50 class XDataProvider;
53 namespace util {
54 class XCloseBroadcaster;
56 }}}
58 namespace chart
61 class ChartData
63 public:
64 explicit ChartData(
65 const ::com::sun::star::uno::Reference<
66 ::com::sun::star::uno::XComponentContext > & xContext );
67 ~ChartData();
69 void setDataProvider(
70 const ::com::sun::star::uno::Reference<
71 ::com::sun::star::chart2::data::XDataProvider > & xDataProvider ) throw();
73 ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataProvider >
74 getDataProvider() const throw();
76 /** @return </TRUE>, if a new internal data provider has been created
78 bool createInternalData(
79 bool bCloneOldData,
80 const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartDocument > & xChartDoc ) throw();
82 bool hasInternalData() const;
84 /** only works if currently an internal data provider is set
86 bool createDefaultData() throw();
88 private:
89 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
90 m_xContext;
92 ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataProvider >
93 m_xDataProvider;
95 /** is only valid if m_xDataProvider is set. If m_xDataProvider is set to an
96 external data provider this reference must be set to 0
98 ::com::sun::star::uno::Reference< ::com::sun::star::chart2::data::XDataProvider >
99 m_xInternalDataProvider;
102 } // namespace chart
104 // CHART2_CHARTDATA_HXX
105 #endif