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