Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #ifndef INCLUDED_SC_INC_DOCUNO_HXX
21 : #define INCLUDED_SC_INC_DOCUNO_HXX
22 :
23 : #include "address.hxx"
24 : #include <sfx2/sfxbasemodel.hxx>
25 : #include <svl/lstner.hxx>
26 : #include <svx/fmdmod.hxx>
27 : #include <com/sun/star/view/XRenderable.hpp>
28 : #include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
29 : #include <com/sun/star/document/XActionLockable.hpp>
30 : #include <com/sun/star/document/XLinkTargetSupplier.hpp>
31 : #include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
32 : #include <com/sun/star/drawing/XDrawPages.hpp>
33 : #include <com/sun/star/sheet/XGoalSeek.hpp>
34 : #include <com/sun/star/sheet/XCalculatable.hpp>
35 : #include <com/sun/star/sheet/XScenarios.hpp>
36 : #include <com/sun/star/sheet/XConsolidatable.hpp>
37 : #include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
38 : #include <com/sun/star/sheet/XSpreadsheets2.hpp>
39 : #include <com/sun/star/sheet/XDocumentAuditing.hpp>
40 : #include <com/sun/star/lang/XServiceInfo.hpp>
41 : #include <com/sun/star/util/XProtectable.hpp>
42 : #include <com/sun/star/container/XEnumerationAccess.hpp>
43 : #include <com/sun/star/table/XTableColumns.hpp>
44 : #include <com/sun/star/table/XTableRows.hpp>
45 : #include <com/sun/star/sheet/XSheetAnnotations.hpp>
46 : #include <com/sun/star/beans/XPropertySet.hpp>
47 : #include <com/sun/star/sheet/XCellRangesAccess.hpp>
48 : #include <com/sun/star/sheet/opencl/XOpenCLSelection.hpp>
49 : #include <com/sun/star/sheet/opencl/OpenCLPlatform.hpp>
50 : #include <com/sun/star/util/XChangesNotifier.hpp>
51 : #include <cppuhelper/implbase2.hxx>
52 : #include <cppuhelper/implbase3.hxx>
53 : #include <cppuhelper/implbase4.hxx>
54 : #include <cppuhelper/implbase5.hxx>
55 : #include <cppuhelper/interfacecontainer.h>
56 : #include <svl/itemprop.hxx>
57 : #include <vcl/ITiledRenderable.hxx>
58 : #include "drwlayer.hxx"
59 :
60 : class ScDocShell;
61 : class ScAnnotationObj;
62 : class ScMarkData;
63 : class ScPrintFuncCache;
64 : class ScPrintSelectionStatus;
65 : class ScTableColumnObj;
66 : class ScTableRowObj;
67 : class ScTableSheetObj;
68 : class ScRangeList;
69 : class ScPrintUIOptions;
70 : class ScSheetSaveData;
71 :
72 : class SC_DLLPUBLIC ScModelObj : public SfxBaseModel,
73 : public vcl::ITiledRenderable,
74 : public com::sun::star::sheet::XSpreadsheetDocument,
75 : public com::sun::star::document::XActionLockable,
76 : public com::sun::star::sheet::XCalculatable,
77 : public com::sun::star::util::XProtectable,
78 : public com::sun::star::drawing::XDrawPagesSupplier,
79 : public com::sun::star::sheet::XGoalSeek,
80 : public com::sun::star::sheet::XConsolidatable,
81 : public com::sun::star::sheet::XDocumentAuditing,
82 : public com::sun::star::style::XStyleFamiliesSupplier,
83 : public com::sun::star::view::XRenderable,
84 : public com::sun::star::document::XLinkTargetSupplier,
85 : public com::sun::star::beans::XPropertySet,
86 : public SvxFmMSFactory, ///< derived from XMultiServiceFactory
87 : public com::sun::star::lang::XServiceInfo,
88 : public ::com::sun::star::util::XChangesNotifier,
89 : public com::sun::star::sheet::opencl::XOpenCLSelection
90 : {
91 : private:
92 : SfxItemPropertySet aPropSet;
93 : ScDocShell* pDocShell;
94 : ScPrintFuncCache* pPrintFuncCache;
95 : ScPrintUIOptions* pPrinterOptions;
96 : com::sun::star::uno::Reference<com::sun::star::uno::XAggregation> xNumberAgg;
97 : com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawGradTab;
98 : com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawHatchTab;
99 : com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawBitmapTab;
100 : com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawTrGradTab;
101 : com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawMarkerTab;
102 : com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawDashTab;
103 : com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xChartDataProv;
104 : com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xObjProvider;
105 :
106 : ::cppu::OInterfaceContainerHelper maChangesListeners;
107 :
108 : bool FillRenderMarkData( const com::sun::star::uno::Any& aSelection,
109 : const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rOptions,
110 : ScMarkData& rMark, ScPrintSelectionStatus& rStatus, OUString& rPagesStr ) const;
111 : com::sun::star::uno::Reference<com::sun::star::uno::XAggregation> GetFormatter();
112 : void HandleCalculateEvents();
113 :
114 : css::uno::Reference<css::uno::XInterface> create(
115 : OUString const & aServiceSpecifier,
116 : css::uno::Sequence<css::uno::Any> const * arguments);
117 :
118 : OUString maBuildId;
119 : protected:
120 0 : const SfxItemPropertySet& GetPropertySet() const { return aPropSet; }
121 :
122 : public:
123 : ScModelObj(ScDocShell* pDocSh);
124 : virtual ~ScModelObj();
125 :
126 : /// create ScModelObj and set at pDocSh (SetBaseModel)
127 : static void CreateAndSet(ScDocShell* pDocSh);
128 :
129 : ScDocument* GetDocument() const;
130 : SfxObjectShell* GetEmbeddedObject() const;
131 :
132 : void UpdateAllRowHeights();
133 :
134 : void BeforeXMLLoading();
135 : void AfterXMLLoading(bool bRet);
136 : ScSheetSaveData* GetSheetSaveData();
137 :
138 : void RepaintRange( const ScRange& rRange );
139 : void RepaintRange( const ScRangeList& rRange );
140 :
141 : bool HasChangesListeners() const;
142 :
143 : void NotifyChanges( const OUString& rOperation, const ScRangeList& rRanges,
144 : const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rProperties =
145 : ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >() );
146 :
147 : virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
148 : const ::com::sun::star::uno::Type & rType )
149 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
150 : virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
151 : virtual void SAL_CALL release() throw() SAL_OVERRIDE;
152 :
153 : virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
154 :
155 : /// XSpreadsheetDocument
156 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheets > SAL_CALL
157 : getSheets() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
158 :
159 : /// XStyleFamiliesSupplier
160 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL
161 : getStyleFamilies() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
162 :
163 : /// XRenderable
164 : virtual sal_Int32 SAL_CALL getRendererCount( const ::com::sun::star::uno::Any& aSelection,
165 : const ::com::sun::star::uno::Sequence<
166 : ::com::sun::star::beans::PropertyValue >& xOptions )
167 : throw (::com::sun::star::lang::IllegalArgumentException,
168 : ::com::sun::star::uno::RuntimeException,
169 : std::exception) SAL_OVERRIDE;
170 : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL
171 : getRenderer( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& aSelection,
172 : const ::com::sun::star::uno::Sequence<
173 : ::com::sun::star::beans::PropertyValue >& xOptions )
174 : throw (::com::sun::star::lang::IllegalArgumentException,
175 : ::com::sun::star::uno::RuntimeException,
176 : std::exception) SAL_OVERRIDE;
177 : virtual void SAL_CALL render( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& aSelection,
178 : const ::com::sun::star::uno::Sequence<
179 : ::com::sun::star::beans::PropertyValue >& xOptions )
180 : throw (::com::sun::star::lang::IllegalArgumentException,
181 : ::com::sun::star::uno::RuntimeException,
182 : std::exception) SAL_OVERRIDE;
183 :
184 : /// XLinkTargetSupplier
185 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL
186 : getLinks() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
187 :
188 : /// XActionLockable
189 : virtual sal_Bool SAL_CALL isActionLocked() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
190 : virtual void SAL_CALL addActionLock() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
191 : virtual void SAL_CALL removeActionLock() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
192 : virtual void SAL_CALL setActionLocks( sal_Int16 nLock )
193 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
194 : virtual sal_Int16 SAL_CALL resetActionLocks() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
195 :
196 : virtual void SAL_CALL lockControllers() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
197 : virtual void SAL_CALL unlockControllers() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
198 :
199 : /// XCalculatable
200 : virtual void SAL_CALL calculate() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
201 : virtual void SAL_CALL calculateAll() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
202 : virtual sal_Bool SAL_CALL isAutomaticCalculationEnabled()
203 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
204 : virtual void SAL_CALL enableAutomaticCalculation( sal_Bool bEnabled )
205 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
206 :
207 : /// XProtectable
208 : virtual void SAL_CALL protect( const OUString& aPassword )
209 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
210 : virtual void SAL_CALL unprotect( const OUString& aPassword )
211 : throw(::com::sun::star::lang::IllegalArgumentException,
212 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
213 : virtual sal_Bool SAL_CALL isProtected() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
214 :
215 : /// XDrawPagesSupplier
216 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPages > SAL_CALL
217 : getDrawPages() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
218 :
219 : /// XGoalSeek
220 : virtual ::com::sun::star::sheet::GoalResult SAL_CALL seekGoal(
221 : const ::com::sun::star::table::CellAddress& aFormulaPosition,
222 : const ::com::sun::star::table::CellAddress& aVariablePosition,
223 : const OUString& aGoalValue )
224 : throw (::com::sun::star::uno::RuntimeException,
225 : std::exception) SAL_OVERRIDE;
226 :
227 : /// XConsolidatable
228 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XConsolidationDescriptor >
229 : SAL_CALL createConsolidationDescriptor( sal_Bool bEmpty )
230 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
231 : virtual void SAL_CALL consolidate( const ::com::sun::star::uno::Reference<
232 : ::com::sun::star::sheet::XConsolidationDescriptor >& xDescriptor )
233 : throw (::com::sun::star::uno::RuntimeException,
234 : std::exception) SAL_OVERRIDE;
235 :
236 : /// XDocumentAuditing
237 : virtual void SAL_CALL refreshArrows() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
238 :
239 : /// XViewDataSupplier
240 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL getViewData( )
241 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
242 :
243 : /// XPropertySet
244 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
245 : SAL_CALL getPropertySetInfo()
246 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
247 : virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
248 : const ::com::sun::star::uno::Any& aValue )
249 : throw(::com::sun::star::beans::UnknownPropertyException,
250 : ::com::sun::star::beans::PropertyVetoException,
251 : ::com::sun::star::lang::IllegalArgumentException,
252 : ::com::sun::star::lang::WrappedTargetException,
253 : ::com::sun::star::uno::RuntimeException,
254 : std::exception) SAL_OVERRIDE;
255 : virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
256 : const OUString& PropertyName )
257 : throw(::com::sun::star::beans::UnknownPropertyException,
258 : ::com::sun::star::lang::WrappedTargetException,
259 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
260 : virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
261 : const ::com::sun::star::uno::Reference<
262 : ::com::sun::star::beans::XPropertyChangeListener >& xListener )
263 : throw(::com::sun::star::beans::UnknownPropertyException,
264 : ::com::sun::star::lang::WrappedTargetException,
265 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
266 : virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
267 : const ::com::sun::star::uno::Reference<
268 : ::com::sun::star::beans::XPropertyChangeListener >& aListener )
269 : throw(::com::sun::star::beans::UnknownPropertyException,
270 : ::com::sun::star::lang::WrappedTargetException,
271 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
272 : virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
273 : const ::com::sun::star::uno::Reference<
274 : ::com::sun::star::beans::XVetoableChangeListener >& aListener )
275 : throw(::com::sun::star::beans::UnknownPropertyException,
276 : ::com::sun::star::lang::WrappedTargetException,
277 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
278 : virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
279 : const ::com::sun::star::uno::Reference<
280 : ::com::sun::star::beans::XVetoableChangeListener >& aListener )
281 : throw(::com::sun::star::beans::UnknownPropertyException,
282 : ::com::sun::star::lang::WrappedTargetException,
283 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
284 :
285 : /// XMultiServiceFactory
286 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
287 : createInstance( const OUString& aServiceSpecifier )
288 : throw(::com::sun::star::uno::Exception,
289 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
290 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
291 : createInstanceWithArguments( const OUString& ServiceSpecifier,
292 : const ::com::sun::star::uno::Sequence<
293 : ::com::sun::star::uno::Any >& Arguments )
294 : throw(::com::sun::star::uno::Exception,
295 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
296 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames()
297 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
298 :
299 : /// XServiceInfo
300 : virtual OUString SAL_CALL getImplementationName()
301 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
302 : virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
303 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
304 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
305 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
306 :
307 : /// XUnoTunnel
308 : virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence<
309 : sal_Int8 >& aIdentifier )
310 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
311 :
312 : static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
313 : static ScModelObj* getImplementation(const css::uno::Reference<css::uno::XInterface>& rObj);
314 :
315 : /// XTypeProvider
316 : virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
317 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
318 : virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
319 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
320 :
321 : /// XChangesNotifier
322 : virtual void SAL_CALL addChangesListener( const ::com::sun::star::uno::Reference<
323 : ::com::sun::star::util::XChangesListener >& aListener )
324 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
325 : virtual void SAL_CALL removeChangesListener( const ::com::sun::star::uno::Reference<
326 : ::com::sun::star::util::XChangesListener >& aListener )
327 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
328 :
329 : // XOpenCLSelection
330 : virtual sal_Bool SAL_CALL isOpenCLEnabled()
331 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
332 :
333 : virtual void SAL_CALL enableOpenCL(sal_Bool bEnable)
334 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
335 :
336 : virtual void SAL_CALL enableAutomaticDeviceSelection(sal_Bool bForce)
337 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
338 :
339 : virtual void SAL_CALL disableAutomaticDeviceSelection()
340 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
341 :
342 : virtual void SAL_CALL selectOpenCLDevice( sal_Int32 platform, sal_Int32 device )
343 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
344 :
345 : virtual sal_Int32 SAL_CALL getPlatformID()
346 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
347 :
348 : virtual sal_Int32 SAL_CALL getDeviceID()
349 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
350 :
351 : virtual com::sun::star::uno::Sequence< com::sun::star::sheet::opencl::OpenCLPlatform >
352 : SAL_CALL getOpenCLPlatforms()
353 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
354 :
355 : virtual void SAL_CALL enableOpcodeSubsetTest()
356 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
357 :
358 : virtual void SAL_CALL disableOpcodeSubsetTest()
359 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
360 :
361 : virtual sal_Bool SAL_CALL isOpcodeSubsetTested()
362 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
363 :
364 : virtual void SAL_CALL setFormulaCellNumberLimit( sal_Int32 number )
365 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
366 :
367 : virtual sal_Int32 SAL_CALL getFormulaCellNumberLimit()
368 : throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
369 :
370 : /// @see vcl::ITiledRenderable::paintTile().
371 : virtual void paintTile( VirtualDevice& rDevice,
372 : int nOutputWidth,
373 : int nOutputHeight,
374 : int nTilePosX,
375 : int nTilePosY,
376 : long nTileWidth,
377 : long nTileHeight ) SAL_OVERRIDE;
378 :
379 : /// @see vcl::ITiledRenderable::getDocumentSize().
380 : virtual Size getDocumentSize() SAL_OVERRIDE;
381 :
382 : /// @see vcl::ITiledRenderable::setPart().
383 : virtual void setPart(int nPart) SAL_OVERRIDE;
384 :
385 : /// @see vcl::ITiledRenderable::getPart().
386 : virtual int getPart() SAL_OVERRIDE;
387 :
388 : /// @see vcl::ITiledRenderable::getParts().
389 : virtual int getParts() SAL_OVERRIDE;
390 :
391 : /// @see vcl::ITiledRenderable::initializeForTiledRendering().
392 : virtual void initializeForTiledRendering() SAL_OVERRIDE;
393 :
394 : /// @see vcl::ITiledRenderable::registerCallback().
395 : virtual void registerCallback(LibreOfficeKitCallback pCallback, void* pData) SAL_OVERRIDE;
396 :
397 : /// @see vcl::ITiledRenderable::postKeyEvent().
398 : virtual void postKeyEvent(int nType, int nCharCode, int nKeyCode) SAL_OVERRIDE;
399 :
400 : /// @see vcl::ITiledRenderable::postMouseEvent().
401 : virtual void postMouseEvent(int nType, int nX, int nY, int nCount) SAL_OVERRIDE;
402 :
403 : /// @see vcl::ITiledRenderable::setTextSelection().
404 : virtual void setTextSelection(int nType, int nX, int nY) SAL_OVERRIDE;
405 :
406 : /// @see vcl::ITiledRenderable::setGraphicSelection().
407 : virtual void setGraphicSelection(int nType, int nX, int nY) SAL_OVERRIDE;
408 :
409 : /// @see lok::Document::resetSelection().
410 : virtual void resetSelection() SAL_OVERRIDE;
411 : };
412 :
413 : class ScDrawPagesObj : public cppu::WeakImplHelper2<
414 : com::sun::star::drawing::XDrawPages,
415 : com::sun::star::lang::XServiceInfo>,
416 : public SfxListener
417 : {
418 : private:
419 : ScDocShell* pDocShell;
420 :
421 : ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >
422 : GetObjectByIndex_Impl(sal_Int32 nIndex) const;
423 :
424 : public:
425 : ScDrawPagesObj(ScDocShell* pDocSh);
426 : virtual ~ScDrawPagesObj();
427 :
428 : virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
429 :
430 : /// XDrawPages
431 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL
432 : insertNewByIndex( sal_Int32 nIndex )
433 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
434 : virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference<
435 : ::com::sun::star::drawing::XDrawPage >& xPage )
436 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
437 :
438 : /// XIndexAccess
439 : virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
440 : virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
441 : throw(::com::sun::star::lang::IndexOutOfBoundsException,
442 : ::com::sun::star::lang::WrappedTargetException,
443 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
444 :
445 : /// XElementAccess
446 : virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
447 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
448 : virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
449 :
450 : /// XServiceInfo
451 : virtual OUString SAL_CALL getImplementationName()
452 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
453 : virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
454 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
455 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
456 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
457 : };
458 :
459 : class ScTableSheetsObj : public cppu::WeakImplHelper5<
460 : com::sun::star::sheet::XSpreadsheets2,
461 : com::sun::star::sheet::XCellRangesAccess,
462 : com::sun::star::container::XEnumerationAccess,
463 : com::sun::star::container::XIndexAccess,
464 : com::sun::star::lang::XServiceInfo>,
465 : public SfxListener
466 : {
467 : private:
468 : ScDocShell* pDocShell;
469 :
470 : ScTableSheetObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const;
471 : ScTableSheetObj* GetObjectByName_Impl(const OUString& aName) const;
472 :
473 : public:
474 : ScTableSheetsObj(ScDocShell* pDocSh);
475 : virtual ~ScTableSheetsObj();
476 :
477 : virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
478 :
479 : /// XSpreadsheets
480 : virtual void SAL_CALL insertNewByName( const OUString& aName, sal_Int16 nPosition )
481 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
482 : virtual void SAL_CALL moveByName( const OUString& aName, sal_Int16 nDestination )
483 : throw(::com::sun::star::uno::RuntimeException,
484 : std::exception) SAL_OVERRIDE;
485 : virtual void SAL_CALL copyByName( const OUString& aName,
486 : const OUString& aCopy, sal_Int16 nDestination )
487 : throw(::com::sun::star::uno::RuntimeException,
488 : std::exception) SAL_OVERRIDE;
489 :
490 : /// XSpreadsheets2
491 : virtual sal_Int32 SAL_CALL importSheet(
492 : const ::com::sun::star::uno::Reference <
493 : ::com::sun::star::sheet::XSpreadsheetDocument > & xDocSrc,
494 : const OUString& srcName,
495 : sal_Int32 nDestPosition)
496 : throw(::com::sun::star::lang::IllegalArgumentException,
497 : ::com::sun::star::lang::IndexOutOfBoundsException,
498 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
499 :
500 : /// XCellRangesAccess
501 :
502 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell >
503 : SAL_CALL getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow, sal_Int32 nSheet )
504 : throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
505 :
506 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange >
507 : SAL_CALL getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop, sal_Int32 nRight, sal_Int32 nBottom, sal_Int32 nSheet )
508 : throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
509 :
510 : virtual ::com::sun::star::uno::Sequence < ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > >
511 : SAL_CALL getCellRangesByName( const OUString& aRange )
512 : throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
513 :
514 : /// XNameContainer
515 : virtual void SAL_CALL insertByName( const OUString& aName,
516 : const ::com::sun::star::uno::Any& aElement )
517 : throw(::com::sun::star::lang::IllegalArgumentException,
518 : ::com::sun::star::container::ElementExistException,
519 : ::com::sun::star::lang::WrappedTargetException,
520 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
521 : virtual void SAL_CALL removeByName( const OUString& Name )
522 : throw(::com::sun::star::container::NoSuchElementException,
523 : ::com::sun::star::lang::WrappedTargetException,
524 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
525 :
526 : /// XNameReplace
527 : virtual void SAL_CALL replaceByName( const OUString& aName,
528 : const ::com::sun::star::uno::Any& aElement )
529 : throw(::com::sun::star::lang::IllegalArgumentException,
530 : ::com::sun::star::container::NoSuchElementException,
531 : ::com::sun::star::lang::WrappedTargetException,
532 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
533 :
534 : /// XEnumerationAccess
535 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
536 : createEnumeration() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
537 :
538 : /// XElementAccess
539 : virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
540 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
541 : virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
542 :
543 : /// XIndexAccess
544 : virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
545 : virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
546 : throw(::com::sun::star::lang::IndexOutOfBoundsException,
547 : ::com::sun::star::lang::WrappedTargetException,
548 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
549 :
550 : /// XNameAccess
551 : virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName )
552 : throw(::com::sun::star::container::NoSuchElementException,
553 : ::com::sun::star::lang::WrappedTargetException,
554 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
555 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames()
556 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
557 : virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
558 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
559 :
560 : /// XServiceInfo
561 : virtual OUString SAL_CALL getImplementationName()
562 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
563 : virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
564 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
565 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
566 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
567 : };
568 :
569 : class ScTableColumnsObj : public cppu::WeakImplHelper5<
570 : com::sun::star::table::XTableColumns,
571 : com::sun::star::container::XEnumerationAccess,
572 : com::sun::star::container::XNameAccess,
573 : com::sun::star::beans::XPropertySet,
574 : com::sun::star::lang::XServiceInfo>,
575 : public SfxListener
576 : {
577 : private:
578 : ScDocShell* pDocShell;
579 : SCTAB nTab;
580 : SCCOL nStartCol;
581 : SCCOL nEndCol;
582 :
583 : ScTableColumnObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const;
584 : ScTableColumnObj* GetObjectByName_Impl(const OUString& aName) const;
585 :
586 : public:
587 : ScTableColumnsObj(ScDocShell* pDocSh, SCTAB nT,
588 : SCCOL nSC, SCCOL nEC);
589 : virtual ~ScTableColumnsObj();
590 :
591 : virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
592 :
593 : /// XTableColumns
594 : virtual void SAL_CALL insertByIndex( sal_Int32 nIndex, sal_Int32 nCount )
595 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
596 : virtual void SAL_CALL removeByIndex( sal_Int32 nIndex, sal_Int32 nCount )
597 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
598 :
599 : /// XNameAccess
600 : virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName )
601 : throw(::com::sun::star::container::NoSuchElementException,
602 : ::com::sun::star::lang::WrappedTargetException,
603 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
604 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames()
605 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
606 : virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
607 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
608 :
609 : /// XIndexAccess
610 : virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
611 : virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
612 : throw(::com::sun::star::lang::IndexOutOfBoundsException,
613 : ::com::sun::star::lang::WrappedTargetException,
614 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
615 :
616 : /// XEnumerationAccess
617 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
618 : createEnumeration() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
619 :
620 : /// XElementAccess
621 : virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
622 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
623 : virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
624 :
625 : /// XPropertySet
626 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
627 : SAL_CALL getPropertySetInfo()
628 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
629 : virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
630 : const ::com::sun::star::uno::Any& aValue )
631 : throw(::com::sun::star::beans::UnknownPropertyException,
632 : ::com::sun::star::beans::PropertyVetoException,
633 : ::com::sun::star::lang::IllegalArgumentException,
634 : ::com::sun::star::lang::WrappedTargetException,
635 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
636 : virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
637 : const OUString& PropertyName )
638 : throw(::com::sun::star::beans::UnknownPropertyException,
639 : ::com::sun::star::lang::WrappedTargetException,
640 : ::com::sun::star::uno::RuntimeException,
641 : std::exception) SAL_OVERRIDE;
642 : virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
643 : const ::com::sun::star::uno::Reference<
644 : ::com::sun::star::beans::XPropertyChangeListener >& xListener )
645 : throw(::com::sun::star::beans::UnknownPropertyException,
646 : ::com::sun::star::lang::WrappedTargetException,
647 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
648 : virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
649 : const ::com::sun::star::uno::Reference<
650 : ::com::sun::star::beans::XPropertyChangeListener >& aListener )
651 : throw(::com::sun::star::beans::UnknownPropertyException,
652 : ::com::sun::star::lang::WrappedTargetException,
653 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
654 : virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
655 : const ::com::sun::star::uno::Reference<
656 : ::com::sun::star::beans::XVetoableChangeListener >& aListener )
657 : throw(::com::sun::star::beans::UnknownPropertyException,
658 : ::com::sun::star::lang::WrappedTargetException,
659 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
660 : virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
661 : const ::com::sun::star::uno::Reference<
662 : ::com::sun::star::beans::XVetoableChangeListener >& aListener )
663 : throw(::com::sun::star::beans::UnknownPropertyException,
664 : ::com::sun::star::lang::WrappedTargetException,
665 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
666 :
667 : /// XServiceInfo
668 : virtual OUString SAL_CALL getImplementationName()
669 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
670 : virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
671 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
672 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
673 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
674 : };
675 :
676 : class ScTableRowsObj : public cppu::WeakImplHelper4<
677 : com::sun::star::table::XTableRows,
678 : com::sun::star::container::XEnumerationAccess,
679 : com::sun::star::beans::XPropertySet,
680 : com::sun::star::lang::XServiceInfo>,
681 : public SfxListener
682 : {
683 : private:
684 : ScDocShell* pDocShell;
685 : SCTAB nTab;
686 : SCROW nStartRow;
687 : SCROW nEndRow;
688 :
689 : ScTableRowObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const;
690 :
691 : public:
692 : ScTableRowsObj(ScDocShell* pDocSh, SCTAB nT,
693 : SCROW nSR, SCROW nER);
694 : virtual ~ScTableRowsObj();
695 :
696 : virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
697 :
698 : /// XTableRows
699 : virtual void SAL_CALL insertByIndex( sal_Int32 nIndex, sal_Int32 nCount )
700 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
701 : virtual void SAL_CALL removeByIndex( sal_Int32 nIndex, sal_Int32 nCount )
702 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
703 :
704 : /// XIndexAccess
705 : virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
706 : virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
707 : throw(::com::sun::star::lang::IndexOutOfBoundsException,
708 : ::com::sun::star::lang::WrappedTargetException,
709 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
710 :
711 : /// XEnumerationAccess
712 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
713 : createEnumeration() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
714 :
715 : /// XElementAccess
716 : virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
717 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
718 : virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
719 :
720 : /// XPropertySet
721 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
722 : SAL_CALL getPropertySetInfo()
723 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
724 : virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
725 : const ::com::sun::star::uno::Any& aValue )
726 : throw(::com::sun::star::beans::UnknownPropertyException,
727 : ::com::sun::star::beans::PropertyVetoException,
728 : ::com::sun::star::lang::IllegalArgumentException,
729 : ::com::sun::star::lang::WrappedTargetException,
730 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
731 : virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
732 : const OUString& PropertyName )
733 : throw(::com::sun::star::beans::UnknownPropertyException,
734 : ::com::sun::star::lang::WrappedTargetException,
735 : ::com::sun::star::uno::RuntimeException,
736 : std::exception) SAL_OVERRIDE;
737 : virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
738 : const ::com::sun::star::uno::Reference<
739 : ::com::sun::star::beans::XPropertyChangeListener >& xListener )
740 : throw(::com::sun::star::beans::UnknownPropertyException,
741 : ::com::sun::star::lang::WrappedTargetException,
742 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
743 : virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
744 : const ::com::sun::star::uno::Reference<
745 : ::com::sun::star::beans::XPropertyChangeListener >& aListener )
746 : throw(::com::sun::star::beans::UnknownPropertyException,
747 : ::com::sun::star::lang::WrappedTargetException,
748 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
749 : virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
750 : const ::com::sun::star::uno::Reference<
751 : ::com::sun::star::beans::XVetoableChangeListener >& aListener )
752 : throw(::com::sun::star::beans::UnknownPropertyException,
753 : ::com::sun::star::lang::WrappedTargetException,
754 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
755 : virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
756 : const ::com::sun::star::uno::Reference<
757 : ::com::sun::star::beans::XVetoableChangeListener >& aListener )
758 : throw(::com::sun::star::beans::UnknownPropertyException,
759 : ::com::sun::star::lang::WrappedTargetException,
760 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
761 :
762 : /// XServiceInfo
763 : virtual OUString SAL_CALL getImplementationName()
764 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
765 : virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
766 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
767 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
768 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
769 : };
770 :
771 : class ScSpreadsheetSettingsObj : public cppu::WeakImplHelper2<
772 : com::sun::star::beans::XPropertySet,
773 : com::sun::star::lang::XServiceInfo>,
774 : public SfxListener
775 : {
776 : private:
777 : ScDocShell* pDocShell;
778 :
779 : public:
780 : virtual ~ScSpreadsheetSettingsObj();
781 :
782 : virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
783 :
784 : /// XPropertySet
785 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
786 : SAL_CALL getPropertySetInfo()
787 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
788 : virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
789 : const ::com::sun::star::uno::Any& aValue )
790 : throw(::com::sun::star::beans::UnknownPropertyException,
791 : ::com::sun::star::beans::PropertyVetoException,
792 : ::com::sun::star::lang::IllegalArgumentException,
793 : ::com::sun::star::lang::WrappedTargetException,
794 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
795 : virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
796 : const OUString& PropertyName )
797 : throw(::com::sun::star::beans::UnknownPropertyException,
798 : ::com::sun::star::lang::WrappedTargetException,
799 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
800 : virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
801 : const ::com::sun::star::uno::Reference<
802 : ::com::sun::star::beans::XPropertyChangeListener >& xListener )
803 : throw(::com::sun::star::beans::UnknownPropertyException,
804 : ::com::sun::star::lang::WrappedTargetException,
805 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
806 : virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
807 : const ::com::sun::star::uno::Reference<
808 : ::com::sun::star::beans::XPropertyChangeListener >& aListener )
809 : throw(::com::sun::star::beans::UnknownPropertyException,
810 : ::com::sun::star::lang::WrappedTargetException,
811 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
812 : virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
813 : const ::com::sun::star::uno::Reference<
814 : ::com::sun::star::beans::XVetoableChangeListener >& aListener )
815 : throw(::com::sun::star::beans::UnknownPropertyException,
816 : ::com::sun::star::lang::WrappedTargetException,
817 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
818 : virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
819 : const ::com::sun::star::uno::Reference<
820 : ::com::sun::star::beans::XVetoableChangeListener >& aListener )
821 : throw(::com::sun::star::beans::UnknownPropertyException,
822 : ::com::sun::star::lang::WrappedTargetException,
823 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
824 :
825 : /// XServiceInfo
826 : virtual OUString SAL_CALL getImplementationName()
827 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
828 : virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
829 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
830 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
831 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
832 : };
833 :
834 : class ScAnnotationsObj : public cppu::WeakImplHelper3<
835 : com::sun::star::sheet::XSheetAnnotations,
836 : com::sun::star::container::XEnumerationAccess,
837 : com::sun::star::lang::XServiceInfo>,
838 : public SfxListener
839 : {
840 : private:
841 : ScDocShell* pDocShell;
842 : SCTAB nTab; ///< Collection belongs to the sheet
843 :
844 : bool GetAddressByIndex_Impl( sal_Int32 nIndex, ScAddress& rPos ) const;
845 : ScAnnotationObj* GetObjectByIndex_Impl( sal_Int32 nIndex ) const;
846 :
847 : public:
848 : ScAnnotationsObj(ScDocShell* pDocSh, SCTAB nT);
849 : virtual ~ScAnnotationsObj();
850 :
851 : virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
852 :
853 : /// XSheetAnnotations
854 : virtual void SAL_CALL insertNew( const ::com::sun::star::table::CellAddress& aPosition,
855 : const OUString& aText )
856 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
857 : virtual void SAL_CALL removeByIndex( sal_Int32 nIndex )
858 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
859 :
860 : /// XIndexAccess
861 : virtual sal_Int32 SAL_CALL getCount()
862 : throw(::com::sun::star::uno::RuntimeException,
863 : std::exception) SAL_OVERRIDE;
864 : virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
865 : throw(::com::sun::star::lang::IndexOutOfBoundsException,
866 : ::com::sun::star::lang::WrappedTargetException,
867 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
868 :
869 : /// XEnumerationAccess
870 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
871 : createEnumeration() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
872 :
873 : /// XElementAccess
874 : virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
875 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
876 : virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
877 :
878 : /// XServiceInfo
879 : virtual OUString SAL_CALL getImplementationName()
880 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
881 : virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
882 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
883 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
884 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
885 : };
886 :
887 : class ScScenariosObj : public cppu::WeakImplHelper4<
888 : com::sun::star::sheet::XScenarios,
889 : com::sun::star::container::XEnumerationAccess,
890 : com::sun::star::container::XIndexAccess,
891 : com::sun::star::lang::XServiceInfo>,
892 : public SfxListener
893 : {
894 : private:
895 : ScDocShell* pDocShell;
896 : SCTAB nTab;
897 :
898 : bool GetScenarioIndex_Impl( const OUString& rName, SCTAB& rIndex );
899 : ScTableSheetObj* GetObjectByIndex_Impl(sal_Int32 nIndex);
900 : ScTableSheetObj* GetObjectByName_Impl(const OUString& aName);
901 :
902 : public:
903 : ScScenariosObj(ScDocShell* pDocSh, SCTAB nT);
904 : virtual ~ScScenariosObj();
905 :
906 : virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
907 :
908 : /// XScenarios
909 : virtual void SAL_CALL addNewByName( const OUString& aName,
910 : const ::com::sun::star::uno::Sequence<
911 : ::com::sun::star::table::CellRangeAddress >& aRanges,
912 : const OUString& aComment )
913 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
914 : virtual void SAL_CALL removeByName( const OUString& aName )
915 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
916 :
917 : /// XNameAccess
918 : virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName )
919 : throw(::com::sun::star::container::NoSuchElementException,
920 : ::com::sun::star::lang::WrappedTargetException,
921 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
922 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames()
923 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
924 : virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
925 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
926 :
927 : /// XIndexAccess
928 : virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
929 : virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
930 : throw(::com::sun::star::lang::IndexOutOfBoundsException,
931 : ::com::sun::star::lang::WrappedTargetException,
932 : ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
933 :
934 : /// XEnumerationAccess
935 : virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
936 : createEnumeration() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
937 :
938 : /// XElementAccess
939 : virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
940 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
941 : virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
942 :
943 : /// XServiceInfo
944 : virtual OUString SAL_CALL getImplementationName()
945 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
946 : virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
947 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
948 : virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
949 : throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
950 : };
951 :
952 : #endif
953 :
954 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|