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