1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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 .
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"
58 class ScAnnotationObj
;
60 class ScPrintFuncCache
;
61 class ScPrintSelectionStatus
;
62 class ScTableColumnObj
;
64 class ScTableSheetObj
;
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
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();
111 const SfxItemPropertySet
& GetPropertySet() const { return aPropSet
; }
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
);
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
);
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
);
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
);
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
);
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
);
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
);
223 virtual void SAL_CALL
refreshArrows() throw(::com::sun::star::uno::RuntimeException
);
226 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XIndexAccess
> SAL_CALL
getViewData( )
227 throw (::com::sun::star::uno::RuntimeException
);
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
);
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
);
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
);
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
);
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
>,
323 ScDocShell
* pDocShell
;
325 ::com::sun::star::uno::Reference
< ::com::sun::star::drawing::XDrawPage
>
326 GetObjectByIndex_Impl(sal_Int32 nIndex
) const;
329 ScDrawPagesObj(ScDocShell
* pDocSh
);
330 virtual ~ScDrawPagesObj();
332 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
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
);
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
);
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
);
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
>,
373 ScDocShell
* pDocShell
;
375 ScTableSheetObj
* GetObjectByIndex_Impl(sal_Int32 nIndex
) const;
376 ScTableSheetObj
* GetObjectByName_Impl(const OUString
& aName
) const;
379 ScTableSheetsObj(ScDocShell
* pDocSh
);
380 virtual ~ScTableSheetsObj();
382 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
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
);
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
);
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
);
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
);
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
);
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
);
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
);
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
);
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
>,
482 ScDocShell
* pDocShell
;
487 ScTableColumnObj
* GetObjectByIndex_Impl(sal_Int32 nIndex
) const;
488 ScTableColumnObj
* GetObjectByName_Impl(const OUString
& aName
) const;
491 ScTableColumnsObj(ScDocShell
* pDocSh
, SCTAB nT
,
492 SCCOL nSC
, SCCOL nEC
);
493 virtual ~ScTableColumnsObj();
495 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
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
);
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
);
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
);
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
);
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
);
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
>,
588 ScDocShell
* pDocShell
;
593 ScTableRowObj
* GetObjectByIndex_Impl(sal_Int32 nIndex
) const;
596 ScTableRowsObj(ScDocShell
* pDocSh
, SCTAB nT
,
597 SCROW nSR
, SCROW nER
);
598 virtual ~ScTableRowsObj();
600 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
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
);
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
);
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
);
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
);
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
>,
681 ScDocShell
* pDocShell
;
684 virtual ~ScSpreadsheetSettingsObj();
686 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
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
);
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
>,
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;
753 ScAnnotationsObj(ScDocShell
* pDocSh
, SCTAB nT
);
754 virtual ~ScAnnotationsObj();
756 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
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
);
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
);
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
);
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
>,
799 ScDocShell
* pDocShell
;
802 sal_Bool
GetScenarioIndex_Impl( const OUString
& rName
, SCTAB
& rIndex
);
803 ScTableSheetObj
* GetObjectByIndex_Impl(sal_Int32 nIndex
);
804 ScTableSheetObj
* GetObjectByName_Impl(const OUString
& aName
);
807 ScScenariosObj(ScDocShell
* pDocSh
, SCTAB nT
);
808 virtual ~ScScenariosObj();
810 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
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
);
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
);
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
);
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
);
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
);
861 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */