1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: DiagramWrapper.hxx,v $
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 CHART_DIAGRAMWRAPPER_HXX
31 #define CHART_DIAGRAMWRAPPER_HXX
33 #include "WrappedPropertySet.hxx"
34 #include "ServiceMacros.hxx"
35 #include "DiagramHelper.hxx"
36 #include <cppuhelper/implbase11.hxx>
37 #include <comphelper/uno3.hxx>
38 #include <cppuhelper/interfacecontainer.hxx>
39 #include <com/sun/star/chart2/XChartDocument.hpp>
40 #include <com/sun/star/chart2/XDiagram.hpp>
41 #include <com/sun/star/uno/XComponentContext.hpp>
42 #include <com/sun/star/chart2/XDiagramProvider.hpp>
43 #include <com/sun/star/chart2/XChartTypeTemplate.hpp>
44 #include <com/sun/star/chart2/XChartTypeManager.hpp>
45 #include <com/sun/star/chart/XDiagram.hpp>
46 #include <com/sun/star/chart/XAxisZSupplier.hpp>
47 #include <com/sun/star/chart/XTwoAxisXSupplier.hpp>
48 #include <com/sun/star/chart/XTwoAxisYSupplier.hpp>
49 #include <com/sun/star/chart/XStatisticDisplay.hpp>
50 #include <com/sun/star/chart/X3DDisplay.hpp>
51 #include <com/sun/star/lang/XServiceInfo.hpp>
52 #include <com/sun/star/lang/XComponent.hpp>
53 #include <com/sun/star/lang/XEventListener.hpp>
54 #include <com/sun/star/chart/XSecondAxisTitleSupplier.hpp>
56 #include <com/sun/star/chart/X3DDefaultSetter.hpp>
57 #include <boost/shared_ptr.hpp>
65 class Chart2ModelContact
;
67 class DiagramWrapper
: public ::cppu::ImplInheritanceHelper11
<
69 , ::com::sun::star::chart::XDiagram
70 , ::com::sun::star::chart::XAxisZSupplier
71 , ::com::sun::star::chart::XTwoAxisXSupplier
// : XAxisXSupplier
72 , ::com::sun::star::chart::XTwoAxisYSupplier
// : XAxisYSupplier
73 , ::com::sun::star::chart::XStatisticDisplay
74 , ::com::sun::star::chart::X3DDisplay
75 , ::com::sun::star::chart::X3DDefaultSetter
76 , ::com::sun::star::lang::XServiceInfo
77 , ::com::sun::star::lang::XComponent
78 // , ::com::sun::star::lang::XEventListener
79 , ::com::sun::star::chart2::XDiagramProvider
80 , ::com::sun::star::chart::XSecondAxisTitleSupplier
84 DiagramWrapper( ::boost::shared_ptr
< Chart2ModelContact
> spChart2ModelContact
);
85 virtual ~DiagramWrapper();
87 /// XServiceInfo declarations
88 APPHELPER_XSERVICEINFO_DECL()
90 // ____ XComponent ____
91 virtual void SAL_CALL
dispose()
92 throw (::com::sun::star::uno::RuntimeException
);
93 virtual void SAL_CALL
addEventListener( const ::com::sun::star::uno::Reference
<
94 ::com::sun::star::lang::XEventListener
>& xListener
)
95 throw (::com::sun::star::uno::RuntimeException
);
96 virtual void SAL_CALL
removeEventListener( const ::com::sun::star::uno::Reference
<
97 ::com::sun::star::lang::XEventListener
>& aListener
)
98 throw (::com::sun::star::uno::RuntimeException
);
100 // ____ XDiagram ____
101 virtual ::rtl::OUString SAL_CALL
getDiagramType()
102 throw (::com::sun::star::uno::RuntimeException
);
103 virtual ::com::sun::star::uno::Reference
<
104 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getDataRowProperties( sal_Int32 nRow
)
105 throw (::com::sun::star::lang::IndexOutOfBoundsException
,
106 ::com::sun::star::uno::RuntimeException
);
107 virtual ::com::sun::star::uno::Reference
<
108 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getDataPointProperties( sal_Int32 nCol
, sal_Int32 nRow
)
109 throw (::com::sun::star::lang::IndexOutOfBoundsException
,
110 ::com::sun::star::uno::RuntimeException
);
112 // ____ XShape (base of XDiagram) ____
113 virtual ::com::sun::star::awt::Point SAL_CALL
getPosition()
114 throw (::com::sun::star::uno::RuntimeException
);
115 virtual void SAL_CALL
setPosition( const ::com::sun::star::awt::Point
& aPosition
)
116 throw (::com::sun::star::uno::RuntimeException
);
117 virtual ::com::sun::star::awt::Size SAL_CALL
getSize()
118 throw (::com::sun::star::uno::RuntimeException
);
119 virtual void SAL_CALL
setSize( const ::com::sun::star::awt::Size
& aSize
)
120 throw (::com::sun::star::beans::PropertyVetoException
,
121 ::com::sun::star::uno::RuntimeException
);
123 // ____ XShapeDescriptor (base of XShape) ____
124 virtual ::rtl::OUString SAL_CALL
getShapeType()
125 throw (::com::sun::star::uno::RuntimeException
);
127 // ____ XAxisZSupplier ____
128 virtual ::com::sun::star::uno::Reference
<
129 ::com::sun::star::drawing::XShape
> SAL_CALL
getZAxisTitle()
130 throw (::com::sun::star::uno::RuntimeException
);
131 virtual ::com::sun::star::uno::Reference
<
132 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getZMainGrid()
133 throw (::com::sun::star::uno::RuntimeException
);
134 virtual ::com::sun::star::uno::Reference
<
135 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getZHelpGrid()
136 throw (::com::sun::star::uno::RuntimeException
);
137 virtual ::com::sun::star::uno::Reference
<
138 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getZAxis()
139 throw (::com::sun::star::uno::RuntimeException
);
141 // ____ XTwoAxisXSupplier ____
142 virtual ::com::sun::star::uno::Reference
<
143 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getSecondaryXAxis()
144 throw (::com::sun::star::uno::RuntimeException
);
146 // ____ XAxisXSupplier (base of XTwoAxisXSupplier) ____
147 virtual ::com::sun::star::uno::Reference
<
148 ::com::sun::star::drawing::XShape
> SAL_CALL
getXAxisTitle()
149 throw (::com::sun::star::uno::RuntimeException
);
150 virtual ::com::sun::star::uno::Reference
<
151 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getXAxis()
152 throw (::com::sun::star::uno::RuntimeException
);
153 virtual ::com::sun::star::uno::Reference
<
154 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getXMainGrid()
155 throw (::com::sun::star::uno::RuntimeException
);
156 virtual ::com::sun::star::uno::Reference
<
157 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getXHelpGrid()
158 throw (::com::sun::star::uno::RuntimeException
);
160 // ____ XTwoAxisYSupplier ____
161 virtual ::com::sun::star::uno::Reference
<
162 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getSecondaryYAxis()
163 throw (::com::sun::star::uno::RuntimeException
);
165 // ____ XAxisYSupplier (base of XTwoAxisYSupplier) ____
166 virtual ::com::sun::star::uno::Reference
<
167 ::com::sun::star::drawing::XShape
> SAL_CALL
getYAxisTitle()
168 throw (::com::sun::star::uno::RuntimeException
);
169 virtual ::com::sun::star::uno::Reference
<
170 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getYAxis()
171 throw (::com::sun::star::uno::RuntimeException
);
172 virtual ::com::sun::star::uno::Reference
<
173 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getYHelpGrid()
174 throw (::com::sun::star::uno::RuntimeException
);
175 virtual ::com::sun::star::uno::Reference
<
176 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getYMainGrid()
177 throw (::com::sun::star::uno::RuntimeException
);
179 // ____ XSecondAxisTitleSupplier ____
180 virtual ::com::sun::star::uno::Reference
<
181 ::com::sun::star::drawing::XShape
> SAL_CALL
getSecondXAxisTitle()
182 throw (::com::sun::star::uno::RuntimeException
);
183 virtual ::com::sun::star::uno::Reference
<
184 ::com::sun::star::drawing::XShape
> SAL_CALL
getSecondYAxisTitle()
185 throw (::com::sun::star::uno::RuntimeException
);
187 // ____ XStatisticDisplay ____
188 virtual ::com::sun::star::uno::Reference
<
189 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getUpBar()
190 throw (::com::sun::star::uno::RuntimeException
);
191 virtual ::com::sun::star::uno::Reference
<
192 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getDownBar()
193 throw (::com::sun::star::uno::RuntimeException
);
194 virtual ::com::sun::star::uno::Reference
<
195 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getMinMaxLine()
196 throw (::com::sun::star::uno::RuntimeException
);
198 // ____ X3DDisplay ____
199 virtual ::com::sun::star::uno::Reference
<
200 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getWall()
201 throw (::com::sun::star::uno::RuntimeException
);
202 virtual ::com::sun::star::uno::Reference
<
203 ::com::sun::star::beans::XPropertySet
> SAL_CALL
getFloor()
204 throw (::com::sun::star::uno::RuntimeException
);
206 // ____ X3DDefaultSetter ____
207 virtual void SAL_CALL
set3DSettingsToDefault() throw (::com::sun::star::uno::RuntimeException
);
208 virtual void SAL_CALL
setDefaultRotation() throw (::com::sun::star::uno::RuntimeException
);
209 virtual void SAL_CALL
setDefaultIllumination() throw (::com::sun::star::uno::RuntimeException
);
211 // // ____ XEventListener ____
212 // virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source )
213 // throw (::com::sun::star::uno::RuntimeException);
215 // ____ XDiagramProvider ____
216 virtual ::com::sun::star::uno::Reference
<
217 ::com::sun::star::chart2::XDiagram
> SAL_CALL
getDiagram()
218 throw (::com::sun::star::uno::RuntimeException
);
219 virtual void SAL_CALL
setDiagram( const ::com::sun::star::uno::Reference
<
220 ::com::sun::star::chart2::XDiagram
>& xDiagram
)
221 throw (::com::sun::star::uno::RuntimeException
);
224 // ____ WrappedPropertySet ____
225 virtual const ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::Property
>& getPropertySequence();
226 virtual const std::vector
< WrappedProperty
* > createWrappedProperties();
227 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySet
> getInnerPropertySet();
230 void updateFromModel();
232 ::boost::shared_ptr
< Chart2ModelContact
> m_spChart2ModelContact
;
233 ::cppu::OInterfaceContainerHelper m_aEventListenerContainer
;
235 ::com::sun::star::uno::Reference
<
236 ::com::sun::star::drawing::XShape
>
238 ::com::sun::star::uno::Reference
<
239 ::com::sun::star::drawing::XShape
>
241 ::com::sun::star::uno::Reference
<
242 ::com::sun::star::drawing::XShape
>
244 ::com::sun::star::uno::Reference
<
245 ::com::sun::star::drawing::XShape
>
247 ::com::sun::star::uno::Reference
<
248 ::com::sun::star::drawing::XShape
>
251 ::com::sun::star::uno::Reference
<
252 ::com::sun::star::beans::XPropertySet
>
254 ::com::sun::star::uno::Reference
<
255 ::com::sun::star::beans::XPropertySet
>
257 ::com::sun::star::uno::Reference
<
258 ::com::sun::star::beans::XPropertySet
>
260 ::com::sun::star::uno::Reference
<
261 ::com::sun::star::beans::XPropertySet
>
263 ::com::sun::star::uno::Reference
<
264 ::com::sun::star::beans::XPropertySet
>
267 ::com::sun::star::uno::Reference
<
268 ::com::sun::star::beans::XPropertySet
>
270 ::com::sun::star::uno::Reference
<
271 ::com::sun::star::beans::XPropertySet
>
273 ::com::sun::star::uno::Reference
<
274 ::com::sun::star::beans::XPropertySet
>
276 ::com::sun::star::uno::Reference
<
277 ::com::sun::star::beans::XPropertySet
>
279 ::com::sun::star::uno::Reference
<
280 ::com::sun::star::beans::XPropertySet
>
282 ::com::sun::star::uno::Reference
<
283 ::com::sun::star::beans::XPropertySet
>
286 ::com::sun::star::uno::Reference
<
287 ::com::sun::star::beans::XPropertySet
>
289 ::com::sun::star::uno::Reference
<
290 ::com::sun::star::beans::XPropertySet
>
293 ::com::sun::star::uno::Reference
<
294 ::com::sun::star::beans::XPropertySet
>
295 m_xMinMaxLineWrapper
;
296 ::com::sun::star::uno::Reference
<
297 ::com::sun::star::beans::XPropertySet
>
299 ::com::sun::star::uno::Reference
<
300 ::com::sun::star::beans::XPropertySet
>
304 } // namespace wrapper
307 // CHART_DIAGRAMWRAPPER_HXX