bump product version to 4.1.6.2
[LibreOffice.git] / sc / inc / docuno.hxx
bloba8647e43bd295723c22a3a6822cb7b355627a04b
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 SC_DOCUNO_HXX
21 #define SC_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/util/XChangesNotifier.hpp>
49 #include <cppuhelper/implbase2.hxx>
50 #include <cppuhelper/implbase3.hxx>
51 #include <cppuhelper/implbase4.hxx>
52 #include <cppuhelper/implbase5.hxx>
53 #include <cppuhelper/interfacecontainer.h>
54 #include <svl/itemprop.hxx>
55 #include "drwlayer.hxx"
57 class ScDocShell;
58 class ScAnnotationObj;
59 class ScMarkData;
60 class ScPrintFuncCache;
61 class ScPrintSelectionStatus;
62 class ScTableColumnObj;
63 class ScTableRowObj;
64 class ScTableSheetObj;
65 class ScRangeList;
66 class ScPrintUIOptions;
67 class ScSheetSaveData;
69 class SC_DLLPUBLIC ScModelObj : public SfxBaseModel,
70 public com::sun::star::sheet::XSpreadsheetDocument,
71 public com::sun::star::document::XActionLockable,
72 public com::sun::star::sheet::XCalculatable,
73 public com::sun::star::util::XProtectable,
74 public com::sun::star::drawing::XDrawPagesSupplier,
75 public com::sun::star::sheet::XGoalSeek,
76 public com::sun::star::sheet::XConsolidatable,
77 public com::sun::star::sheet::XDocumentAuditing,
78 public com::sun::star::style::XStyleFamiliesSupplier,
79 public com::sun::star::view::XRenderable,
80 public com::sun::star::document::XLinkTargetSupplier,
81 public com::sun::star::beans::XPropertySet,
82 public SvxFmMSFactory, // derived from XMultiServiceFactory
83 public com::sun::star::lang::XServiceInfo,
84 public ::com::sun::star::util::XChangesNotifier
86 private:
87 SfxItemPropertySet aPropSet;
88 ScDocShell* pDocShell;
89 ScPrintFuncCache* pPrintFuncCache;
90 ScPrintUIOptions* pPrinterOptions;
91 com::sun::star::uno::Reference<com::sun::star::uno::XAggregation> xNumberAgg;
92 com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawGradTab;
93 com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawHatchTab;
94 com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawBitmapTab;
95 com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawTrGradTab;
96 com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawMarkerTab;
97 com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xDrawDashTab;
98 com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xChartDataProv;
99 com::sun::star::uno::Reference<com::sun::star::uno::XInterface> xObjProvider;
101 ::cppu::OInterfaceContainerHelper maChangesListeners;
103 bool FillRenderMarkData( const com::sun::star::uno::Any& aSelection,
104 const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rOptions,
105 ScMarkData& rMark, ScPrintSelectionStatus& rStatus, String& rPagesStr ) const;
106 com::sun::star::uno::Reference<com::sun::star::uno::XAggregation> GetFormatter();
107 void HandleCalculateEvents();
109 OUString maBuildId;
110 protected:
111 const SfxItemPropertySet& GetPropertySet() const { return aPropSet; }
113 public:
114 ScModelObj(ScDocShell* pDocSh);
115 virtual ~ScModelObj();
117 // create ScModelObj and set at pDocSh (SetBaseModel)
118 static void CreateAndSet(ScDocShell* pDocSh);
120 ScDocument* GetDocument() const;
121 SfxObjectShell* GetEmbeddedObject() const;
123 void UpdateAllRowHeights();
125 void BeforeXMLLoading();
126 void AfterXMLLoading(sal_Bool bRet);
127 ScSheetSaveData* GetSheetSaveData();
129 void RepaintRange( const ScRange& rRange );
130 void RepaintRange( const ScRangeList& rRange );
132 bool HasChangesListeners() const;
134 void NotifyChanges( const OUString& rOperation, const ScRangeList& rRanges,
135 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rProperties =
136 ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >() );
138 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
139 const ::com::sun::star::uno::Type & rType )
140 throw(::com::sun::star::uno::RuntimeException);
141 virtual void SAL_CALL acquire() throw();
142 virtual void SAL_CALL release() throw();
144 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
146 // XSpreadsheetDocument
147 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheets > SAL_CALL
148 getSheets() throw(::com::sun::star::uno::RuntimeException);
150 // XStyleFamiliesSupplier
151 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL
152 getStyleFamilies() throw(::com::sun::star::uno::RuntimeException);
154 // XRenderable
155 virtual sal_Int32 SAL_CALL getRendererCount( const ::com::sun::star::uno::Any& aSelection,
156 const ::com::sun::star::uno::Sequence<
157 ::com::sun::star::beans::PropertyValue >& xOptions )
158 throw (::com::sun::star::lang::IllegalArgumentException,
159 ::com::sun::star::uno::RuntimeException);
160 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL
161 getRenderer( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& aSelection,
162 const ::com::sun::star::uno::Sequence<
163 ::com::sun::star::beans::PropertyValue >& xOptions )
164 throw (::com::sun::star::lang::IllegalArgumentException,
165 ::com::sun::star::uno::RuntimeException);
166 virtual void SAL_CALL render( sal_Int32 nRenderer, const ::com::sun::star::uno::Any& aSelection,
167 const ::com::sun::star::uno::Sequence<
168 ::com::sun::star::beans::PropertyValue >& xOptions )
169 throw (::com::sun::star::lang::IllegalArgumentException,
170 ::com::sun::star::uno::RuntimeException);
172 // XLinkTargetSupplier
173 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL
174 getLinks() throw(::com::sun::star::uno::RuntimeException);
176 // XActionLockable
177 virtual sal_Bool SAL_CALL isActionLocked() throw(::com::sun::star::uno::RuntimeException);
178 virtual void SAL_CALL addActionLock() throw(::com::sun::star::uno::RuntimeException);
179 virtual void SAL_CALL removeActionLock() throw(::com::sun::star::uno::RuntimeException);
180 virtual void SAL_CALL setActionLocks( sal_Int16 nLock )
181 throw(::com::sun::star::uno::RuntimeException);
182 virtual sal_Int16 SAL_CALL resetActionLocks() throw(::com::sun::star::uno::RuntimeException);
184 virtual void SAL_CALL lockControllers() throw (::com::sun::star::uno::RuntimeException);
185 virtual void SAL_CALL unlockControllers() throw (::com::sun::star::uno::RuntimeException);
187 // XCalculatable
188 virtual void SAL_CALL calculate() throw(::com::sun::star::uno::RuntimeException);
189 virtual void SAL_CALL calculateAll() throw(::com::sun::star::uno::RuntimeException);
190 virtual sal_Bool SAL_CALL isAutomaticCalculationEnabled()
191 throw(::com::sun::star::uno::RuntimeException);
192 virtual void SAL_CALL enableAutomaticCalculation( sal_Bool bEnabled )
193 throw(::com::sun::star::uno::RuntimeException);
195 // XProtectable
196 virtual void SAL_CALL protect( const OUString& aPassword )
197 throw(::com::sun::star::uno::RuntimeException);
198 virtual void SAL_CALL unprotect( const OUString& aPassword )
199 throw(::com::sun::star::lang::IllegalArgumentException,
200 ::com::sun::star::uno::RuntimeException);
201 virtual sal_Bool SAL_CALL isProtected() throw(::com::sun::star::uno::RuntimeException);
203 // XDrawPagesSupplier
204 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPages > SAL_CALL
205 getDrawPages() throw(::com::sun::star::uno::RuntimeException);
207 // XGoalSeek
208 virtual ::com::sun::star::sheet::GoalResult SAL_CALL seekGoal(
209 const ::com::sun::star::table::CellAddress& aFormulaPosition,
210 const ::com::sun::star::table::CellAddress& aVariablePosition,
211 const OUString& aGoalValue )
212 throw(::com::sun::star::uno::RuntimeException);
214 // XConsolidatable
215 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XConsolidationDescriptor >
216 SAL_CALL createConsolidationDescriptor( sal_Bool bEmpty )
217 throw(::com::sun::star::uno::RuntimeException);
218 virtual void SAL_CALL consolidate( const ::com::sun::star::uno::Reference<
219 ::com::sun::star::sheet::XConsolidationDescriptor >& xDescriptor )
220 throw(::com::sun::star::uno::RuntimeException);
222 // XDocumentAuditing
223 virtual void SAL_CALL refreshArrows() throw(::com::sun::star::uno::RuntimeException);
225 // XViewDataSupplier
226 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL getViewData( )
227 throw (::com::sun::star::uno::RuntimeException);
229 // XPropertySet
230 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
231 SAL_CALL getPropertySetInfo()
232 throw(::com::sun::star::uno::RuntimeException);
233 virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
234 const ::com::sun::star::uno::Any& aValue )
235 throw(::com::sun::star::beans::UnknownPropertyException,
236 ::com::sun::star::beans::PropertyVetoException,
237 ::com::sun::star::lang::IllegalArgumentException,
238 ::com::sun::star::lang::WrappedTargetException,
239 ::com::sun::star::uno::RuntimeException);
240 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
241 const OUString& PropertyName )
242 throw(::com::sun::star::beans::UnknownPropertyException,
243 ::com::sun::star::lang::WrappedTargetException,
244 ::com::sun::star::uno::RuntimeException);
245 virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
246 const ::com::sun::star::uno::Reference<
247 ::com::sun::star::beans::XPropertyChangeListener >& xListener )
248 throw(::com::sun::star::beans::UnknownPropertyException,
249 ::com::sun::star::lang::WrappedTargetException,
250 ::com::sun::star::uno::RuntimeException);
251 virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
252 const ::com::sun::star::uno::Reference<
253 ::com::sun::star::beans::XPropertyChangeListener >& aListener )
254 throw(::com::sun::star::beans::UnknownPropertyException,
255 ::com::sun::star::lang::WrappedTargetException,
256 ::com::sun::star::uno::RuntimeException);
257 virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
258 const ::com::sun::star::uno::Reference<
259 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
260 throw(::com::sun::star::beans::UnknownPropertyException,
261 ::com::sun::star::lang::WrappedTargetException,
262 ::com::sun::star::uno::RuntimeException);
263 virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
264 const ::com::sun::star::uno::Reference<
265 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
266 throw(::com::sun::star::beans::UnknownPropertyException,
267 ::com::sun::star::lang::WrappedTargetException,
268 ::com::sun::star::uno::RuntimeException);
270 // XMultiServiceFactory
271 virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
272 createInstance( const OUString& aServiceSpecifier )
273 throw(::com::sun::star::uno::Exception,
274 ::com::sun::star::uno::RuntimeException);
275 virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
276 createInstanceWithArguments( const OUString& ServiceSpecifier,
277 const ::com::sun::star::uno::Sequence<
278 ::com::sun::star::uno::Any >& Arguments )
279 throw(::com::sun::star::uno::Exception,
280 ::com::sun::star::uno::RuntimeException);
281 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames()
282 throw(::com::sun::star::uno::RuntimeException);
284 // XServiceInfo
285 virtual OUString SAL_CALL getImplementationName()
286 throw(::com::sun::star::uno::RuntimeException);
287 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
288 throw(::com::sun::star::uno::RuntimeException);
289 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
290 throw(::com::sun::star::uno::RuntimeException);
292 // XUnoTunnel
293 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence<
294 sal_Int8 >& aIdentifier )
295 throw(::com::sun::star::uno::RuntimeException);
297 static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
298 static ScModelObj* getImplementation( const com::sun::star::uno::Reference<
299 com::sun::star::uno::XInterface> xObj );
301 // XTypeProvider
302 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
303 throw(::com::sun::star::uno::RuntimeException);
304 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
305 throw(::com::sun::star::uno::RuntimeException);
307 // XChangesNotifier
308 virtual void SAL_CALL addChangesListener( const ::com::sun::star::uno::Reference<
309 ::com::sun::star::util::XChangesListener >& aListener )
310 throw (::com::sun::star::uno::RuntimeException);
311 virtual void SAL_CALL removeChangesListener( const ::com::sun::star::uno::Reference<
312 ::com::sun::star::util::XChangesListener >& aListener )
313 throw (::com::sun::star::uno::RuntimeException);
317 class ScDrawPagesObj : public cppu::WeakImplHelper2<
318 com::sun::star::drawing::XDrawPages,
319 com::sun::star::lang::XServiceInfo>,
320 public SfxListener
322 private:
323 ScDocShell* pDocShell;
325 ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >
326 GetObjectByIndex_Impl(sal_Int32 nIndex) const;
328 public:
329 ScDrawPagesObj(ScDocShell* pDocSh);
330 virtual ~ScDrawPagesObj();
332 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
334 // XDrawPages
335 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL
336 insertNewByIndex( sal_Int32 nIndex )
337 throw(::com::sun::star::uno::RuntimeException);
338 virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference<
339 ::com::sun::star::drawing::XDrawPage >& xPage )
340 throw(::com::sun::star::uno::RuntimeException);
342 // XIndexAccess
343 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
344 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
345 throw(::com::sun::star::lang::IndexOutOfBoundsException,
346 ::com::sun::star::lang::WrappedTargetException,
347 ::com::sun::star::uno::RuntimeException);
349 // XElementAccess
350 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
351 throw(::com::sun::star::uno::RuntimeException);
352 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
354 // XServiceInfo
355 virtual OUString SAL_CALL getImplementationName()
356 throw(::com::sun::star::uno::RuntimeException);
357 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
358 throw(::com::sun::star::uno::RuntimeException);
359 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
360 throw(::com::sun::star::uno::RuntimeException);
364 class ScTableSheetsObj : public cppu::WeakImplHelper5<
365 com::sun::star::sheet::XSpreadsheets2,
366 com::sun::star::sheet::XCellRangesAccess,
367 com::sun::star::container::XEnumerationAccess,
368 com::sun::star::container::XIndexAccess,
369 com::sun::star::lang::XServiceInfo>,
370 public SfxListener
372 private:
373 ScDocShell* pDocShell;
375 ScTableSheetObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const;
376 ScTableSheetObj* GetObjectByName_Impl(const OUString& aName) const;
378 public:
379 ScTableSheetsObj(ScDocShell* pDocSh);
380 virtual ~ScTableSheetsObj();
382 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
384 // XSpreadsheets
385 virtual void SAL_CALL insertNewByName( const OUString& aName, sal_Int16 nPosition )
386 throw(::com::sun::star::uno::RuntimeException);
387 virtual void SAL_CALL moveByName( const OUString& aName, sal_Int16 nDestination )
388 throw(::com::sun::star::uno::RuntimeException);
389 virtual void SAL_CALL copyByName( const OUString& aName,
390 const OUString& aCopy, sal_Int16 nDestination )
391 throw(::com::sun::star::uno::RuntimeException);
393 // XSpreadsheets2
394 virtual sal_Int32 SAL_CALL importSheet(
395 const ::com::sun::star::uno::Reference <
396 ::com::sun::star::sheet::XSpreadsheetDocument > & xDocSrc,
397 const OUString& srcName,
398 const sal_Int32 nDestPosition)
399 throw(::com::sun::star::lang::IllegalArgumentException,
400 ::com::sun::star::lang::IndexOutOfBoundsException,
401 ::com::sun::star::uno::RuntimeException);
403 // XCellRangesAccess
405 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell >
406 SAL_CALL getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow, sal_Int32 nSheet )
407 throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
409 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange >
410 SAL_CALL getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop, sal_Int32 nRight, sal_Int32 nBottom, sal_Int32 nSheet )
411 throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
413 virtual ::com::sun::star::uno::Sequence < ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > >
414 SAL_CALL getCellRangesByName( const OUString& aRange )
415 throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
417 // XNameContainer
418 virtual void SAL_CALL insertByName( const OUString& aName,
419 const ::com::sun::star::uno::Any& aElement )
420 throw(::com::sun::star::lang::IllegalArgumentException,
421 ::com::sun::star::container::ElementExistException,
422 ::com::sun::star::lang::WrappedTargetException,
423 ::com::sun::star::uno::RuntimeException);
424 virtual void SAL_CALL removeByName( const OUString& Name )
425 throw(::com::sun::star::container::NoSuchElementException,
426 ::com::sun::star::lang::WrappedTargetException,
427 ::com::sun::star::uno::RuntimeException);
429 // XNameReplace
430 virtual void SAL_CALL replaceByName( const OUString& aName,
431 const ::com::sun::star::uno::Any& aElement )
432 throw(::com::sun::star::lang::IllegalArgumentException,
433 ::com::sun::star::container::NoSuchElementException,
434 ::com::sun::star::lang::WrappedTargetException,
435 ::com::sun::star::uno::RuntimeException);
437 // XEnumerationAccess
438 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
439 createEnumeration() throw(::com::sun::star::uno::RuntimeException);
441 // XElementAccess
442 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
443 throw(::com::sun::star::uno::RuntimeException);
444 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
446 // XIndexAccess
447 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
448 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
449 throw(::com::sun::star::lang::IndexOutOfBoundsException,
450 ::com::sun::star::lang::WrappedTargetException,
451 ::com::sun::star::uno::RuntimeException);
453 // XNameAccess
454 virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName )
455 throw(::com::sun::star::container::NoSuchElementException,
456 ::com::sun::star::lang::WrappedTargetException,
457 ::com::sun::star::uno::RuntimeException);
458 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames()
459 throw(::com::sun::star::uno::RuntimeException);
460 virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
461 throw(::com::sun::star::uno::RuntimeException);
463 // XServiceInfo
464 virtual OUString SAL_CALL getImplementationName()
465 throw(::com::sun::star::uno::RuntimeException);
466 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
467 throw(::com::sun::star::uno::RuntimeException);
468 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
469 throw(::com::sun::star::uno::RuntimeException);
473 class ScTableColumnsObj : public cppu::WeakImplHelper5<
474 com::sun::star::table::XTableColumns,
475 com::sun::star::container::XEnumerationAccess,
476 com::sun::star::container::XNameAccess,
477 com::sun::star::beans::XPropertySet,
478 com::sun::star::lang::XServiceInfo>,
479 public SfxListener
481 private:
482 ScDocShell* pDocShell;
483 SCTAB nTab;
484 SCCOL nStartCol;
485 SCCOL nEndCol;
487 ScTableColumnObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const;
488 ScTableColumnObj* GetObjectByName_Impl(const OUString& aName) const;
490 public:
491 ScTableColumnsObj(ScDocShell* pDocSh, SCTAB nT,
492 SCCOL nSC, SCCOL nEC);
493 virtual ~ScTableColumnsObj();
495 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
497 // XTableColumns
498 virtual void SAL_CALL insertByIndex( sal_Int32 nIndex, sal_Int32 nCount )
499 throw(::com::sun::star::uno::RuntimeException);
500 virtual void SAL_CALL removeByIndex( sal_Int32 nIndex, sal_Int32 nCount )
501 throw(::com::sun::star::uno::RuntimeException);
503 // XNameAccess
504 virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName )
505 throw(::com::sun::star::container::NoSuchElementException,
506 ::com::sun::star::lang::WrappedTargetException,
507 ::com::sun::star::uno::RuntimeException);
508 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames()
509 throw(::com::sun::star::uno::RuntimeException);
510 virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
511 throw(::com::sun::star::uno::RuntimeException);
513 // XIndexAccess
514 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
515 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
516 throw(::com::sun::star::lang::IndexOutOfBoundsException,
517 ::com::sun::star::lang::WrappedTargetException,
518 ::com::sun::star::uno::RuntimeException);
520 // XEnumerationAccess
521 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
522 createEnumeration() throw(::com::sun::star::uno::RuntimeException);
524 // XElementAccess
525 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
526 throw(::com::sun::star::uno::RuntimeException);
527 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
529 // XPropertySet
530 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
531 SAL_CALL getPropertySetInfo()
532 throw(::com::sun::star::uno::RuntimeException);
533 virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
534 const ::com::sun::star::uno::Any& aValue )
535 throw(::com::sun::star::beans::UnknownPropertyException,
536 ::com::sun::star::beans::PropertyVetoException,
537 ::com::sun::star::lang::IllegalArgumentException,
538 ::com::sun::star::lang::WrappedTargetException,
539 ::com::sun::star::uno::RuntimeException);
540 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
541 const OUString& PropertyName )
542 throw(::com::sun::star::beans::UnknownPropertyException,
543 ::com::sun::star::lang::WrappedTargetException,
544 ::com::sun::star::uno::RuntimeException);
545 virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
546 const ::com::sun::star::uno::Reference<
547 ::com::sun::star::beans::XPropertyChangeListener >& xListener )
548 throw(::com::sun::star::beans::UnknownPropertyException,
549 ::com::sun::star::lang::WrappedTargetException,
550 ::com::sun::star::uno::RuntimeException);
551 virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
552 const ::com::sun::star::uno::Reference<
553 ::com::sun::star::beans::XPropertyChangeListener >& aListener )
554 throw(::com::sun::star::beans::UnknownPropertyException,
555 ::com::sun::star::lang::WrappedTargetException,
556 ::com::sun::star::uno::RuntimeException);
557 virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
558 const ::com::sun::star::uno::Reference<
559 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
560 throw(::com::sun::star::beans::UnknownPropertyException,
561 ::com::sun::star::lang::WrappedTargetException,
562 ::com::sun::star::uno::RuntimeException);
563 virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
564 const ::com::sun::star::uno::Reference<
565 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
566 throw(::com::sun::star::beans::UnknownPropertyException,
567 ::com::sun::star::lang::WrappedTargetException,
568 ::com::sun::star::uno::RuntimeException);
570 // XServiceInfo
571 virtual OUString SAL_CALL getImplementationName()
572 throw(::com::sun::star::uno::RuntimeException);
573 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
574 throw(::com::sun::star::uno::RuntimeException);
575 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
576 throw(::com::sun::star::uno::RuntimeException);
580 class ScTableRowsObj : public cppu::WeakImplHelper4<
581 com::sun::star::table::XTableRows,
582 com::sun::star::container::XEnumerationAccess,
583 com::sun::star::beans::XPropertySet,
584 com::sun::star::lang::XServiceInfo>,
585 public SfxListener
587 private:
588 ScDocShell* pDocShell;
589 SCTAB nTab;
590 SCROW nStartRow;
591 SCROW nEndRow;
593 ScTableRowObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const;
595 public:
596 ScTableRowsObj(ScDocShell* pDocSh, SCTAB nT,
597 SCROW nSR, SCROW nER);
598 virtual ~ScTableRowsObj();
600 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
602 // XTableRows
603 virtual void SAL_CALL insertByIndex( sal_Int32 nIndex, sal_Int32 nCount )
604 throw(::com::sun::star::uno::RuntimeException);
605 virtual void SAL_CALL removeByIndex( sal_Int32 nIndex, sal_Int32 nCount )
606 throw(::com::sun::star::uno::RuntimeException);
608 // XIndexAccess
609 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
610 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
611 throw(::com::sun::star::lang::IndexOutOfBoundsException,
612 ::com::sun::star::lang::WrappedTargetException,
613 ::com::sun::star::uno::RuntimeException);
615 // XEnumerationAccess
616 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
617 createEnumeration() throw(::com::sun::star::uno::RuntimeException);
619 // XElementAccess
620 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
621 throw(::com::sun::star::uno::RuntimeException);
622 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
624 // XPropertySet
625 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
626 SAL_CALL getPropertySetInfo()
627 throw(::com::sun::star::uno::RuntimeException);
628 virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
629 const ::com::sun::star::uno::Any& aValue )
630 throw(::com::sun::star::beans::UnknownPropertyException,
631 ::com::sun::star::beans::PropertyVetoException,
632 ::com::sun::star::lang::IllegalArgumentException,
633 ::com::sun::star::lang::WrappedTargetException,
634 ::com::sun::star::uno::RuntimeException);
635 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
636 const OUString& PropertyName )
637 throw(::com::sun::star::beans::UnknownPropertyException,
638 ::com::sun::star::lang::WrappedTargetException,
639 ::com::sun::star::uno::RuntimeException);
640 virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
641 const ::com::sun::star::uno::Reference<
642 ::com::sun::star::beans::XPropertyChangeListener >& xListener )
643 throw(::com::sun::star::beans::UnknownPropertyException,
644 ::com::sun::star::lang::WrappedTargetException,
645 ::com::sun::star::uno::RuntimeException);
646 virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
647 const ::com::sun::star::uno::Reference<
648 ::com::sun::star::beans::XPropertyChangeListener >& aListener )
649 throw(::com::sun::star::beans::UnknownPropertyException,
650 ::com::sun::star::lang::WrappedTargetException,
651 ::com::sun::star::uno::RuntimeException);
652 virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
653 const ::com::sun::star::uno::Reference<
654 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
655 throw(::com::sun::star::beans::UnknownPropertyException,
656 ::com::sun::star::lang::WrappedTargetException,
657 ::com::sun::star::uno::RuntimeException);
658 virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
659 const ::com::sun::star::uno::Reference<
660 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
661 throw(::com::sun::star::beans::UnknownPropertyException,
662 ::com::sun::star::lang::WrappedTargetException,
663 ::com::sun::star::uno::RuntimeException);
665 // XServiceInfo
666 virtual OUString SAL_CALL getImplementationName()
667 throw(::com::sun::star::uno::RuntimeException);
668 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
669 throw(::com::sun::star::uno::RuntimeException);
670 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
671 throw(::com::sun::star::uno::RuntimeException);
675 class ScSpreadsheetSettingsObj : public cppu::WeakImplHelper2<
676 com::sun::star::beans::XPropertySet,
677 com::sun::star::lang::XServiceInfo>,
678 public SfxListener
680 private:
681 ScDocShell* pDocShell;
683 public:
684 virtual ~ScSpreadsheetSettingsObj();
686 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
688 // XPropertySet
689 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
690 SAL_CALL getPropertySetInfo()
691 throw(::com::sun::star::uno::RuntimeException);
692 virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
693 const ::com::sun::star::uno::Any& aValue )
694 throw(::com::sun::star::beans::UnknownPropertyException,
695 ::com::sun::star::beans::PropertyVetoException,
696 ::com::sun::star::lang::IllegalArgumentException,
697 ::com::sun::star::lang::WrappedTargetException,
698 ::com::sun::star::uno::RuntimeException);
699 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
700 const OUString& PropertyName )
701 throw(::com::sun::star::beans::UnknownPropertyException,
702 ::com::sun::star::lang::WrappedTargetException,
703 ::com::sun::star::uno::RuntimeException);
704 virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
705 const ::com::sun::star::uno::Reference<
706 ::com::sun::star::beans::XPropertyChangeListener >& xListener )
707 throw(::com::sun::star::beans::UnknownPropertyException,
708 ::com::sun::star::lang::WrappedTargetException,
709 ::com::sun::star::uno::RuntimeException);
710 virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
711 const ::com::sun::star::uno::Reference<
712 ::com::sun::star::beans::XPropertyChangeListener >& aListener )
713 throw(::com::sun::star::beans::UnknownPropertyException,
714 ::com::sun::star::lang::WrappedTargetException,
715 ::com::sun::star::uno::RuntimeException);
716 virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
717 const ::com::sun::star::uno::Reference<
718 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
719 throw(::com::sun::star::beans::UnknownPropertyException,
720 ::com::sun::star::lang::WrappedTargetException,
721 ::com::sun::star::uno::RuntimeException);
722 virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
723 const ::com::sun::star::uno::Reference<
724 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
725 throw(::com::sun::star::beans::UnknownPropertyException,
726 ::com::sun::star::lang::WrappedTargetException,
727 ::com::sun::star::uno::RuntimeException);
729 // XServiceInfo
730 virtual OUString SAL_CALL getImplementationName()
731 throw(::com::sun::star::uno::RuntimeException);
732 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
733 throw(::com::sun::star::uno::RuntimeException);
734 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
735 throw(::com::sun::star::uno::RuntimeException);
739 class ScAnnotationsObj : public cppu::WeakImplHelper3<
740 com::sun::star::sheet::XSheetAnnotations,
741 com::sun::star::container::XEnumerationAccess,
742 com::sun::star::lang::XServiceInfo>,
743 public SfxListener
745 private:
746 ScDocShell* pDocShell;
747 SCTAB nTab; // Collection belongs to the sheet
749 bool GetAddressByIndex_Impl( sal_Int32 nIndex, ScAddress& rPos ) const;
750 ScAnnotationObj* GetObjectByIndex_Impl( sal_Int32 nIndex ) const;
752 public:
753 ScAnnotationsObj(ScDocShell* pDocSh, SCTAB nT);
754 virtual ~ScAnnotationsObj();
756 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
758 // XSheetAnnotations
759 virtual void SAL_CALL insertNew( const ::com::sun::star::table::CellAddress& aPosition,
760 const OUString& aText )
761 throw(::com::sun::star::uno::RuntimeException);
762 virtual void SAL_CALL removeByIndex( sal_Int32 nIndex )
763 throw(::com::sun::star::uno::RuntimeException);
765 // XIndexAccess
766 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
767 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
768 throw(::com::sun::star::lang::IndexOutOfBoundsException,
769 ::com::sun::star::lang::WrappedTargetException,
770 ::com::sun::star::uno::RuntimeException);
772 // XEnumerationAccess
773 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
774 createEnumeration() throw(::com::sun::star::uno::RuntimeException);
776 // XElementAccess
777 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
778 throw(::com::sun::star::uno::RuntimeException);
779 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
781 // XServiceInfo
782 virtual OUString SAL_CALL getImplementationName()
783 throw(::com::sun::star::uno::RuntimeException);
784 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
785 throw(::com::sun::star::uno::RuntimeException);
786 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
787 throw(::com::sun::star::uno::RuntimeException);
791 class ScScenariosObj : public cppu::WeakImplHelper4<
792 com::sun::star::sheet::XScenarios,
793 com::sun::star::container::XEnumerationAccess,
794 com::sun::star::container::XIndexAccess,
795 com::sun::star::lang::XServiceInfo>,
796 public SfxListener
798 private:
799 ScDocShell* pDocShell;
800 SCTAB nTab;
802 sal_Bool GetScenarioIndex_Impl( const OUString& rName, SCTAB& rIndex );
803 ScTableSheetObj* GetObjectByIndex_Impl(sal_Int32 nIndex);
804 ScTableSheetObj* GetObjectByName_Impl(const OUString& aName);
806 public:
807 ScScenariosObj(ScDocShell* pDocSh, SCTAB nT);
808 virtual ~ScScenariosObj();
810 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
812 // XScenarios
813 virtual void SAL_CALL addNewByName( const OUString& aName,
814 const ::com::sun::star::uno::Sequence<
815 ::com::sun::star::table::CellRangeAddress >& aRanges,
816 const OUString& aComment )
817 throw(::com::sun::star::uno::RuntimeException);
818 virtual void SAL_CALL removeByName( const OUString& aName )
819 throw(::com::sun::star::uno::RuntimeException);
821 // XNameAccess
822 virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName )
823 throw(::com::sun::star::container::NoSuchElementException,
824 ::com::sun::star::lang::WrappedTargetException,
825 ::com::sun::star::uno::RuntimeException);
826 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames()
827 throw(::com::sun::star::uno::RuntimeException);
828 virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
829 throw(::com::sun::star::uno::RuntimeException);
831 // XIndexAccess
832 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException);
833 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
834 throw(::com::sun::star::lang::IndexOutOfBoundsException,
835 ::com::sun::star::lang::WrappedTargetException,
836 ::com::sun::star::uno::RuntimeException);
838 // XEnumerationAccess
839 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
840 createEnumeration() throw(::com::sun::star::uno::RuntimeException);
842 // XElementAccess
843 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
844 throw(::com::sun::star::uno::RuntimeException);
845 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException);
847 // XServiceInfo
848 virtual OUString SAL_CALL getImplementationName()
849 throw(::com::sun::star::uno::RuntimeException);
850 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
851 throw(::com::sun::star::uno::RuntimeException);
852 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
853 throw(::com::sun::star::uno::RuntimeException);
859 #endif
861 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */