Bump version to 4.3-4
[LibreOffice.git] / sc / inc / cellsuno.hxx
blobda3247270db8f1216f3c1168189cf8d619ca5b4a
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_SC_INC_CELLSUNO_HXX
21 #define INCLUDED_SC_INC_CELLSUNO_HXX
23 #include "global.hxx"
24 #include "rangelst.hxx"
26 #include <editeng/unotext.hxx>
27 #include <formula/grammar.hxx>
28 #include <rtl/ref.hxx>
29 #include <tools/link.hxx>
30 #include <svl/lstner.hxx>
31 #include <svl/listener.hxx>
32 #include <svl/itemprop.hxx>
33 #include <com/sun/star/table/XTableChartsSupplier.hpp>
34 #include <com/sun/star/chart/XChartDataArray.hpp>
35 #include <com/sun/star/text/XTextFieldsSupplier.hpp>
36 #include <com/sun/star/drawing/XDrawPageSupplier.hpp>
37 #include <com/sun/star/sheet/XSheetCellRange.hpp>
38 #include <com/sun/star/sheet/XFormulaQuery.hpp>
39 #include <com/sun/star/sheet/XCellRangeAddressable.hpp>
40 #include <com/sun/star/sheet/XSheetOperation.hpp>
41 #include <com/sun/star/sheet/XSheetCellRangeContainer.hpp>
42 #include <com/sun/star/sheet/XCellFormatRangesSupplier.hpp>
43 #include <com/sun/star/sheet/XUniqueCellFormatRangesSupplier.hpp>
44 #include <com/sun/star/sheet/XCellRangesQuery.hpp>
45 #include <com/sun/star/sheet/XSheetFilterableEx.hpp>
46 #include <com/sun/star/sheet/XSpreadsheet.hpp>
47 #include <com/sun/star/sheet/XSheetPageBreak.hpp>
48 #include <com/sun/star/sheet/XCellRangeMovement.hpp>
49 #include <com/sun/star/text/XText.hpp>
50 #include <com/sun/star/sheet/XPrintAreas.hpp>
51 #include <com/sun/star/sheet/XSheetLinkable.hpp>
52 #include <com/sun/star/sheet/XSubTotalCalculatable.hpp>
53 #include <com/sun/star/sheet/XArrayFormulaRange.hpp>
54 #include <com/sun/star/sheet/XCellRangeData.hpp>
55 #include <com/sun/star/sheet/XCellRangeFormula.hpp>
56 #include <com/sun/star/sheet/XCellSeries.hpp>
57 #include <com/sun/star/sheet/XMultipleOperation.hpp>
58 #include <com/sun/star/sheet/XFormulaTokens.hpp>
59 #include <com/sun/star/sheet/XArrayFormulaTokens.hpp>
60 #include <com/sun/star/sheet/XCellAddressable.hpp>
61 #include <com/sun/star/util/XReplaceable.hpp>
62 #include <com/sun/star/util/XIndent.hpp>
63 #include <com/sun/star/lang/XServiceInfo.hpp>
64 #include <com/sun/star/container/XNameContainer.hpp>
65 #include <com/sun/star/util/XMergeable.hpp>
66 #include <com/sun/star/table/XAutoFormattable.hpp>
67 #include <com/sun/star/util/XSortable.hpp>
68 #include <com/sun/star/util/XImportable.hpp>
69 #include <com/sun/star/table/XColumnRowRange.hpp>
70 #include <com/sun/star/table/XCell2.hpp>
71 #include <com/sun/star/table/BorderLine2.hpp>
72 #include <com/sun/star/table/TableBorder.hpp>
73 #include <com/sun/star/table/TableBorder2.hpp>
74 #include <com/sun/star/sheet/XDataPilotTablesSupplier.hpp>
75 #include <com/sun/star/sheet/XSheetAnnotationAnchor.hpp>
76 #include <com/sun/star/sheet/XScenariosSupplier.hpp>
77 #include <com/sun/star/sheet/XSheetAnnotationsSupplier.hpp>
78 #include <com/sun/star/sheet/XSheetAuditing.hpp>
79 #include <com/sun/star/sheet/XSheetOutline.hpp>
80 #include <com/sun/star/util/XProtectable.hpp>
81 #include <com/sun/star/sheet/XScenario.hpp>
82 #include <com/sun/star/sheet/XScenarioEnhanced.hpp>
83 #include <com/sun/star/util/XModifyBroadcaster.hpp>
84 #include <com/sun/star/beans/XPropertyState.hpp>
85 #include <com/sun/star/beans/XMultiPropertySet.hpp>
86 #include <com/sun/star/lang/XUnoTunnel.hpp>
87 #include <com/sun/star/document/XActionLockable.hpp>
88 #include <com/sun/star/beans/XTolerantMultiPropertySet.hpp>
89 #include <com/sun/star/sheet/XExternalSheetName.hpp>
90 #include <com/sun/star/document/XEventsSupplier.hpp>
91 #include <cppuhelper/implbase2.hxx>
92 #include <cppuhelper/implbase3.hxx>
93 #include <boost/ptr_container/ptr_vector.hpp>
94 #include <boost/scoped_ptr.hpp>
96 #include <vector>
98 class ScDocShell;
99 class ScMarkData;
100 class ScMemChart;
101 class ScPrintRangeSaver;
102 class ScAttrRectIterator;
103 class ScCellRangeObj;
104 class ScLinkListener;
105 class ScPatternAttr;
106 class SvxBoxItem;
107 class SvxBoxInfoItem;
108 class SvxItemPropertySet;
110 namespace editeng { class SvxBorderLine; }
112 class ScLinkListener : public SvtListener
114 Link aLink;
115 public:
116 ScLinkListener(const Link& rL) : aLink(rL) {}
117 virtual ~ScLinkListener();
118 virtual void Notify( const SfxHint& rHint ) SAL_OVERRIDE;
121 typedef ::com::sun::star::uno::Reference<
122 ::com::sun::star::util::XModifyListener > XModifyListenerRef;
123 typedef boost::ptr_vector<XModifyListenerRef> XModifyListenerArr_Impl;
126 // ScCellRangesBase - base class for ScCellRangesObj (with access by index)
127 // and ScCellRangeObj (without access by index)
129 // XServiceInfo is implemented in derived classes
131 class ScHelperFunctions
133 public:
134 static const ::editeng::SvxBorderLine* GetBorderLine( ::editeng::SvxBorderLine& rLine, const com::sun::star::table::BorderLine& rStruct );
135 static const ::editeng::SvxBorderLine* GetBorderLine( ::editeng::SvxBorderLine& rLine, const com::sun::star::table::BorderLine2& rStruct );
136 static void FillBoxItems( SvxBoxItem& rOuter, SvxBoxInfoItem& rInner, const com::sun::star::table::TableBorder& rBorder );
137 static void FillBoxItems( SvxBoxItem& rOuter, SvxBoxInfoItem& rInner, const com::sun::star::table::TableBorder2& rBorder );
138 static void FillBorderLine( com::sun::star::table::BorderLine& rStruct, const ::editeng::SvxBorderLine* pLine );
139 static void FillBorderLine( com::sun::star::table::BorderLine2& rStruct, const ::editeng::SvxBorderLine* pLine );
140 static void AssignTableBorderToAny( com::sun::star::uno::Any& rAny,
141 const SvxBoxItem& rOuter, const SvxBoxInfoItem& rInner, bool bInvalidateHorVerDist = false );
142 static void AssignTableBorder2ToAny( com::sun::star::uno::Any& rAny,
143 const SvxBoxItem& rOuter, const SvxBoxInfoItem& rInner, bool bInvalidateHorVerDist = false );
144 static void ApplyBorder( ScDocShell* pDocShell, const ScRangeList& rRanges,
145 const SvxBoxItem& rOuter, const SvxBoxInfoItem& rInner );
148 namespace ooo
150 namespace vba {
151 namespace excel {
152 class ScVbaCellRangeAccess; // Vba Helper class
157 class SC_DLLPUBLIC ScCellRangesBase : public com::sun::star::beans::XPropertySet,
158 public com::sun::star::beans::XMultiPropertySet,
159 public com::sun::star::beans::XPropertyState,
160 public com::sun::star::sheet::XSheetOperation,
161 public com::sun::star::chart::XChartDataArray,
162 public com::sun::star::util::XIndent,
163 public com::sun::star::sheet::XCellRangesQuery,
164 public com::sun::star::sheet::XFormulaQuery,
165 public com::sun::star::util::XReplaceable,
166 public com::sun::star::util::XModifyBroadcaster,
167 public com::sun::star::lang::XServiceInfo,
168 public com::sun::star::lang::XUnoTunnel,
169 public com::sun::star::lang::XTypeProvider,
170 public com::sun::star::beans::XTolerantMultiPropertySet,
171 public cppu::OWeakObject,
172 public SfxListener
174 friend class ScTabViewObj; // for select()
175 friend class ScTableSheetObj; // for createCursorByRange()
176 friend class ooo::vba::excel::ScVbaCellRangeAccess;
178 private:
179 const SfxItemPropertySet* pPropSet;
180 ScDocShell* pDocShell;
181 ScLinkListener* pValueListener;
182 ScPatternAttr* pCurrentFlat;
183 ScPatternAttr* pCurrentDeep;
184 SfxItemSet* pCurrentDataSet;
185 SfxItemSet* pNoDfltCurrentDataSet;
186 ScMarkData* pMarkData;
187 ScRangeList aRanges;
188 sal_Int64 nObjectId;
189 bool bChartColAsHdr;
190 bool bChartRowAsHdr;
191 bool bCursorOnly;
192 bool bGotDataChangedHint;
193 XModifyListenerArr_Impl aValueListeners;
195 DECL_LINK( ValueListenerHdl, SfxHint* );
197 private:
198 void PaintRanges_Impl( sal_uInt16 nPart );
199 ScRangeListRef GetLimitedChartRanges_Impl( long nDataColumns, long nDataRows ) const;
200 void ForceChartListener_Impl();
201 ScMemChart* CreateMemChart_Impl() const;
203 const ScPatternAttr* GetCurrentAttrsFlat();
204 const ScPatternAttr* GetCurrentAttrsDeep();
205 SfxItemSet* GetCurrentDataSet(bool bNoDflt = false);
206 void ForgetMarkData();
207 void ForgetCurrentAttrs();
209 com::sun::star::uno::Reference<com::sun::star::sheet::XSheetCellRanges>
210 QueryDifferences_Impl(const com::sun::star::table::CellAddress& aCompare,
211 bool bColumnDiff);
212 com::sun::star::uno::Reference<com::sun::star::uno::XInterface>
213 Find_Impl(const com::sun::star::uno::Reference<
214 com::sun::star::util::XSearchDescriptor>& xDesc,
215 const ScAddress* pLastPos);
217 protected:
218 const ScMarkData* GetMarkData();
220 // GetItemPropertyMap for derived classes must contain all entries, including base class
221 virtual const SfxItemPropertyMap& GetItemPropertyMap();
222 virtual ::com::sun::star::beans::PropertyState GetOnePropertyState(
223 sal_uInt16 nItemWhich, const SfxItemPropertySimpleEntry* pEntry );
224 virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
225 ::com::sun::star::uno::Any& )
226 throw(::com::sun::star::uno::RuntimeException,
227 std::exception);
228 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
229 const ::com::sun::star::uno::Any& aValue )
230 throw(::com::sun::star::lang::IllegalArgumentException,
231 ::com::sun::star::uno::RuntimeException,
232 std::exception);
234 public:
235 ScCellRangesBase(ScDocShell* pDocSh, const ScRange& rR);
236 ScCellRangesBase(ScDocShell* pDocSh, const ScRangeList& rR);
237 virtual ~ScCellRangesBase();
239 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
240 const ::com::sun::star::uno::Type & rType )
241 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
242 virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
243 virtual void SAL_CALL release() throw() SAL_OVERRIDE;
245 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
246 virtual void RefChanged();
248 // from derived classes and by getImplementation
249 ScDocShell* GetDocShell() const { return pDocShell; }
250 ScDocument* GetDocument() const;
251 const ScRangeList& GetRangeList() const { return aRanges; }
252 void AddRange(const ScRange& rRange, const bool bMergeRanges);
254 // arouse object created via service:
255 void InitInsertRange(ScDocShell* pDocSh, const ScRange& rR);
257 void SetNewRange(const ScRange& rNew); // for cursor
258 void SetNewRanges(const ScRangeList& rNew);
260 void SetCursorOnly(bool bSet);
261 bool IsCursorOnly() const { return bCursorOnly; }
263 // XSheetOperation
264 virtual double SAL_CALL computeFunction( ::com::sun::star::sheet::GeneralFunction nFunction )
265 throw(::com::sun::star::uno::Exception,
266 ::com::sun::star::uno::RuntimeException,
267 std::exception) SAL_OVERRIDE;
268 virtual void SAL_CALL clearContents( sal_Int32 nContentFlags )
269 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
271 // XPropertySet
272 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
273 SAL_CALL getPropertySetInfo()
274 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
275 virtual void SAL_CALL setPropertyValue( const OUString& aPropertyName,
276 const ::com::sun::star::uno::Any& aValue )
277 throw(::com::sun::star::beans::UnknownPropertyException,
278 ::com::sun::star::beans::PropertyVetoException,
279 ::com::sun::star::lang::IllegalArgumentException,
280 ::com::sun::star::lang::WrappedTargetException,
281 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
282 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(
283 const OUString& PropertyName )
284 throw(::com::sun::star::beans::UnknownPropertyException,
285 ::com::sun::star::lang::WrappedTargetException,
286 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
287 virtual void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
288 const ::com::sun::star::uno::Reference<
289 ::com::sun::star::beans::XPropertyChangeListener >& xListener )
290 throw(::com::sun::star::beans::UnknownPropertyException,
291 ::com::sun::star::lang::WrappedTargetException,
292 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
293 virtual void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
294 const ::com::sun::star::uno::Reference<
295 ::com::sun::star::beans::XPropertyChangeListener >& aListener )
296 throw(::com::sun::star::beans::UnknownPropertyException,
297 ::com::sun::star::lang::WrappedTargetException,
298 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
299 virtual void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
300 const ::com::sun::star::uno::Reference<
301 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
302 throw(::com::sun::star::beans::UnknownPropertyException,
303 ::com::sun::star::lang::WrappedTargetException,
304 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
305 virtual void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
306 const ::com::sun::star::uno::Reference<
307 ::com::sun::star::beans::XVetoableChangeListener >& aListener )
308 throw(::com::sun::star::beans::UnknownPropertyException,
309 ::com::sun::star::lang::WrappedTargetException,
310 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
312 // XMultiPropertySet
313 virtual void SAL_CALL setPropertyValues( const ::com::sun::star::uno::Sequence< OUString >& aPropertyNames,
314 const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues )
315 throw (::com::sun::star::beans::PropertyVetoException,
316 ::com::sun::star::lang::IllegalArgumentException,
317 ::com::sun::star::lang::WrappedTargetException,
318 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
319 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL
320 getPropertyValues( const ::com::sun::star::uno::Sequence< OUString >& aPropertyNames )
321 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
322 virtual void SAL_CALL addPropertiesChangeListener( const ::com::sun::star::uno::Sequence< OUString >& aPropertyNames,
323 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener )
324 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
325 virtual void SAL_CALL removePropertiesChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener )
326 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
327 virtual void SAL_CALL firePropertiesChangeEvent( const ::com::sun::star::uno::Sequence< OUString >& aPropertyNames,
328 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener )
329 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
331 // XTolerantMultiPropertySet
332 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::SetPropertyTolerantFailed > SAL_CALL
333 setPropertyValuesTolerant( const ::com::sun::star::uno::Sequence< OUString >& aPropertyNames,
334 const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues )
335 throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
336 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::GetPropertyTolerantResult > SAL_CALL
337 getPropertyValuesTolerant( const ::com::sun::star::uno::Sequence< OUString >& aPropertyNames )
338 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
339 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::GetDirectPropertyTolerantResult > SAL_CALL
340 getDirectPropertyValuesTolerant( const ::com::sun::star::uno::Sequence< OUString >& aPropertyNames )
341 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
343 // XPropertyState
344 virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState(
345 const OUString& PropertyName )
346 throw(::com::sun::star::beans::UnknownPropertyException,
347 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
348 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL
349 getPropertyStates( const ::com::sun::star::uno::Sequence<
350 OUString >& aPropertyName )
351 throw(::com::sun::star::beans::UnknownPropertyException,
352 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
353 virtual void SAL_CALL setPropertyToDefault( const OUString& PropertyName )
354 throw(::com::sun::star::beans::UnknownPropertyException,
355 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
356 virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault(
357 const OUString& aPropertyName )
358 throw(::com::sun::star::beans::UnknownPropertyException,
359 ::com::sun::star::lang::WrappedTargetException,
360 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
362 // XIndent
363 virtual void SAL_CALL decrementIndent() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
364 virtual void SAL_CALL incrementIndent() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
366 // XChartData
367 virtual void SAL_CALL addChartDataChangeEventListener(
368 const ::com::sun::star::uno::Reference<
369 ::com::sun::star::chart::XChartDataChangeEventListener >& aListener )
370 throw(::com::sun::star::uno::RuntimeException,
371 std::exception) SAL_OVERRIDE;
372 virtual void SAL_CALL removeChartDataChangeEventListener( const ::com::sun::star::uno::Reference<
373 ::com::sun::star::chart::XChartDataChangeEventListener >& aListener )
374 throw (::com::sun::star::uno::RuntimeException,
375 std::exception) SAL_OVERRIDE;
376 virtual double SAL_CALL getNotANumber() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
377 virtual sal_Bool SAL_CALL isNotANumber( double nNumber )
378 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
380 // XChartDataArray
381 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< double > > SAL_CALL
382 getData()
383 throw(::com::sun::star::uno::RuntimeException,
384 std::exception) SAL_OVERRIDE;
385 virtual void SAL_CALL setData( const ::com::sun::star::uno::Sequence<
386 ::com::sun::star::uno::Sequence< double > >& aData )
387 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
388 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getRowDescriptions()
389 throw(::com::sun::star::uno::RuntimeException,
390 std::exception) SAL_OVERRIDE;
391 virtual void SAL_CALL setRowDescriptions( const ::com::sun::star::uno::Sequence<
392 OUString >& aRowDescriptions )
393 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
394 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getColumnDescriptions()
395 throw(::com::sun::star::uno::RuntimeException,
396 std::exception) SAL_OVERRIDE;
397 virtual void SAL_CALL setColumnDescriptions( const ::com::sun::star::uno::Sequence<
398 OUString >& aColumnDescriptions )
399 throw(::com::sun::star::uno::RuntimeException,
400 std::exception) SAL_OVERRIDE;
402 // XCellRangesQuery
403 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL
404 queryVisibleCells()
405 throw(::com::sun::star::uno::RuntimeException,
406 std::exception) SAL_OVERRIDE;
407 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL
408 queryEmptyCells()
409 throw(::com::sun::star::uno::RuntimeException,
410 std::exception) SAL_OVERRIDE;
411 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL
412 queryContentCells( sal_Int16 nContentFlags )
413 throw(::com::sun::star::uno::RuntimeException,
414 std::exception) SAL_OVERRIDE;
415 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL
416 queryFormulaCells( sal_Int32 nResultFlags )
417 throw(::com::sun::star::uno::RuntimeException,
418 std::exception) SAL_OVERRIDE;
419 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL
420 queryColumnDifferences(
421 const ::com::sun::star::table::CellAddress& aCompare )
422 throw(::com::sun::star::uno::RuntimeException,
423 std::exception) SAL_OVERRIDE;
424 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL
425 queryRowDifferences(
426 const ::com::sun::star::table::CellAddress& aCompare )
427 throw(::com::sun::star::uno::RuntimeException,
428 std::exception) SAL_OVERRIDE;
429 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL
430 queryIntersection(
431 const ::com::sun::star::table::CellRangeAddress& aRange )
432 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
434 // XFormulaQuery
435 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL
436 queryDependents( sal_Bool bRecursive )
437 throw(::com::sun::star::uno::RuntimeException,
438 std::exception) SAL_OVERRIDE;
439 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellRanges > SAL_CALL
440 queryPrecedents( sal_Bool bRecursive )
441 throw(::com::sun::star::uno::RuntimeException,
442 std::exception) SAL_OVERRIDE;
444 // XSearchable
445 virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XSearchDescriptor > SAL_CALL
446 createSearchDescriptor()
447 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
448 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL
449 findAll( const ::com::sun::star::uno::Reference<
450 ::com::sun::star::util::XSearchDescriptor >& xDesc )
451 throw(::com::sun::star::uno::RuntimeException,
452 std::exception) SAL_OVERRIDE;
453 virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
454 findFirst( const ::com::sun::star::uno::Reference<
455 ::com::sun::star::util::XSearchDescriptor >& xDesc )
456 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
457 virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
458 findNext( const ::com::sun::star::uno::Reference<
459 ::com::sun::star::uno::XInterface >& xStartAt,
460 const ::com::sun::star::uno::Reference<
461 ::com::sun::star::util::XSearchDescriptor >& xDesc )
462 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
464 // XReplaceable
465 virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XReplaceDescriptor > SAL_CALL
466 createReplaceDescriptor() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
467 virtual sal_Int32 SAL_CALL replaceAll( const ::com::sun::star::uno::Reference<
468 ::com::sun::star::util::XSearchDescriptor >& xDesc )
469 throw(::com::sun::star::uno::RuntimeException,
470 std::exception) SAL_OVERRIDE;
472 // XModifyBroadcaster
473 virtual void SAL_CALL addModifyListener( const ::com::sun::star::uno::Reference<
474 ::com::sun::star::util::XModifyListener >& aListener )
475 throw (::com::sun::star::uno::RuntimeException,
476 std::exception) SAL_OVERRIDE;
477 virtual void SAL_CALL removeModifyListener( const ::com::sun::star::uno::Reference<
478 ::com::sun::star::util::XModifyListener >& aListener )
479 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
481 // XServiceInfo
482 virtual OUString SAL_CALL getImplementationName()
483 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
484 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
485 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
486 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
487 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
489 // XUnoTunnel
490 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence<
491 sal_Int8 >& aIdentifier )
492 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
494 static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
495 static ScCellRangesBase* getImplementation( const com::sun::star::uno::Reference<
496 com::sun::star::uno::XInterface> xObj );
498 // XTypeProvider
499 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
500 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
501 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
502 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
506 class SC_DLLPUBLIC ScCellRangesObj : public ScCellRangesBase,
507 public com::sun::star::sheet::XSheetCellRangeContainer,
508 public com::sun::star::container::XNameContainer,
509 public com::sun::star::container::XEnumerationAccess
511 private:
512 struct Impl;
513 ::boost::scoped_ptr<Impl> m_pImpl;
515 ScCellRangeObj* GetObjectByIndex_Impl(sal_Int32 nIndex) const;
517 public:
518 ScCellRangesObj(ScDocShell* pDocSh, const ScRangeList& rR);
519 virtual ~ScCellRangesObj();
521 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
522 const ::com::sun::star::uno::Type & rType )
523 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
524 virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
525 virtual void SAL_CALL release() throw() SAL_OVERRIDE;
527 virtual void RefChanged() SAL_OVERRIDE;
529 // XSheetCellRanges
530 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumerationAccess > SAL_CALL
531 getCells() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
532 virtual OUString SAL_CALL getRangeAddressesAsString()
533 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
534 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress > SAL_CALL
535 getRangeAddresses() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
537 // XSheetCellRangeContainer
538 virtual void SAL_CALL addRangeAddress( const ::com::sun::star::table::CellRangeAddress& rRange,
539 sal_Bool bMergeRanges )
540 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
541 virtual void SAL_CALL removeRangeAddress( const ::com::sun::star::table::CellRangeAddress& rRange )
542 throw(::com::sun::star::container::NoSuchElementException,
543 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
544 virtual void SAL_CALL addRangeAddresses( const ::com::sun::star::uno::Sequence<
545 ::com::sun::star::table::CellRangeAddress >& rRanges,
546 sal_Bool bMergeRanges )
547 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
548 virtual void SAL_CALL removeRangeAddresses( const ::com::sun::star::uno::Sequence<
549 ::com::sun::star::table::CellRangeAddress >& rRanges )
550 throw(::com::sun::star::container::NoSuchElementException,
551 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
553 // XNameContainer
554 virtual void SAL_CALL insertByName( const OUString& aName,
555 const ::com::sun::star::uno::Any& aElement )
556 throw (::com::sun::star::lang::IllegalArgumentException,
557 ::com::sun::star::container::ElementExistException,
558 ::com::sun::star::lang::WrappedTargetException,
559 ::com::sun::star::uno::RuntimeException,
560 std::exception) SAL_OVERRIDE;
561 virtual void SAL_CALL removeByName( const OUString& Name )
562 throw(::com::sun::star::container::NoSuchElementException,
563 ::com::sun::star::lang::WrappedTargetException,
564 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
566 // XNameReplace
567 virtual void SAL_CALL replaceByName( const OUString& aName,
568 const ::com::sun::star::uno::Any& aElement )
569 throw(::com::sun::star::lang::IllegalArgumentException,
570 ::com::sun::star::container::NoSuchElementException,
571 ::com::sun::star::lang::WrappedTargetException,
572 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
574 // XNameAccess
575 virtual ::com::sun::star::uno::Any SAL_CALL getByName( const OUString& aName )
576 throw(::com::sun::star::container::NoSuchElementException,
577 ::com::sun::star::lang::WrappedTargetException,
578 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
579 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getElementNames()
580 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
581 virtual sal_Bool SAL_CALL hasByName( const OUString& aName )
582 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
584 // XIndexAccess
585 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
586 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
587 throw(::com::sun::star::lang::IndexOutOfBoundsException,
588 ::com::sun::star::lang::WrappedTargetException,
589 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
591 // XElementAccess
592 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
593 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
594 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
596 // XEnumerationAccess
597 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
598 createEnumeration() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
600 // XServiceInfo
601 virtual OUString SAL_CALL getImplementationName()
602 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
603 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
604 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
605 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
606 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
608 // XTypeProvider
609 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
610 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
611 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
612 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
616 class SC_DLLPUBLIC ScCellRangeObj : public ScCellRangesBase,
617 public com::sun::star::sheet::XCellRangeAddressable,
618 public com::sun::star::sheet::XSheetCellRange,
619 public com::sun::star::sheet::XArrayFormulaRange,
620 public com::sun::star::sheet::XArrayFormulaTokens,
621 public com::sun::star::sheet::XCellRangeData,
622 public com::sun::star::sheet::XCellRangeFormula,
623 public com::sun::star::sheet::XMultipleOperation,
624 public com::sun::star::util::XMergeable,
625 public com::sun::star::sheet::XCellSeries,
626 public com::sun::star::table::XAutoFormattable,
627 public com::sun::star::util::XSortable,
628 public com::sun::star::sheet::XSheetFilterableEx,
629 public com::sun::star::sheet::XSubTotalCalculatable,
630 public com::sun::star::util::XImportable,
631 public com::sun::star::sheet::XCellFormatRangesSupplier,
632 public com::sun::star::sheet::XUniqueCellFormatRangesSupplier,
633 public com::sun::star::table::XColumnRowRange
635 private:
636 const SfxItemPropertySet* pRangePropSet;
637 ScRange aRange;
639 protected:
640 const ScRange& GetRange() const { return aRange; }
641 virtual const SfxItemPropertyMap& GetItemPropertyMap() SAL_OVERRIDE;
642 virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
643 ::com::sun::star::uno::Any& )
644 throw(::com::sun::star::uno::RuntimeException,
645 std::exception) SAL_OVERRIDE;
646 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
647 const ::com::sun::star::uno::Any& aValue )
648 throw(::com::sun::star::lang::IllegalArgumentException,
649 ::com::sun::star::uno::RuntimeException,
650 std::exception) SAL_OVERRIDE;
652 ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell >
653 GetCellByPosition_Impl( sal_Int32 nColumn, sal_Int32 nRow )
654 throw(::com::sun::star::lang::IndexOutOfBoundsException,
655 ::com::sun::star::uno::RuntimeException);
657 void SetArrayFormula_Impl( const OUString& rFormula,
658 const OUString& rFormulaNmsp,
659 const formula::FormulaGrammar::Grammar eGrammar )
660 throw(::com::sun::star::uno::RuntimeException);
662 public:
663 ScCellRangeObj(ScDocShell* pDocSh, const ScRange& rR);
664 virtual ~ScCellRangeObj();
666 // uses ObjectShell from document, if set (returns NULL otherwise)
667 static com::sun::star::uno::Reference<com::sun::star::table::XCellRange>
668 CreateRangeFromDoc( ScDocument* pDoc, const ScRange& rR );
670 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
671 const ::com::sun::star::uno::Type & rType )
672 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
673 virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
674 virtual void SAL_CALL release() throw() SAL_OVERRIDE;
676 virtual void RefChanged() SAL_OVERRIDE;
678 // via getImplementation()
679 virtual void SetArrayFormulaWithGrammar( const OUString& rFormula,
680 const OUString& rFormulaNmsp,
681 const formula::FormulaGrammar::Grammar )
682 throw(::com::sun::star::uno::RuntimeException);
684 // XCellRangeAddressable
685 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getRangeAddress()
686 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
688 // XSheetCellRange
689 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet > SAL_CALL
690 getSpreadsheet() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
692 // XArrayFormulaRange
693 virtual OUString SAL_CALL getArrayFormula() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
694 virtual void SAL_CALL setArrayFormula( const OUString& aFormula )
695 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
697 // XArrayFormulaTokens
698 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > SAL_CALL getArrayTokens()
699 throw (::com::sun::star::uno::RuntimeException,
700 std::exception) SAL_OVERRIDE;
701 virtual void SAL_CALL setArrayTokens( const ::com::sun::star::uno::Sequence<
702 ::com::sun::star::sheet::FormulaToken >& aTokens )
703 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
705 // XCellRangeData
706 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence<
707 ::com::sun::star::uno::Any > > SAL_CALL getDataArray()
708 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
709 virtual void SAL_CALL setDataArray( const ::com::sun::star::uno::Sequence<
710 ::com::sun::star::uno::Sequence<
711 ::com::sun::star::uno::Any > >& aArray )
712 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
714 // XCellRangeFormula
715 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence<
716 OUString > > SAL_CALL getFormulaArray()
717 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
718 virtual void SAL_CALL setFormulaArray( const ::com::sun::star::uno::Sequence<
719 ::com::sun::star::uno::Sequence< OUString > >& aArray )
720 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
722 // XMultipleOperation
723 virtual void SAL_CALL setTableOperation(
724 const ::com::sun::star::table::CellRangeAddress& aFormulaRange,
725 ::com::sun::star::sheet::TableOperationMode nMode,
726 const ::com::sun::star::table::CellAddress& aColumnCell,
727 const ::com::sun::star::table::CellAddress& aRowCell )
728 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
730 // XMergeable
731 virtual void SAL_CALL merge( sal_Bool bMerge ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
732 virtual sal_Bool SAL_CALL getIsMerged() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
734 // XCellSeries
735 virtual void SAL_CALL fillSeries( ::com::sun::star::sheet::FillDirection nFillDirection,
736 ::com::sun::star::sheet::FillMode nFillMode,
737 ::com::sun::star::sheet::FillDateMode nFillDateMode,
738 double fStep, double fEndValue )
739 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
740 virtual void SAL_CALL fillAuto( ::com::sun::star::sheet::FillDirection nFillDirection,
741 sal_Int32 nSourceCount )
742 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
744 // XAutoFormattable
745 virtual void SAL_CALL autoFormat( const OUString& aName )
746 throw(::com::sun::star::lang::IllegalArgumentException,
747 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
749 // XSortable
750 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL
751 createSortDescriptor() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
752 virtual void SAL_CALL sort( const ::com::sun::star::uno::Sequence<
753 ::com::sun::star::beans::PropertyValue >& xDescriptor )
754 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
756 // XSheetFilterableEx
757 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetFilterDescriptor > SAL_CALL
758 createFilterDescriptorByObject( const ::com::sun::star::uno::Reference<
759 ::com::sun::star::sheet::XSheetFilterable >& xObject )
760 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
762 // XSheetFilterable
763 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetFilterDescriptor > SAL_CALL
764 createFilterDescriptor( sal_Bool bEmpty )
765 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
766 virtual void SAL_CALL filter( const ::com::sun::star::uno::Reference<
767 ::com::sun::star::sheet::XSheetFilterDescriptor >& xDescriptor )
768 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
770 // XSubTotalCalculatable
771 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSubTotalDescriptor > SAL_CALL
772 createSubTotalDescriptor( sal_Bool bEmpty )
773 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
774 virtual void SAL_CALL applySubTotals(const ::com::sun::star::uno::Reference<
775 ::com::sun::star::sheet::XSubTotalDescriptor >& xDescriptor,
776 sal_Bool bReplace)
777 throw (::com::sun::star::uno::RuntimeException,
778 std::exception) SAL_OVERRIDE;
779 virtual void SAL_CALL removeSubTotals() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
781 // XImportable
782 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL
783 createImportDescriptor( sal_Bool bEmpty )
784 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
785 virtual void SAL_CALL doImport( const ::com::sun::star::uno::Sequence<
786 ::com::sun::star::beans::PropertyValue >& aDescriptor )
787 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
789 // XCellFormatRangesSupplier
790 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL
791 getCellFormatRanges() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
793 // XUniqueCellFormatRangesSupplier
794 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL
795 getUniqueCellFormatRanges() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
797 // XColumnRowRange
798 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XTableColumns > SAL_CALL
799 getColumns() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
800 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XTableRows > SAL_CALL
801 getRows() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
803 // XCellRange
804 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell > SAL_CALL
805 getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow )
806 throw(::com::sun::star::lang::IndexOutOfBoundsException,
807 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
808 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL
809 getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop,
810 sal_Int32 nRight, sal_Int32 nBottom )
811 throw(::com::sun::star::lang::IndexOutOfBoundsException,
812 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
813 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL
814 getCellRangeByName( const OUString& aRange )
815 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
816 ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange >
817 getCellRangeByName( const OUString& aRange, const ScAddress::Details& rDetails )
818 throw(::com::sun::star::uno::RuntimeException);
820 // XPropertySet overloaded due to Range-Properties
821 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
822 SAL_CALL getPropertySetInfo()
823 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
825 // XServiceInfo
826 virtual OUString SAL_CALL getImplementationName()
827 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
828 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
829 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
830 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
831 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
833 // XTypeProvider
834 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
835 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
836 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
837 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
841 //! really derive cell from range?
843 class SC_DLLPUBLIC ScCellObj : public ScCellRangeObj,
844 public com::sun::star::text::XText,
845 public com::sun::star::container::XEnumerationAccess,
846 public com::sun::star::table::XCell2,
847 public com::sun::star::sheet::XFormulaTokens,
848 public com::sun::star::sheet::XCellAddressable,
849 public com::sun::star::sheet::XSheetAnnotationAnchor,
850 public com::sun::star::text::XTextFieldsSupplier,
851 public com::sun::star::document::XActionLockable
853 private:
854 rtl::Reference<SvxUnoText> mxUnoText;
855 const SfxItemPropertySet* pCellPropSet;
856 ScAddress aCellPos;
857 sal_Int16 nActionLockCount;
859 private:
860 OUString GetInputString_Impl(bool bEnglish) const;
861 OUString GetOutputString_Impl() const;
862 void SetString_Impl(const OUString& rString, bool bInterpret, bool bEnglish);
863 double GetValue_Impl() const;
864 void SetValue_Impl(double fValue);
865 com::sun::star::table::CellContentType GetResultType_Impl();
867 protected:
868 virtual const SfxItemPropertyMap& GetItemPropertyMap() SAL_OVERRIDE;
869 virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
870 ::com::sun::star::uno::Any& )
871 throw(::com::sun::star::uno::RuntimeException,
872 std::exception) SAL_OVERRIDE;
873 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
874 const ::com::sun::star::uno::Any& aValue )
875 throw(::com::sun::star::lang::IllegalArgumentException,
876 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
878 public:
879 static const SvxItemPropertySet* GetEditPropertySet();
880 static const SfxItemPropertyMap& GetCellPropertyMap();
882 ScCellObj(ScDocShell* pDocSh, const ScAddress& rP);
883 virtual ~ScCellObj();
885 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
886 const ::com::sun::star::uno::Type & rType )
887 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
888 virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
889 virtual void SAL_CALL release() throw() SAL_OVERRIDE;
891 virtual void RefChanged() SAL_OVERRIDE;
893 SvxUnoText& GetUnoText();
895 // XML import needs to set results at formula cells,
896 // not meant for any other purpose.
897 const ScAddress& GetPosition() const { return aCellPos; }
899 void InputEnglishString( const OUString& rText );
901 // XText
902 virtual void SAL_CALL insertTextContent( const ::com::sun::star::uno::Reference<
903 ::com::sun::star::text::XTextRange >& xRange,
904 const ::com::sun::star::uno::Reference<
905 ::com::sun::star::text::XTextContent >& xContent,
906 sal_Bool bAbsorb )
907 throw(::com::sun::star::lang::IllegalArgumentException,
908 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
909 virtual void SAL_CALL removeTextContent( const ::com::sun::star::uno::Reference<
910 ::com::sun::star::text::XTextContent >& xContent )
911 throw(::com::sun::star::container::NoSuchElementException,
912 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
914 // XSimpleText
915 virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL
916 createTextCursor() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
917 virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextCursor > SAL_CALL
918 createTextCursorByRange( const ::com::sun::star::uno::Reference<
919 ::com::sun::star::text::XTextRange >& aTextPosition )
920 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
921 virtual void SAL_CALL insertString( const ::com::sun::star::uno::Reference<
922 ::com::sun::star::text::XTextRange >& xRange,
923 const OUString& aString, sal_Bool bAbsorb )
924 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
925 virtual void SAL_CALL insertControlCharacter( const ::com::sun::star::uno::Reference<
926 ::com::sun::star::text::XTextRange >& xRange,
927 sal_Int16 nControlCharacter, sal_Bool bAbsorb )
928 throw(::com::sun::star::lang::IllegalArgumentException,
929 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
931 // XTextRange
932 virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XText > SAL_CALL
933 getText() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
934 virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL
935 getStart() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
936 virtual ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > SAL_CALL
937 getEnd() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
938 virtual OUString SAL_CALL getString() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
939 virtual void SAL_CALL setString( const OUString& aString )
940 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
942 // XEnumerationAccess
943 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
944 createEnumeration() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
946 // XElementAccess
947 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
948 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
949 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
951 // XCell
952 virtual OUString SAL_CALL getFormula() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
953 virtual void SAL_CALL setFormula( const OUString& aFormula )
954 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
955 virtual void SAL_CALL setFormulaResult( double nValue )
956 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
957 virtual void SAL_CALL setFormulaString( const OUString& aFormula )
958 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
959 virtual double SAL_CALL getValue() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
960 virtual void SAL_CALL setValue( double nValue ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
961 virtual ::com::sun::star::table::CellContentType SAL_CALL getType()
962 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
963 virtual sal_Int32 SAL_CALL getError() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
965 // XFormulaTokens
966 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::FormulaToken > SAL_CALL getTokens()
967 throw (::com::sun::star::uno::RuntimeException,
968 std::exception) SAL_OVERRIDE;
969 virtual void SAL_CALL setTokens( const ::com::sun::star::uno::Sequence<
970 ::com::sun::star::sheet::FormulaToken >& aTokens )
971 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
973 // XCellAddressable
974 virtual ::com::sun::star::table::CellAddress SAL_CALL getCellAddress()
975 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
977 // XSheetAnnotationAnchor
978 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetAnnotation > SAL_CALL
979 getAnnotation() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
981 // XTextFieldsSupplier
982 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumerationAccess > SAL_CALL
983 getTextFields() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
984 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL
985 getTextFieldMasters() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
987 // XPropertySet overloaded due to cell properties
988 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
989 SAL_CALL getPropertySetInfo()
990 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
992 // XServiceInfo
993 virtual OUString SAL_CALL getImplementationName()
994 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
995 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
996 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
997 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
998 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1000 // XTypeProvider
1001 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
1002 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1003 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
1004 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1006 // XActionLockable
1007 virtual sal_Bool SAL_CALL isActionLocked() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1008 virtual void SAL_CALL addActionLock() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1009 virtual void SAL_CALL removeActionLock() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1010 virtual void SAL_CALL setActionLocks( sal_Int16 nLock )
1011 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1012 virtual sal_Int16 SAL_CALL resetActionLocks() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1016 class ScTableSheetObj : public ScCellRangeObj,
1017 public com::sun::star::sheet::XSpreadsheet,
1018 public com::sun::star::container::XNamed,
1019 public com::sun::star::sheet::XSheetPageBreak,
1020 public com::sun::star::sheet::XCellRangeMovement,
1021 public com::sun::star::table::XTableChartsSupplier,
1022 public com::sun::star::sheet::XDataPilotTablesSupplier,
1023 public com::sun::star::sheet::XScenariosSupplier,
1024 public com::sun::star::sheet::XSheetAnnotationsSupplier,
1025 public com::sun::star::drawing::XDrawPageSupplier,
1026 public com::sun::star::sheet::XPrintAreas,
1027 public com::sun::star::sheet::XSheetLinkable,
1028 public com::sun::star::sheet::XSheetAuditing,
1029 public com::sun::star::sheet::XSheetOutline,
1030 public com::sun::star::util::XProtectable,
1031 public com::sun::star::sheet::XScenario,
1032 public com::sun::star::sheet::XScenarioEnhanced,
1033 public com::sun::star::sheet::XExternalSheetName,
1034 public com::sun::star::document::XEventsSupplier
1036 friend class ScTableSheetsObj; // for insertByName()
1038 private:
1039 const SfxItemPropertySet* pSheetPropSet;
1041 SCTAB GetTab_Impl() const;
1042 void PrintAreaUndo_Impl( ScPrintRangeSaver* pOldRanges );
1044 protected:
1045 virtual const SfxItemPropertyMap& GetItemPropertyMap() SAL_OVERRIDE;
1046 virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
1047 ::com::sun::star::uno::Any& )
1048 throw(::com::sun::star::uno::RuntimeException,
1049 std::exception) SAL_OVERRIDE;
1050 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
1051 const ::com::sun::star::uno::Any& aValue )
1052 throw(::com::sun::star::lang::IllegalArgumentException,
1053 ::com::sun::star::uno::RuntimeException,
1054 std::exception) SAL_OVERRIDE;
1056 public:
1057 ScTableSheetObj(ScDocShell* pDocSh, SCTAB nTab);
1058 virtual ~ScTableSheetObj();
1060 void InitInsertSheet(ScDocShell* pDocSh, SCTAB nTab);
1062 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
1063 const ::com::sun::star::uno::Type & rType )
1064 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1065 virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
1066 virtual void SAL_CALL release() throw() SAL_OVERRIDE;
1068 // XSpreadsheet
1069 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellCursor >
1070 SAL_CALL createCursor() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1071 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetCellCursor > SAL_CALL
1072 createCursorByRange( const ::com::sun::star::uno::Reference<
1073 ::com::sun::star::sheet::XSheetCellRange >& aRange )
1074 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1076 // XSheetCellRange
1077 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet > SAL_CALL
1078 getSpreadsheet() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1080 // XCellRange
1081 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCell > SAL_CALL
1082 getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow )
1083 throw(::com::sun::star::lang::IndexOutOfBoundsException,
1084 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1085 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL
1086 getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop,
1087 sal_Int32 nRight, sal_Int32 nBottom )
1088 throw(::com::sun::star::lang::IndexOutOfBoundsException,
1089 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1090 using ScCellRangeObj::getCellRangeByName;
1091 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL
1092 getCellRangeByName( const OUString& aRange )
1093 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1095 // XNamed
1096 virtual OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1097 virtual void SAL_CALL setName( const OUString& aName )
1098 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1100 // XSheetPageBreak
1101 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::TablePageBreakData > SAL_CALL
1102 getColumnPageBreaks() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1103 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::TablePageBreakData > SAL_CALL
1104 getRowPageBreaks() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1105 virtual void SAL_CALL removeAllManualPageBreaks() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1107 // XCellRangeMovement
1108 virtual void SAL_CALL insertCells( const ::com::sun::star::table::CellRangeAddress& aRange,
1109 ::com::sun::star::sheet::CellInsertMode nMode )
1110 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1111 virtual void SAL_CALL removeRange( const ::com::sun::star::table::CellRangeAddress& aRange,
1112 ::com::sun::star::sheet::CellDeleteMode nMode )
1113 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1114 virtual void SAL_CALL moveRange( const ::com::sun::star::table::CellAddress& aDestination,
1115 const ::com::sun::star::table::CellRangeAddress& aSource )
1116 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1117 virtual void SAL_CALL copyRange( const ::com::sun::star::table::CellAddress& aDestination,
1118 const ::com::sun::star::table::CellRangeAddress& aSource )
1119 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1121 // XTableChartsSupplier
1122 virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XTableCharts > SAL_CALL
1123 getCharts() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1125 // XDataPilotTablesSupplier
1126 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XDataPilotTables > SAL_CALL
1127 getDataPilotTables() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1129 // XScenariosSupplier
1130 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XScenarios > SAL_CALL
1131 getScenarios() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1133 // XSheetAnnotationsSupplier
1134 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetAnnotations > SAL_CALL
1135 getAnnotations() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1137 // XDrawPageSupplier
1138 virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > SAL_CALL
1139 getDrawPage() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1141 // XPrintAreas
1142 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress > SAL_CALL
1143 getPrintAreas() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1144 virtual void SAL_CALL setPrintAreas( const ::com::sun::star::uno::Sequence<
1145 ::com::sun::star::table::CellRangeAddress >& aPrintAreas )
1146 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1147 virtual sal_Bool SAL_CALL getPrintTitleColumns() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1148 virtual void SAL_CALL setPrintTitleColumns( sal_Bool bPrintTitleColumns )
1149 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1150 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getTitleColumns()
1151 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1152 virtual void SAL_CALL setTitleColumns(
1153 const ::com::sun::star::table::CellRangeAddress& aTitleColumns )
1154 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1155 virtual sal_Bool SAL_CALL getPrintTitleRows() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1156 virtual void SAL_CALL setPrintTitleRows( sal_Bool bPrintTitleRows )
1157 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1158 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getTitleRows()
1159 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1160 virtual void SAL_CALL setTitleRows(
1161 const ::com::sun::star::table::CellRangeAddress& aTitleRows )
1162 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1164 // XSheetLinkable
1165 virtual ::com::sun::star::sheet::SheetLinkMode SAL_CALL getLinkMode()
1166 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1167 virtual void SAL_CALL setLinkMode( ::com::sun::star::sheet::SheetLinkMode nLinkMode )
1168 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1169 virtual OUString SAL_CALL getLinkUrl() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1170 virtual void SAL_CALL setLinkUrl( const OUString& aLinkUrl )
1171 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1172 virtual OUString SAL_CALL getLinkSheetName() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1173 virtual void SAL_CALL setLinkSheetName( const OUString& aLinkSheetName )
1174 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1175 virtual void SAL_CALL link( const OUString& aUrl,
1176 const OUString& aSheetName,
1177 const OUString& aFilterName,
1178 const OUString& aFilterOptions,
1179 ::com::sun::star::sheet::SheetLinkMode nMode )
1180 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1182 // XSheetAuditing
1183 virtual sal_Bool SAL_CALL hideDependents( const ::com::sun::star::table::CellAddress& aPosition )
1184 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1185 virtual sal_Bool SAL_CALL hidePrecedents( const ::com::sun::star::table::CellAddress& aPosition )
1186 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1187 virtual sal_Bool SAL_CALL showDependents( const ::com::sun::star::table::CellAddress& aPosition )
1188 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1189 virtual sal_Bool SAL_CALL showPrecedents( const ::com::sun::star::table::CellAddress& aPosition )
1190 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1191 virtual sal_Bool SAL_CALL showErrors( const ::com::sun::star::table::CellAddress& aPosition )
1192 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1193 virtual sal_Bool SAL_CALL showInvalid() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1194 virtual void SAL_CALL clearArrows() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1196 // XSheetOutline
1197 virtual void SAL_CALL group( const ::com::sun::star::table::CellRangeAddress& aRange,
1198 ::com::sun::star::table::TableOrientation nOrientation )
1199 throw (::com::sun::star::uno::RuntimeException,
1200 std::exception) SAL_OVERRIDE;
1201 virtual void SAL_CALL ungroup( const ::com::sun::star::table::CellRangeAddress& aRange,
1202 ::com::sun::star::table::TableOrientation nOrientation )
1203 throw (::com::sun::star::uno::RuntimeException,
1204 std::exception) SAL_OVERRIDE;
1205 virtual void SAL_CALL autoOutline( const ::com::sun::star::table::CellRangeAddress& aRange )
1206 throw(::com::sun::star::uno::RuntimeException,
1207 std::exception) SAL_OVERRIDE;
1208 virtual void SAL_CALL clearOutline()
1209 throw(::com::sun::star::uno::RuntimeException,
1210 std::exception) SAL_OVERRIDE;
1211 virtual void SAL_CALL hideDetail( const ::com::sun::star::table::CellRangeAddress& aRange )
1212 throw(::com::sun::star::uno::RuntimeException,
1213 std::exception) SAL_OVERRIDE;
1214 virtual void SAL_CALL showDetail( const ::com::sun::star::table::CellRangeAddress& aRange )
1215 throw(::com::sun::star::uno::RuntimeException,
1216 std::exception) SAL_OVERRIDE;
1217 virtual void SAL_CALL showLevel( sal_Int16 nLevel,
1218 ::com::sun::star::table::TableOrientation nOrientation )
1219 throw(::com::sun::star::uno::RuntimeException,
1220 std::exception) SAL_OVERRIDE;
1222 // XProtectable
1223 virtual void SAL_CALL protect( const OUString& aPassword )
1224 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1225 virtual void SAL_CALL unprotect( const OUString& aPassword )
1226 throw(::com::sun::star::lang::IllegalArgumentException,
1227 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1228 virtual sal_Bool SAL_CALL isProtected() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1230 // XScenario
1231 virtual sal_Bool SAL_CALL getIsScenario() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1232 virtual OUString SAL_CALL getScenarioComment() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1233 virtual void SAL_CALL setScenarioComment( const OUString& aScenarioComment )
1234 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1235 virtual void SAL_CALL addRanges( const ::com::sun::star::uno::Sequence<
1236 ::com::sun::star::table::CellRangeAddress >& aRanges )
1237 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1238 virtual void SAL_CALL apply() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1239 // XScenarioEnhanced
1240 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress > SAL_CALL
1241 getRanges( )
1242 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1244 // XExternalSheetName
1245 virtual void SAL_CALL setExternalName( const OUString& aUrl, const OUString& aSheetName )
1246 throw (::com::sun::star::container::ElementExistException,
1247 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1249 // XEventsSupplier
1250 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameReplace > SAL_CALL getEvents()
1251 throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1253 // XPropertySet overloaded due to sheet properties
1254 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
1255 SAL_CALL getPropertySetInfo()
1256 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1258 // XServiceInfo
1259 virtual OUString SAL_CALL getImplementationName()
1260 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1261 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
1262 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1263 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
1264 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1266 // XUnoTunnel
1267 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence<
1268 sal_Int8 >& aIdentifier )
1269 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1271 static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
1272 static ScTableSheetObj* getImplementation( const com::sun::star::uno::Reference<
1273 com::sun::star::uno::XInterface> xObj );
1275 // XTypeProvider
1276 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
1277 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1278 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
1279 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1283 class ScTableColumnObj : public ScCellRangeObj,
1284 public com::sun::star::container::XNamed
1286 private:
1287 const SfxItemPropertySet* pColPropSet;
1289 protected:
1290 virtual const SfxItemPropertyMap& GetItemPropertyMap() SAL_OVERRIDE;
1291 virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
1292 ::com::sun::star::uno::Any& )
1293 throw(::com::sun::star::uno::RuntimeException,
1294 std::exception) SAL_OVERRIDE;
1295 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
1296 const ::com::sun::star::uno::Any& aValue )
1297 throw(::com::sun::star::lang::IllegalArgumentException,
1298 ::com::sun::star::uno::RuntimeException,
1299 std::exception) SAL_OVERRIDE;
1301 public:
1302 ScTableColumnObj(ScDocShell* pDocSh, SCCOL nCol, SCTAB nTab);
1303 virtual ~ScTableColumnObj();
1305 virtual ::com::sun::star::uno::Any SAL_CALL queryInterface(
1306 const ::com::sun::star::uno::Type & rType )
1307 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1308 virtual void SAL_CALL acquire() throw() SAL_OVERRIDE;
1309 virtual void SAL_CALL release() throw() SAL_OVERRIDE;
1311 // XNamed
1312 virtual OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1313 virtual void SAL_CALL setName( const OUString& aName )
1314 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1316 // XPropertySet overloaded due to column properties
1317 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
1318 SAL_CALL getPropertySetInfo()
1319 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1321 // XServiceInfo
1322 virtual OUString SAL_CALL getImplementationName()
1323 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1324 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
1325 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1326 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
1327 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1329 // XTypeProvider
1330 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
1331 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1332 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
1333 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1337 class ScTableRowObj : public ScCellRangeObj
1339 private:
1340 const SfxItemPropertySet* pRowPropSet;
1342 protected:
1343 virtual const SfxItemPropertyMap& GetItemPropertyMap() SAL_OVERRIDE;
1344 virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
1345 ::com::sun::star::uno::Any& )
1346 throw(::com::sun::star::uno::RuntimeException,
1347 std::exception) SAL_OVERRIDE;
1348 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntry,
1349 const ::com::sun::star::uno::Any& aValue )
1350 throw(::com::sun::star::lang::IllegalArgumentException,
1351 ::com::sun::star::uno::RuntimeException,
1352 std::exception) SAL_OVERRIDE;
1354 public:
1355 ScTableRowObj(ScDocShell* pDocSh, SCROW nRow, SCTAB nTab);
1356 virtual ~ScTableRowObj();
1358 // XPropertySet overloaded due to row properties
1359 virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
1360 SAL_CALL getPropertySetInfo()
1361 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1363 // XServiceInfo
1364 virtual OUString SAL_CALL getImplementationName()
1365 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1366 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
1367 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1368 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
1369 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1373 class ScCellsObj : public cppu::WeakImplHelper2<
1374 com::sun::star::container::XEnumerationAccess,
1375 com::sun::star::lang::XServiceInfo >,
1376 public SfxListener
1378 private:
1379 ScDocShell* pDocShell;
1380 ScRangeList aRanges;
1382 public:
1383 ScCellsObj(ScDocShell* pDocSh, const ScRangeList& rR);
1384 virtual ~ScCellsObj();
1386 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
1388 // XEnumerationAccess
1389 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
1390 createEnumeration() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1392 // XElementAccess
1393 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
1394 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1395 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1397 // XServiceInfo
1398 virtual OUString SAL_CALL getImplementationName()
1399 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1400 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
1401 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1402 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
1403 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1407 class ScCellsEnumeration : public cppu::WeakImplHelper2<
1408 com::sun::star::container::XEnumeration,
1409 com::sun::star::lang::XServiceInfo >,
1410 public SfxListener
1412 private:
1413 ScDocShell* pDocShell;
1414 ScRangeList aRanges;
1415 ScAddress aPos;
1416 ScMarkData* pMark;
1417 bool bAtEnd;
1419 private:
1420 void Advance_Impl();
1421 void CheckPos_Impl();
1423 public:
1424 ScCellsEnumeration(ScDocShell* pDocSh, const ScRangeList& rR);
1425 virtual ~ScCellsEnumeration();
1427 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
1429 // XEnumeration
1430 virtual sal_Bool SAL_CALL hasMoreElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1431 virtual ::com::sun::star::uno::Any SAL_CALL nextElement()
1432 throw(::com::sun::star::container::NoSuchElementException,
1433 ::com::sun::star::lang::WrappedTargetException,
1434 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1436 // XServiceInfo
1437 virtual OUString SAL_CALL getImplementationName()
1438 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1439 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
1440 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1441 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
1442 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1445 class ScCellFormatsObj : public cppu::WeakImplHelper3<
1446 com::sun::star::container::XIndexAccess,
1447 com::sun::star::container::XEnumerationAccess,
1448 com::sun::star::lang::XServiceInfo >,
1449 public SfxListener
1451 private:
1452 ScDocShell* pDocShell;
1453 ScRange aTotalRange;
1455 private:
1456 ScCellRangeObj* GetObjectByIndex_Impl(long nIndex) const;
1458 public:
1459 ScCellFormatsObj(ScDocShell* pDocSh, const ScRange& rR);
1460 virtual ~ScCellFormatsObj();
1462 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
1464 // XIndexAccess
1465 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1466 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
1467 throw(::com::sun::star::lang::IndexOutOfBoundsException,
1468 ::com::sun::star::lang::WrappedTargetException,
1469 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1471 // XEnumerationAccess
1472 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
1473 createEnumeration() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1475 // XElementAccess
1476 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
1477 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1478 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1480 // XServiceInfo
1481 virtual OUString SAL_CALL getImplementationName()
1482 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1483 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
1484 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1485 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
1486 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1490 class ScCellFormatsEnumeration : public cppu::WeakImplHelper2<
1491 com::sun::star::container::XEnumeration,
1492 com::sun::star::lang::XServiceInfo >,
1493 public SfxListener
1495 private:
1496 ScDocShell* pDocShell;
1497 SCTAB nTab;
1498 ScAttrRectIterator* pIter;
1499 ScRange aNext;
1500 bool bAtEnd;
1501 bool bDirty;
1503 private:
1504 void Advance_Impl();
1505 ScCellRangeObj* NextObject_Impl();
1507 public:
1508 ScCellFormatsEnumeration(ScDocShell* pDocSh, const ScRange& rR);
1509 virtual ~ScCellFormatsEnumeration();
1511 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
1513 // XEnumeration
1514 virtual sal_Bool SAL_CALL hasMoreElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1515 virtual ::com::sun::star::uno::Any SAL_CALL nextElement()
1516 throw(::com::sun::star::container::NoSuchElementException,
1517 ::com::sun::star::lang::WrappedTargetException,
1518 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1520 // XServiceInfo
1521 virtual OUString SAL_CALL getImplementationName()
1522 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1523 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
1524 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1525 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
1526 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1529 typedef std::vector< ScRangeList > ScMyRangeLists;
1531 class ScUniqueCellFormatsObj : public cppu::WeakImplHelper3<
1532 com::sun::star::container::XIndexAccess,
1533 com::sun::star::container::XEnumerationAccess,
1534 com::sun::star::lang::XServiceInfo >,
1535 public SfxListener
1537 private:
1538 ScDocShell* pDocShell;
1539 ScRange aTotalRange;
1540 ScMyRangeLists aRangeLists;
1542 private:
1543 void GetObjects_Impl();
1545 public:
1546 ScUniqueCellFormatsObj(ScDocShell* pDocSh, const ScRange& rR);
1547 virtual ~ScUniqueCellFormatsObj();
1549 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
1551 // XIndexAccess
1552 virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1553 virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
1554 throw(::com::sun::star::lang::IndexOutOfBoundsException,
1555 ::com::sun::star::lang::WrappedTargetException,
1556 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1558 // XEnumerationAccess
1559 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL
1560 createEnumeration() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1562 // XElementAccess
1563 virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
1564 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1565 virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1567 // XServiceInfo
1568 virtual OUString SAL_CALL getImplementationName()
1569 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1570 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
1571 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1572 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
1573 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1576 class ScUniqueCellFormatsEnumeration : public cppu::WeakImplHelper2<
1577 com::sun::star::container::XEnumeration,
1578 com::sun::star::lang::XServiceInfo >,
1579 public SfxListener
1581 private:
1582 ScMyRangeLists aRangeLists;
1583 ScDocShell* pDocShell;
1584 sal_Int32 nCurrentPosition;
1586 public:
1587 ScUniqueCellFormatsEnumeration(ScDocShell* pDocShell, const ScMyRangeLists& rRangeLists);
1588 virtual ~ScUniqueCellFormatsEnumeration();
1590 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
1592 // XEnumeration
1593 virtual sal_Bool SAL_CALL hasMoreElements() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1594 virtual ::com::sun::star::uno::Any SAL_CALL nextElement()
1595 throw(::com::sun::star::container::NoSuchElementException,
1596 ::com::sun::star::lang::WrappedTargetException,
1597 ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1599 // XServiceInfo
1600 virtual OUString SAL_CALL getImplementationName()
1601 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1602 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName )
1603 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1604 virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames()
1605 throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
1609 #endif
1611 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */