Show duplicate attribute
[LibreOffice.git] / sc / inc / docuno.hxx
blob0e5808787469194e5c07eecb0d6907e9e727ad08
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #ifndef INCLUDED_SC_INC_DOCUNO_HXX
21 #define INCLUDED_SC_INC_DOCUNO_HXX
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"
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;
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
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;
106 ::cppu::OInterfaceContainerHelper maChangesListeners;
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();
114 css::uno::Reference<css::uno::XInterface> create(
115 OUString const & aServiceSpecifier,
116 css::uno::Sequence<css::uno::Any> const * arguments);
118 OUString maBuildId;
119 protected:
120 const SfxItemPropertySet& GetPropertySet() const { return aPropSet; }
122 public:
123 ScModelObj(ScDocShell* pDocSh);
124 virtual ~ScModelObj();
126 /// create ScModelObj and set at pDocSh (SetBaseModel)
127 static void CreateAndSet(ScDocShell* pDocSh);
129 ScDocument* GetDocument() const;
130 SfxObjectShell* GetEmbeddedObject() const;
132 void UpdateAllRowHeights();
134 void BeforeXMLLoading();
135 void AfterXMLLoading(bool bRet);
136 ScSheetSaveData* GetSheetSaveData();
138 void RepaintRange( const ScRange& rRange );
139 void RepaintRange( const ScRangeList& rRange );
141 bool HasChangesListeners() const;
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 >() );
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;
153 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
236 /// XDocumentAuditing
237 virtual void SAL_CALL refreshArrows() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
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;
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;
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;
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;
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;
312 static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
313 static ScModelObj* getImplementation(const css::uno::Reference<css::uno::XInterface>& rObj);
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;
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;
329 // XOpenCLSelection
330 virtual sal_Bool SAL_CALL isOpenCLEnabled()
331 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
333 virtual void SAL_CALL enableOpenCL(sal_Bool bEnable)
334 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
336 virtual void SAL_CALL enableAutomaticDeviceSelection(sal_Bool bForce)
337 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
339 virtual void SAL_CALL disableAutomaticDeviceSelection()
340 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
342 virtual void SAL_CALL selectOpenCLDevice( sal_Int32 platform, sal_Int32 device )
343 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
345 virtual sal_Int32 SAL_CALL getPlatformID()
346 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
348 virtual sal_Int32 SAL_CALL getDeviceID()
349 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
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;
355 virtual void SAL_CALL enableOpcodeSubsetTest()
356 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
358 virtual void SAL_CALL disableOpcodeSubsetTest()
359 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
361 virtual sal_Bool SAL_CALL isOpcodeSubsetTested()
362 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
364 virtual void SAL_CALL setFormulaCellNumberLimit( sal_Int32 number )
365 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
367 virtual sal_Int32 SAL_CALL getFormulaCellNumberLimit()
368 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
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;
379 /// @see vcl::ITiledRenderable::getDocumentSize().
380 virtual Size getDocumentSize() SAL_OVERRIDE;
382 /// @see vcl::ITiledRenderable::setPart().
383 virtual void setPart(int nPart) SAL_OVERRIDE;
385 /// @see vcl::ITiledRenderable::getPart().
386 virtual int getPart() SAL_OVERRIDE;
388 /// @see vcl::ITiledRenderable::getParts().
389 virtual int getParts() SAL_OVERRIDE;
391 /// @see vcl::ITiledRenderable::initializeForTiledRendering().
392 virtual void initializeForTiledRendering() SAL_OVERRIDE;
394 /// @see vcl::ITiledRenderable::registerCallback().
395 virtual void registerCallback(LibreOfficeKitCallback pCallback, void* pData) SAL_OVERRIDE;
397 /// @see vcl::ITiledRenderable::postKeyEvent().
398 virtual void postKeyEvent(int nType, int nCharCode, int nKeyCode) SAL_OVERRIDE;
400 /// @see vcl::ITiledRenderable::postMouseEvent().
401 virtual void postMouseEvent(int nType, int nX, int nY, int nCount) SAL_OVERRIDE;
403 /// @see vcl::ITiledRenderable::setTextSelection().
404 virtual void setTextSelection(int nType, int nX, int nY) SAL_OVERRIDE;
406 /// @see vcl::ITiledRenderable::setGraphicSelection().
407 virtual void setGraphicSelection(int nType, int nX, int nY) SAL_OVERRIDE;
409 /// @see lok::Document::resetSelection().
410 virtual void resetSelection() SAL_OVERRIDE;
413 class ScDrawPagesObj : public cppu::WeakImplHelper2<
414 com::sun::star::drawing::XDrawPages,
415 com::sun::star::lang::XServiceInfo>,
416 public SfxListener
418 private:
419 ScDocShell* pDocShell;
421 ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >
422 GetObjectByIndex_Impl(sal_Int32 nIndex) const;
424 public:
425 ScDrawPagesObj(ScDocShell* pDocSh);
426 virtual ~ScDrawPagesObj();
428 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
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;
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;
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;
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;
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
467 private:
468 ScDocShell* pDocShell;
470 ScTableSheetObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const;
471 ScTableSheetObj* GetObjectByName_Impl(const OUString& aName) const;
473 public:
474 ScTableSheetsObj(ScDocShell* pDocSh);
475 virtual ~ScTableSheetsObj();
477 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
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;
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;
500 /// XCellRangesAccess
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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
577 private:
578 ScDocShell* pDocShell;
579 SCTAB nTab;
580 SCCOL nStartCol;
581 SCCOL nEndCol;
583 ScTableColumnObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const;
584 ScTableColumnObj* GetObjectByName_Impl(const OUString& aName) const;
586 public:
587 ScTableColumnsObj(ScDocShell* pDocSh, SCTAB nT,
588 SCCOL nSC, SCCOL nEC);
589 virtual ~ScTableColumnsObj();
591 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
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;
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;
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;
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;
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;
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;
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;
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
683 private:
684 ScDocShell* pDocShell;
685 SCTAB nTab;
686 SCROW nStartRow;
687 SCROW nEndRow;
689 ScTableRowObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const;
691 public:
692 ScTableRowsObj(ScDocShell* pDocSh, SCTAB nT,
693 SCROW nSR, SCROW nER);
694 virtual ~ScTableRowsObj();
696 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
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;
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;
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;
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;
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;
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;
771 class ScSpreadsheetSettingsObj : public cppu::WeakImplHelper2<
772 com::sun::star::beans::XPropertySet,
773 com::sun::star::lang::XServiceInfo>,
774 public SfxListener
776 private:
777 ScDocShell* pDocShell;
779 public:
780 virtual ~ScSpreadsheetSettingsObj();
782 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
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;
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;
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
840 private:
841 ScDocShell* pDocShell;
842 SCTAB nTab; ///< Collection belongs to the sheet
844 bool GetAddressByIndex_Impl( sal_Int32 nIndex, ScAddress& rPos ) const;
845 ScAnnotationObj* GetObjectByIndex_Impl( sal_Int32 nIndex ) const;
847 public:
848 ScAnnotationsObj(ScDocShell* pDocSh, SCTAB nT);
849 virtual ~ScAnnotationsObj();
851 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
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;
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;
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;
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;
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;
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
894 private:
895 ScDocShell* pDocShell;
896 SCTAB nTab;
898 bool GetScenarioIndex_Impl( const OUString& rName, SCTAB& rIndex );
899 ScTableSheetObj* GetObjectByIndex_Impl(sal_Int32 nIndex);
900 ScTableSheetObj* GetObjectByName_Impl(const OUString& aName);
902 public:
903 ScScenariosObj(ScDocShell* pDocSh, SCTAB nT);
904 virtual ~ScScenariosObj();
906 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
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;
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;
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;
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;
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;
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;
952 #endif
954 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */