1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef SC_CELLSUNO_HXX
21 #define SC_CELLSUNO_HXX
23 #include "global.hxx" // ScRange, ScAddress
24 #include "rangelst.hxx" // ScRangeList
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>
101 class ScPrintRangeSaver
;
102 class ScAttrRectIterator
;
103 class ScCellRangeObj
;
104 class ScLinkListener
;
107 class SvxBoxInfoItem
;
108 class SvxItemPropertySet
;
110 namespace editeng
{ class SvxBorderLine
; }
112 class ScLinkListener
: public SvtListener
116 ScLinkListener(const Link
& rL
) : aLink(rL
) {}
117 virtual ~ScLinkListener();
118 virtual void Notify( SvtBroadcaster
& rBC
, const SfxHint
& rHint
);
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
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
);
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
,
174 friend class ScTabViewObj
; // for select()
175 friend class ScTableSheetObj
; // for createCursorByRange()
176 friend class ooo::vba::excel::ScVbaCellRangeAccess
;
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
;
189 sal_Bool bChartColAsHdr
;
190 sal_Bool bChartRowAsHdr
;
191 sal_Bool bCursorOnly
;
192 sal_Bool bGotDataChangedHint
;
193 XModifyListenerArr_Impl aValueListeners
;
195 DECL_LINK( ValueListenerHdl
, SfxHint
* );
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 sal_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
);
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 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry
* pEntry
,
228 const ::com::sun::star::uno::Any
& aValue
)
229 throw(::com::sun::star::lang::IllegalArgumentException
,
230 ::com::sun::star::uno::RuntimeException
);
233 ScCellRangesBase(ScDocShell
* pDocSh
, const ScRange
& rR
);
234 ScCellRangesBase(ScDocShell
* pDocSh
, const ScRangeList
& rR
);
235 virtual ~ScCellRangesBase();
237 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
238 const ::com::sun::star::uno::Type
& rType
)
239 throw(::com::sun::star::uno::RuntimeException
);
240 virtual void SAL_CALL
acquire() throw();
241 virtual void SAL_CALL
release() throw();
243 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
244 virtual void RefChanged();
246 // from derived classes and by getImplementation
247 ScDocShell
* GetDocShell() const { return pDocShell
; }
248 ScDocument
* GetDocument() const;
249 const ScRangeList
& GetRangeList() const { return aRanges
; }
250 void AddRange(const ScRange
& rRange
, const sal_Bool bMergeRanges
);
252 // arouse object created via service:
253 void InitInsertRange(ScDocShell
* pDocSh
, const ScRange
& rR
);
255 void SetNewRange(const ScRange
& rNew
); // for cursor
256 void SetNewRanges(const ScRangeList
& rNew
);
258 void SetCursorOnly(sal_Bool bSet
);
259 sal_Bool
IsCursorOnly() const { return bCursorOnly
; }
262 virtual double SAL_CALL
computeFunction( ::com::sun::star::sheet::GeneralFunction nFunction
)
263 throw(::com::sun::star::uno::Exception
,
264 ::com::sun::star::uno::RuntimeException
);
265 virtual void SAL_CALL
clearContents( sal_Int32 nContentFlags
)
266 throw(::com::sun::star::uno::RuntimeException
);
269 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
270 SAL_CALL
getPropertySetInfo()
271 throw(::com::sun::star::uno::RuntimeException
);
272 virtual void SAL_CALL
setPropertyValue( const OUString
& aPropertyName
,
273 const ::com::sun::star::uno::Any
& aValue
)
274 throw(::com::sun::star::beans::UnknownPropertyException
,
275 ::com::sun::star::beans::PropertyVetoException
,
276 ::com::sun::star::lang::IllegalArgumentException
,
277 ::com::sun::star::lang::WrappedTargetException
,
278 ::com::sun::star::uno::RuntimeException
);
279 virtual ::com::sun::star::uno::Any SAL_CALL
getPropertyValue(
280 const OUString
& PropertyName
)
281 throw(::com::sun::star::beans::UnknownPropertyException
,
282 ::com::sun::star::lang::WrappedTargetException
,
283 ::com::sun::star::uno::RuntimeException
);
284 virtual void SAL_CALL
addPropertyChangeListener( const OUString
& aPropertyName
,
285 const ::com::sun::star::uno::Reference
<
286 ::com::sun::star::beans::XPropertyChangeListener
>& xListener
)
287 throw(::com::sun::star::beans::UnknownPropertyException
,
288 ::com::sun::star::lang::WrappedTargetException
,
289 ::com::sun::star::uno::RuntimeException
);
290 virtual void SAL_CALL
removePropertyChangeListener( const OUString
& aPropertyName
,
291 const ::com::sun::star::uno::Reference
<
292 ::com::sun::star::beans::XPropertyChangeListener
>& aListener
)
293 throw(::com::sun::star::beans::UnknownPropertyException
,
294 ::com::sun::star::lang::WrappedTargetException
,
295 ::com::sun::star::uno::RuntimeException
);
296 virtual void SAL_CALL
addVetoableChangeListener( const OUString
& PropertyName
,
297 const ::com::sun::star::uno::Reference
<
298 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
299 throw(::com::sun::star::beans::UnknownPropertyException
,
300 ::com::sun::star::lang::WrappedTargetException
,
301 ::com::sun::star::uno::RuntimeException
);
302 virtual void SAL_CALL
removeVetoableChangeListener( const OUString
& PropertyName
,
303 const ::com::sun::star::uno::Reference
<
304 ::com::sun::star::beans::XVetoableChangeListener
>& aListener
)
305 throw(::com::sun::star::beans::UnknownPropertyException
,
306 ::com::sun::star::lang::WrappedTargetException
,
307 ::com::sun::star::uno::RuntimeException
);
310 virtual void SAL_CALL
setPropertyValues( const ::com::sun::star::uno::Sequence
< OUString
>& aPropertyNames
,
311 const ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Any
>& aValues
)
312 throw (::com::sun::star::beans::PropertyVetoException
,
313 ::com::sun::star::lang::IllegalArgumentException
,
314 ::com::sun::star::lang::WrappedTargetException
,
315 ::com::sun::star::uno::RuntimeException
);
316 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Any
> SAL_CALL
317 getPropertyValues( const ::com::sun::star::uno::Sequence
< OUString
>& aPropertyNames
)
318 throw (::com::sun::star::uno::RuntimeException
);
319 virtual void SAL_CALL
addPropertiesChangeListener( const ::com::sun::star::uno::Sequence
< OUString
>& aPropertyNames
,
320 const ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertiesChangeListener
>& xListener
)
321 throw (::com::sun::star::uno::RuntimeException
);
322 virtual void SAL_CALL
removePropertiesChangeListener( const ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertiesChangeListener
>& xListener
)
323 throw (::com::sun::star::uno::RuntimeException
);
324 virtual void SAL_CALL
firePropertiesChangeEvent( const ::com::sun::star::uno::Sequence
< OUString
>& aPropertyNames
,
325 const ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertiesChangeListener
>& xListener
)
326 throw (::com::sun::star::uno::RuntimeException
);
328 // XTolerantMultiPropertySet
329 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::SetPropertyTolerantFailed
> SAL_CALL
330 setPropertyValuesTolerant( const ::com::sun::star::uno::Sequence
< OUString
>& aPropertyNames
,
331 const ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Any
>& aValues
)
332 throw (::com::sun::star::lang::IllegalArgumentException
, ::com::sun::star::uno::RuntimeException
);
333 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::GetPropertyTolerantResult
> SAL_CALL
334 getPropertyValuesTolerant( const ::com::sun::star::uno::Sequence
< OUString
>& aPropertyNames
)
335 throw (::com::sun::star::uno::RuntimeException
);
336 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::GetDirectPropertyTolerantResult
> SAL_CALL
337 getDirectPropertyValuesTolerant( const ::com::sun::star::uno::Sequence
< OUString
>& aPropertyNames
)
338 throw (::com::sun::star::uno::RuntimeException
);
341 virtual ::com::sun::star::beans::PropertyState SAL_CALL
getPropertyState(
342 const OUString
& PropertyName
)
343 throw(::com::sun::star::beans::UnknownPropertyException
,
344 ::com::sun::star::uno::RuntimeException
);
345 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyState
> SAL_CALL
346 getPropertyStates( const ::com::sun::star::uno::Sequence
<
347 OUString
>& aPropertyName
)
348 throw(::com::sun::star::beans::UnknownPropertyException
,
349 ::com::sun::star::uno::RuntimeException
);
350 virtual void SAL_CALL
setPropertyToDefault( const OUString
& PropertyName
)
351 throw(::com::sun::star::beans::UnknownPropertyException
,
352 ::com::sun::star::uno::RuntimeException
);
353 virtual ::com::sun::star::uno::Any SAL_CALL
getPropertyDefault(
354 const OUString
& aPropertyName
)
355 throw(::com::sun::star::beans::UnknownPropertyException
,
356 ::com::sun::star::lang::WrappedTargetException
,
357 ::com::sun::star::uno::RuntimeException
);
360 virtual void SAL_CALL
decrementIndent() throw(::com::sun::star::uno::RuntimeException
);
361 virtual void SAL_CALL
incrementIndent() throw(::com::sun::star::uno::RuntimeException
);
364 virtual void SAL_CALL
addChartDataChangeEventListener(
365 const ::com::sun::star::uno::Reference
<
366 ::com::sun::star::chart::XChartDataChangeEventListener
>& aListener
)
367 throw(::com::sun::star::uno::RuntimeException
);
368 virtual void SAL_CALL
removeChartDataChangeEventListener( const ::com::sun::star::uno::Reference
<
369 ::com::sun::star::chart::XChartDataChangeEventListener
>& aListener
)
370 throw(::com::sun::star::uno::RuntimeException
);
371 virtual double SAL_CALL
getNotANumber() throw(::com::sun::star::uno::RuntimeException
);
372 virtual sal_Bool SAL_CALL
isNotANumber( double nNumber
)
373 throw(::com::sun::star::uno::RuntimeException
);
376 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Sequence
< double > > SAL_CALL
377 getData() throw(::com::sun::star::uno::RuntimeException
);
378 virtual void SAL_CALL
setData( const ::com::sun::star::uno::Sequence
<
379 ::com::sun::star::uno::Sequence
< double > >& aData
)
380 throw(::com::sun::star::uno::RuntimeException
);
381 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getRowDescriptions()
382 throw(::com::sun::star::uno::RuntimeException
);
383 virtual void SAL_CALL
setRowDescriptions( const ::com::sun::star::uno::Sequence
<
384 OUString
>& aRowDescriptions
)
385 throw(::com::sun::star::uno::RuntimeException
);
386 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getColumnDescriptions()
387 throw(::com::sun::star::uno::RuntimeException
);
388 virtual void SAL_CALL
setColumnDescriptions( const ::com::sun::star::uno::Sequence
<
389 OUString
>& aColumnDescriptions
)
390 throw(::com::sun::star::uno::RuntimeException
);
393 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetCellRanges
> SAL_CALL
394 queryVisibleCells() throw(::com::sun::star::uno::RuntimeException
);
395 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetCellRanges
> SAL_CALL
396 queryEmptyCells() throw(::com::sun::star::uno::RuntimeException
);
397 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetCellRanges
> SAL_CALL
398 queryContentCells( sal_Int16 nContentFlags
)
399 throw(::com::sun::star::uno::RuntimeException
);
400 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetCellRanges
> SAL_CALL
401 queryFormulaCells( sal_Int32 nResultFlags
)
402 throw(::com::sun::star::uno::RuntimeException
);
403 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetCellRanges
> SAL_CALL
404 queryColumnDifferences(
405 const ::com::sun::star::table::CellAddress
& aCompare
)
406 throw(::com::sun::star::uno::RuntimeException
);
407 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetCellRanges
> SAL_CALL
409 const ::com::sun::star::table::CellAddress
& aCompare
)
410 throw(::com::sun::star::uno::RuntimeException
);
411 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetCellRanges
> SAL_CALL
413 const ::com::sun::star::table::CellRangeAddress
& aRange
)
414 throw(::com::sun::star::uno::RuntimeException
);
417 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetCellRanges
> SAL_CALL
418 queryDependents( sal_Bool bRecursive
)
419 throw(::com::sun::star::uno::RuntimeException
);
420 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetCellRanges
> SAL_CALL
421 queryPrecedents( sal_Bool bRecursive
)
422 throw(::com::sun::star::uno::RuntimeException
);
425 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::util::XSearchDescriptor
> SAL_CALL
426 createSearchDescriptor()
427 throw(::com::sun::star::uno::RuntimeException
);
428 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XIndexAccess
> SAL_CALL
429 findAll( const ::com::sun::star::uno::Reference
<
430 ::com::sun::star::util::XSearchDescriptor
>& xDesc
)
431 throw(::com::sun::star::uno::RuntimeException
);
432 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::uno::XInterface
> SAL_CALL
433 findFirst( const ::com::sun::star::uno::Reference
<
434 ::com::sun::star::util::XSearchDescriptor
>& xDesc
)
435 throw(::com::sun::star::uno::RuntimeException
);
436 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::uno::XInterface
> SAL_CALL
437 findNext( const ::com::sun::star::uno::Reference
<
438 ::com::sun::star::uno::XInterface
>& xStartAt
,
439 const ::com::sun::star::uno::Reference
<
440 ::com::sun::star::util::XSearchDescriptor
>& xDesc
)
441 throw(::com::sun::star::uno::RuntimeException
);
444 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::util::XReplaceDescriptor
> SAL_CALL
445 createReplaceDescriptor() throw(::com::sun::star::uno::RuntimeException
);
446 virtual sal_Int32 SAL_CALL
replaceAll( const ::com::sun::star::uno::Reference
<
447 ::com::sun::star::util::XSearchDescriptor
>& xDesc
)
448 throw(::com::sun::star::uno::RuntimeException
);
450 // XModifyBroadcaster
451 virtual void SAL_CALL
addModifyListener( const ::com::sun::star::uno::Reference
<
452 ::com::sun::star::util::XModifyListener
>& aListener
)
453 throw (::com::sun::star::uno::RuntimeException
);
454 virtual void SAL_CALL
removeModifyListener( const ::com::sun::star::uno::Reference
<
455 ::com::sun::star::util::XModifyListener
>& aListener
)
456 throw (::com::sun::star::uno::RuntimeException
);
459 virtual OUString SAL_CALL
getImplementationName()
460 throw(::com::sun::star::uno::RuntimeException
);
461 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
462 throw(::com::sun::star::uno::RuntimeException
);
463 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
464 throw(::com::sun::star::uno::RuntimeException
);
467 virtual sal_Int64 SAL_CALL
getSomething( const ::com::sun::star::uno::Sequence
<
468 sal_Int8
>& aIdentifier
)
469 throw(::com::sun::star::uno::RuntimeException
);
471 static const com::sun::star::uno::Sequence
<sal_Int8
>& getUnoTunnelId();
472 static ScCellRangesBase
* getImplementation( const com::sun::star::uno::Reference
<
473 com::sun::star::uno::XInterface
> xObj
);
476 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Type
> SAL_CALL
getTypes()
477 throw(::com::sun::star::uno::RuntimeException
);
478 virtual ::com::sun::star::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId()
479 throw(::com::sun::star::uno::RuntimeException
);
483 class SC_DLLPUBLIC ScCellRangesObj
: public ScCellRangesBase
,
484 public com::sun::star::sheet::XSheetCellRangeContainer
,
485 public com::sun::star::container::XNameContainer
,
486 public com::sun::star::container::XEnumerationAccess
490 ::boost::scoped_ptr
<Impl
> m_pImpl
;
492 ScCellRangeObj
* GetObjectByIndex_Impl(sal_Int32 nIndex
) const;
495 ScCellRangesObj(ScDocShell
* pDocSh
, const ScRangeList
& rR
);
496 virtual ~ScCellRangesObj();
498 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
499 const ::com::sun::star::uno::Type
& rType
)
500 throw(::com::sun::star::uno::RuntimeException
);
501 virtual void SAL_CALL
acquire() throw();
502 virtual void SAL_CALL
release() throw();
504 virtual void RefChanged();
507 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumerationAccess
> SAL_CALL
508 getCells() throw(::com::sun::star::uno::RuntimeException
);
509 virtual OUString SAL_CALL
getRangeAddressesAsString()
510 throw(::com::sun::star::uno::RuntimeException
);
511 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::table::CellRangeAddress
> SAL_CALL
512 getRangeAddresses() throw(::com::sun::star::uno::RuntimeException
);
514 // XSheetCellRangeContainer
515 virtual void SAL_CALL
addRangeAddress( const ::com::sun::star::table::CellRangeAddress
& rRange
,
516 sal_Bool bMergeRanges
)
517 throw(::com::sun::star::uno::RuntimeException
);
518 virtual void SAL_CALL
removeRangeAddress( const ::com::sun::star::table::CellRangeAddress
& rRange
)
519 throw(::com::sun::star::container::NoSuchElementException
,
520 ::com::sun::star::uno::RuntimeException
);
521 virtual void SAL_CALL
addRangeAddresses( const ::com::sun::star::uno::Sequence
<
522 ::com::sun::star::table::CellRangeAddress
>& rRanges
,
523 sal_Bool bMergeRanges
)
524 throw(::com::sun::star::uno::RuntimeException
);
525 virtual void SAL_CALL
removeRangeAddresses( const ::com::sun::star::uno::Sequence
<
526 ::com::sun::star::table::CellRangeAddress
>& rRanges
)
527 throw(::com::sun::star::container::NoSuchElementException
,
528 ::com::sun::star::uno::RuntimeException
);
531 virtual void SAL_CALL
insertByName( const OUString
& aName
,
532 const ::com::sun::star::uno::Any
& aElement
)
533 throw(::com::sun::star::lang::IllegalArgumentException
,
534 ::com::sun::star::container::ElementExistException
,
535 ::com::sun::star::lang::WrappedTargetException
,
536 ::com::sun::star::uno::RuntimeException
);
537 virtual void SAL_CALL
removeByName( const OUString
& Name
)
538 throw(::com::sun::star::container::NoSuchElementException
,
539 ::com::sun::star::lang::WrappedTargetException
,
540 ::com::sun::star::uno::RuntimeException
);
543 virtual void SAL_CALL
replaceByName( const OUString
& aName
,
544 const ::com::sun::star::uno::Any
& aElement
)
545 throw(::com::sun::star::lang::IllegalArgumentException
,
546 ::com::sun::star::container::NoSuchElementException
,
547 ::com::sun::star::lang::WrappedTargetException
,
548 ::com::sun::star::uno::RuntimeException
);
551 virtual ::com::sun::star::uno::Any SAL_CALL
getByName( const OUString
& aName
)
552 throw(::com::sun::star::container::NoSuchElementException
,
553 ::com::sun::star::lang::WrappedTargetException
,
554 ::com::sun::star::uno::RuntimeException
);
555 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getElementNames()
556 throw(::com::sun::star::uno::RuntimeException
);
557 virtual sal_Bool SAL_CALL
hasByName( const OUString
& aName
)
558 throw(::com::sun::star::uno::RuntimeException
);
561 virtual sal_Int32 SAL_CALL
getCount() throw(::com::sun::star::uno::RuntimeException
);
562 virtual ::com::sun::star::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
)
563 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
564 ::com::sun::star::lang::WrappedTargetException
,
565 ::com::sun::star::uno::RuntimeException
);
568 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
569 throw(::com::sun::star::uno::RuntimeException
);
570 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
572 // XEnumerationAccess
573 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
574 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
577 virtual OUString SAL_CALL
getImplementationName()
578 throw(::com::sun::star::uno::RuntimeException
);
579 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
580 throw(::com::sun::star::uno::RuntimeException
);
581 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
582 throw(::com::sun::star::uno::RuntimeException
);
585 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Type
> SAL_CALL
getTypes()
586 throw(::com::sun::star::uno::RuntimeException
);
587 virtual ::com::sun::star::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId()
588 throw(::com::sun::star::uno::RuntimeException
);
592 class SC_DLLPUBLIC ScCellRangeObj
: public ScCellRangesBase
,
593 public com::sun::star::sheet::XCellRangeAddressable
,
594 public com::sun::star::sheet::XSheetCellRange
,
595 public com::sun::star::sheet::XArrayFormulaRange
,
596 public com::sun::star::sheet::XArrayFormulaTokens
,
597 public com::sun::star::sheet::XCellRangeData
,
598 public com::sun::star::sheet::XCellRangeFormula
,
599 public com::sun::star::sheet::XMultipleOperation
,
600 public com::sun::star::util::XMergeable
,
601 public com::sun::star::sheet::XCellSeries
,
602 public com::sun::star::table::XAutoFormattable
,
603 public com::sun::star::util::XSortable
,
604 public com::sun::star::sheet::XSheetFilterableEx
,
605 public com::sun::star::sheet::XSubTotalCalculatable
,
606 public com::sun::star::util::XImportable
,
607 public com::sun::star::sheet::XCellFormatRangesSupplier
,
608 public com::sun::star::sheet::XUniqueCellFormatRangesSupplier
,
609 public com::sun::star::table::XColumnRowRange
612 const SfxItemPropertySet
* pRangePropSet
;
616 const ScRange
& GetRange() const { return aRange
; }
617 virtual const SfxItemPropertyMap
& GetItemPropertyMap();
618 virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry
* pEntry
,
619 ::com::sun::star::uno::Any
& )
620 throw(::com::sun::star::uno::RuntimeException
);
621 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry
* pEntry
,
622 const ::com::sun::star::uno::Any
& aValue
)
623 throw(::com::sun::star::lang::IllegalArgumentException
,
624 ::com::sun::star::uno::RuntimeException
);
626 ::com::sun::star::uno::Reference
< ::com::sun::star::table::XCell
>
627 GetCellByPosition_Impl( sal_Int32 nColumn
, sal_Int32 nRow
)
628 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
629 ::com::sun::star::uno::RuntimeException
);
631 void SetArrayFormula_Impl( const OUString
& rFormula
,
632 const OUString
& rFormulaNmsp
,
633 const formula::FormulaGrammar::Grammar eGrammar
)
634 throw(::com::sun::star::uno::RuntimeException
);
637 ScCellRangeObj(ScDocShell
* pDocSh
, const ScRange
& rR
);
638 virtual ~ScCellRangeObj();
640 // uses ObjectShell from document, if set (returns NULL otherwise)
641 static com::sun::star::uno::Reference
<com::sun::star::table::XCellRange
>
642 CreateRangeFromDoc( ScDocument
* pDoc
, const ScRange
& rR
);
644 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
645 const ::com::sun::star::uno::Type
& rType
)
646 throw(::com::sun::star::uno::RuntimeException
);
647 virtual void SAL_CALL
acquire() throw();
648 virtual void SAL_CALL
release() throw();
650 virtual void RefChanged();
652 // via getImplementation()
653 virtual void SetArrayFormulaWithGrammar( const OUString
& rFormula
,
654 const OUString
& rFormulaNmsp
,
655 const formula::FormulaGrammar::Grammar
)
656 throw(::com::sun::star::uno::RuntimeException
);
658 // XCellRangeAddressable
659 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL
getRangeAddress()
660 throw(::com::sun::star::uno::RuntimeException
);
663 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSpreadsheet
> SAL_CALL
664 getSpreadsheet() throw(::com::sun::star::uno::RuntimeException
);
666 // XArrayFormulaRange
667 virtual OUString SAL_CALL
getArrayFormula() throw(::com::sun::star::uno::RuntimeException
);
668 virtual void SAL_CALL
setArrayFormula( const OUString
& aFormula
)
669 throw(::com::sun::star::uno::RuntimeException
);
671 // XArrayFormulaTokens
672 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::sheet::FormulaToken
> SAL_CALL
getArrayTokens()
673 throw (::com::sun::star::uno::RuntimeException
);
674 virtual void SAL_CALL
setArrayTokens( const ::com::sun::star::uno::Sequence
<
675 ::com::sun::star::sheet::FormulaToken
>& aTokens
)
676 throw (::com::sun::star::uno::RuntimeException
);
679 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Sequence
<
680 ::com::sun::star::uno::Any
> > SAL_CALL
getDataArray()
681 throw(::com::sun::star::uno::RuntimeException
);
682 virtual void SAL_CALL
setDataArray( const ::com::sun::star::uno::Sequence
<
683 ::com::sun::star::uno::Sequence
<
684 ::com::sun::star::uno::Any
> >& aArray
)
685 throw(::com::sun::star::uno::RuntimeException
);
688 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Sequence
<
689 OUString
> > SAL_CALL
getFormulaArray()
690 throw (::com::sun::star::uno::RuntimeException
);
691 virtual void SAL_CALL
setFormulaArray( const ::com::sun::star::uno::Sequence
<
692 ::com::sun::star::uno::Sequence
< OUString
> >& aArray
)
693 throw (::com::sun::star::uno::RuntimeException
);
695 // XMultipleOperation
696 virtual void SAL_CALL
setTableOperation(
697 const ::com::sun::star::table::CellRangeAddress
& aFormulaRange
,
698 ::com::sun::star::sheet::TableOperationMode nMode
,
699 const ::com::sun::star::table::CellAddress
& aColumnCell
,
700 const ::com::sun::star::table::CellAddress
& aRowCell
)
701 throw(::com::sun::star::uno::RuntimeException
);
704 virtual void SAL_CALL
merge( sal_Bool bMerge
) throw(::com::sun::star::uno::RuntimeException
);
705 virtual sal_Bool SAL_CALL
getIsMerged() throw(::com::sun::star::uno::RuntimeException
);
708 virtual void SAL_CALL
fillSeries( ::com::sun::star::sheet::FillDirection nFillDirection
,
709 ::com::sun::star::sheet::FillMode nFillMode
,
710 ::com::sun::star::sheet::FillDateMode nFillDateMode
,
711 double fStep
, double fEndValue
)
712 throw(::com::sun::star::uno::RuntimeException
);
713 virtual void SAL_CALL
fillAuto( ::com::sun::star::sheet::FillDirection nFillDirection
,
714 sal_Int32 nSourceCount
)
715 throw(::com::sun::star::uno::RuntimeException
);
718 virtual void SAL_CALL
autoFormat( const OUString
& aName
)
719 throw(::com::sun::star::lang::IllegalArgumentException
,
720 ::com::sun::star::uno::RuntimeException
);
723 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
> SAL_CALL
724 createSortDescriptor() throw(::com::sun::star::uno::RuntimeException
);
725 virtual void SAL_CALL
sort( const ::com::sun::star::uno::Sequence
<
726 ::com::sun::star::beans::PropertyValue
>& xDescriptor
)
727 throw(::com::sun::star::uno::RuntimeException
);
729 // XSheetFilterableEx
730 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetFilterDescriptor
> SAL_CALL
731 createFilterDescriptorByObject( const ::com::sun::star::uno::Reference
<
732 ::com::sun::star::sheet::XSheetFilterable
>& xObject
)
733 throw(::com::sun::star::uno::RuntimeException
);
736 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetFilterDescriptor
> SAL_CALL
737 createFilterDescriptor( sal_Bool bEmpty
)
738 throw(::com::sun::star::uno::RuntimeException
);
739 virtual void SAL_CALL
filter( const ::com::sun::star::uno::Reference
<
740 ::com::sun::star::sheet::XSheetFilterDescriptor
>& xDescriptor
)
741 throw(::com::sun::star::uno::RuntimeException
);
743 // XSubTotalCalculatable
744 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSubTotalDescriptor
> SAL_CALL
745 createSubTotalDescriptor( sal_Bool bEmpty
)
746 throw(::com::sun::star::uno::RuntimeException
);
747 virtual void SAL_CALL
applySubTotals( const ::com::sun::star::uno::Reference
<
748 ::com::sun::star::sheet::XSubTotalDescriptor
>& xDescriptor
,
749 sal_Bool bReplace
) throw(::com::sun::star::uno::RuntimeException
);
750 virtual void SAL_CALL
removeSubTotals() throw(::com::sun::star::uno::RuntimeException
);
753 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
> SAL_CALL
754 createImportDescriptor( sal_Bool bEmpty
)
755 throw(::com::sun::star::uno::RuntimeException
);
756 virtual void SAL_CALL
doImport( const ::com::sun::star::uno::Sequence
<
757 ::com::sun::star::beans::PropertyValue
>& aDescriptor
)
758 throw(::com::sun::star::uno::RuntimeException
);
760 // XCellFormatRangesSupplier
761 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XIndexAccess
> SAL_CALL
762 getCellFormatRanges() throw(::com::sun::star::uno::RuntimeException
);
764 // XUniqueCellFormatRangesSupplier
765 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XIndexAccess
> SAL_CALL
766 getUniqueCellFormatRanges() throw(::com::sun::star::uno::RuntimeException
);
769 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::table::XTableColumns
> SAL_CALL
770 getColumns() throw(::com::sun::star::uno::RuntimeException
);
771 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::table::XTableRows
> SAL_CALL
772 getRows() throw(::com::sun::star::uno::RuntimeException
);
775 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::table::XCell
> SAL_CALL
776 getCellByPosition( sal_Int32 nColumn
, sal_Int32 nRow
)
777 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
778 ::com::sun::star::uno::RuntimeException
);
779 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::table::XCellRange
> SAL_CALL
780 getCellRangeByPosition( sal_Int32 nLeft
, sal_Int32 nTop
,
781 sal_Int32 nRight
, sal_Int32 nBottom
)
782 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
783 ::com::sun::star::uno::RuntimeException
);
784 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::table::XCellRange
> SAL_CALL
785 getCellRangeByName( const OUString
& aRange
)
786 throw(::com::sun::star::uno::RuntimeException
);
787 ::com::sun::star::uno::Reference
< ::com::sun::star::table::XCellRange
>
788 getCellRangeByName( const OUString
& aRange
, const ScAddress::Details
& rDetails
)
789 throw(::com::sun::star::uno::RuntimeException
);
791 // XPropertySet overloaded due to Range-Properties
792 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
793 SAL_CALL
getPropertySetInfo()
794 throw(::com::sun::star::uno::RuntimeException
);
797 virtual OUString SAL_CALL
getImplementationName()
798 throw(::com::sun::star::uno::RuntimeException
);
799 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
800 throw(::com::sun::star::uno::RuntimeException
);
801 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
802 throw(::com::sun::star::uno::RuntimeException
);
805 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Type
> SAL_CALL
getTypes()
806 throw(::com::sun::star::uno::RuntimeException
);
807 virtual ::com::sun::star::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId()
808 throw(::com::sun::star::uno::RuntimeException
);
812 //! really derive cell from range?
814 class SC_DLLPUBLIC ScCellObj
: public ScCellRangeObj
,
815 public com::sun::star::text::XText
,
816 public com::sun::star::container::XEnumerationAccess
,
817 public com::sun::star::table::XCell2
,
818 public com::sun::star::sheet::XFormulaTokens
,
819 public com::sun::star::sheet::XCellAddressable
,
820 public com::sun::star::sheet::XSheetAnnotationAnchor
,
821 public com::sun::star::text::XTextFieldsSupplier
,
822 public com::sun::star::document::XActionLockable
825 rtl::Reference
<SvxUnoText
> mxUnoText
;
826 const SfxItemPropertySet
* pCellPropSet
;
828 sal_Int16 nActionLockCount
;
831 OUString
GetInputString_Impl(bool bEnglish
) const;
832 OUString
GetOutputString_Impl() const;
833 void SetString_Impl(const String
& rString
, sal_Bool bInterpret
, sal_Bool bEnglish
);
834 double GetValue_Impl() const;
835 void SetValue_Impl(double fValue
);
836 com::sun::star::table::CellContentType
GetResultType_Impl();
839 virtual const SfxItemPropertyMap
& GetItemPropertyMap();
840 virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry
* pEntry
,
841 ::com::sun::star::uno::Any
& )
842 throw(::com::sun::star::uno::RuntimeException
);
843 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry
* pEntry
,
844 const ::com::sun::star::uno::Any
& aValue
)
845 throw(::com::sun::star::lang::IllegalArgumentException
,
846 ::com::sun::star::uno::RuntimeException
);
849 static const SvxItemPropertySet
* GetEditPropertySet();
850 static const SfxItemPropertyMap
& GetCellPropertyMap();
852 ScCellObj(ScDocShell
* pDocSh
, const ScAddress
& rP
);
853 virtual ~ScCellObj();
855 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
856 const ::com::sun::star::uno::Type
& rType
)
857 throw(::com::sun::star::uno::RuntimeException
);
858 virtual void SAL_CALL
acquire() throw();
859 virtual void SAL_CALL
release() throw();
861 virtual void RefChanged();
863 SvxUnoText
& GetUnoText();
865 // XML import needs to set results at formula cells,
866 // not meant for any other purpose.
867 const ScAddress
& GetPosition() const { return aCellPos
; }
869 void InputEnglishString( const OUString
& rText
);
872 virtual void SAL_CALL
insertTextContent( const ::com::sun::star::uno::Reference
<
873 ::com::sun::star::text::XTextRange
>& xRange
,
874 const ::com::sun::star::uno::Reference
<
875 ::com::sun::star::text::XTextContent
>& xContent
,
877 throw(::com::sun::star::lang::IllegalArgumentException
,
878 ::com::sun::star::uno::RuntimeException
);
879 virtual void SAL_CALL
removeTextContent( const ::com::sun::star::uno::Reference
<
880 ::com::sun::star::text::XTextContent
>& xContent
)
881 throw(::com::sun::star::container::NoSuchElementException
,
882 ::com::sun::star::uno::RuntimeException
);
885 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::text::XTextCursor
> SAL_CALL
886 createTextCursor() throw(::com::sun::star::uno::RuntimeException
);
887 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::text::XTextCursor
> SAL_CALL
888 createTextCursorByRange( const ::com::sun::star::uno::Reference
<
889 ::com::sun::star::text::XTextRange
>& aTextPosition
)
890 throw(::com::sun::star::uno::RuntimeException
);
891 virtual void SAL_CALL
insertString( const ::com::sun::star::uno::Reference
<
892 ::com::sun::star::text::XTextRange
>& xRange
,
893 const OUString
& aString
, sal_Bool bAbsorb
)
894 throw(::com::sun::star::uno::RuntimeException
);
895 virtual void SAL_CALL
insertControlCharacter( const ::com::sun::star::uno::Reference
<
896 ::com::sun::star::text::XTextRange
>& xRange
,
897 sal_Int16 nControlCharacter
, sal_Bool bAbsorb
)
898 throw(::com::sun::star::lang::IllegalArgumentException
,
899 ::com::sun::star::uno::RuntimeException
);
902 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::text::XText
> SAL_CALL
903 getText() throw(::com::sun::star::uno::RuntimeException
);
904 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::text::XTextRange
> SAL_CALL
905 getStart() throw(::com::sun::star::uno::RuntimeException
);
906 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::text::XTextRange
> SAL_CALL
907 getEnd() throw(::com::sun::star::uno::RuntimeException
);
908 virtual OUString SAL_CALL
getString() throw(::com::sun::star::uno::RuntimeException
);
909 virtual void SAL_CALL
setString( const OUString
& aString
)
910 throw(::com::sun::star::uno::RuntimeException
);
912 // XEnumerationAccess
913 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
914 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
917 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
918 throw(::com::sun::star::uno::RuntimeException
);
919 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
922 virtual OUString SAL_CALL
getFormula() throw(::com::sun::star::uno::RuntimeException
);
923 virtual void SAL_CALL
setFormula( const OUString
& aFormula
)
924 throw(::com::sun::star::uno::RuntimeException
);
925 virtual void SAL_CALL
setFormulaResult( double nValue
)
926 throw(::com::sun::star::uno::RuntimeException
);
927 virtual void SAL_CALL
setFormulaString( const OUString
& aFormula
)
928 throw(::com::sun::star::uno::RuntimeException
);
929 virtual double SAL_CALL
getValue() throw(::com::sun::star::uno::RuntimeException
);
930 virtual void SAL_CALL
setValue( double nValue
) throw(::com::sun::star::uno::RuntimeException
);
931 virtual ::com::sun::star::table::CellContentType SAL_CALL
getType()
932 throw(::com::sun::star::uno::RuntimeException
);
933 virtual sal_Int32 SAL_CALL
getError() throw(::com::sun::star::uno::RuntimeException
);
936 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::sheet::FormulaToken
> SAL_CALL
getTokens()
937 throw (::com::sun::star::uno::RuntimeException
);
938 virtual void SAL_CALL
setTokens( const ::com::sun::star::uno::Sequence
<
939 ::com::sun::star::sheet::FormulaToken
>& aTokens
)
940 throw (::com::sun::star::uno::RuntimeException
);
943 virtual ::com::sun::star::table::CellAddress SAL_CALL
getCellAddress()
944 throw(::com::sun::star::uno::RuntimeException
);
946 // XSheetAnnotationAnchor
947 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetAnnotation
> SAL_CALL
948 getAnnotation() throw(::com::sun::star::uno::RuntimeException
);
950 // XTextFieldsSupplier
951 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumerationAccess
> SAL_CALL
952 getTextFields() throw(::com::sun::star::uno::RuntimeException
);
953 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XNameAccess
> SAL_CALL
954 getTextFieldMasters() throw(::com::sun::star::uno::RuntimeException
);
956 // XPropertySet overloaded due to cell properties
957 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
958 SAL_CALL
getPropertySetInfo()
959 throw(::com::sun::star::uno::RuntimeException
);
962 virtual OUString SAL_CALL
getImplementationName()
963 throw(::com::sun::star::uno::RuntimeException
);
964 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
965 throw(::com::sun::star::uno::RuntimeException
);
966 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
967 throw(::com::sun::star::uno::RuntimeException
);
970 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Type
> SAL_CALL
getTypes()
971 throw(::com::sun::star::uno::RuntimeException
);
972 virtual ::com::sun::star::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId()
973 throw(::com::sun::star::uno::RuntimeException
);
976 virtual sal_Bool SAL_CALL
isActionLocked() throw(::com::sun::star::uno::RuntimeException
);
977 virtual void SAL_CALL
addActionLock() throw(::com::sun::star::uno::RuntimeException
);
978 virtual void SAL_CALL
removeActionLock() throw(::com::sun::star::uno::RuntimeException
);
979 virtual void SAL_CALL
setActionLocks( sal_Int16 nLock
)
980 throw(::com::sun::star::uno::RuntimeException
);
981 virtual sal_Int16 SAL_CALL
resetActionLocks() throw(::com::sun::star::uno::RuntimeException
);
983 static OUString
GetOutputString_Impl(ScDocument
* pDoc
, const ScAddress
& aPos
);
987 class ScTableSheetObj
: public ScCellRangeObj
,
988 public com::sun::star::sheet::XSpreadsheet
,
989 public com::sun::star::container::XNamed
,
990 public com::sun::star::sheet::XSheetPageBreak
,
991 public com::sun::star::sheet::XCellRangeMovement
,
992 public com::sun::star::table::XTableChartsSupplier
,
993 public com::sun::star::sheet::XDataPilotTablesSupplier
,
994 public com::sun::star::sheet::XScenariosSupplier
,
995 public com::sun::star::sheet::XSheetAnnotationsSupplier
,
996 public com::sun::star::drawing::XDrawPageSupplier
,
997 public com::sun::star::sheet::XPrintAreas
,
998 public com::sun::star::sheet::XSheetLinkable
,
999 public com::sun::star::sheet::XSheetAuditing
,
1000 public com::sun::star::sheet::XSheetOutline
,
1001 public com::sun::star::util::XProtectable
,
1002 public com::sun::star::sheet::XScenario
,
1003 public com::sun::star::sheet::XScenarioEnhanced
,
1004 public com::sun::star::sheet::XExternalSheetName
,
1005 public com::sun::star::document::XEventsSupplier
1007 friend class ScTableSheetsObj
; // for insertByName()
1010 const SfxItemPropertySet
* pSheetPropSet
;
1012 SCTAB
GetTab_Impl() const;
1013 void PrintAreaUndo_Impl( ScPrintRangeSaver
* pOldRanges
);
1016 virtual const SfxItemPropertyMap
& GetItemPropertyMap();
1017 virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry
* pEntry
,
1018 ::com::sun::star::uno::Any
& )
1019 throw(::com::sun::star::uno::RuntimeException
);
1020 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry
* pEntry
,
1021 const ::com::sun::star::uno::Any
& aValue
)
1022 throw(::com::sun::star::lang::IllegalArgumentException
,
1023 ::com::sun::star::uno::RuntimeException
);
1026 ScTableSheetObj(ScDocShell
* pDocSh
, SCTAB nTab
);
1027 virtual ~ScTableSheetObj();
1028 virtual void RefChanged();
1029 void InitInsertSheet(ScDocShell
* pDocSh
, SCTAB nTab
);
1031 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
1032 const ::com::sun::star::uno::Type
& rType
)
1033 throw(::com::sun::star::uno::RuntimeException
);
1034 virtual void SAL_CALL
acquire() throw();
1035 virtual void SAL_CALL
release() throw();
1038 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetCellCursor
>
1039 SAL_CALL
createCursor() throw(::com::sun::star::uno::RuntimeException
);
1040 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetCellCursor
> SAL_CALL
1041 createCursorByRange( const ::com::sun::star::uno::Reference
<
1042 ::com::sun::star::sheet::XSheetCellRange
>& aRange
)
1043 throw(::com::sun::star::uno::RuntimeException
);
1046 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSpreadsheet
> SAL_CALL
1047 getSpreadsheet() throw(::com::sun::star::uno::RuntimeException
);
1050 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::table::XCell
> SAL_CALL
1051 getCellByPosition( sal_Int32 nColumn
, sal_Int32 nRow
)
1052 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
1053 ::com::sun::star::uno::RuntimeException
);
1054 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::table::XCellRange
> SAL_CALL
1055 getCellRangeByPosition( sal_Int32 nLeft
, sal_Int32 nTop
,
1056 sal_Int32 nRight
, sal_Int32 nBottom
)
1057 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
1058 ::com::sun::star::uno::RuntimeException
);
1059 using ScCellRangeObj::getCellRangeByName
;
1060 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::table::XCellRange
> SAL_CALL
1061 getCellRangeByName( const OUString
& aRange
)
1062 throw(::com::sun::star::uno::RuntimeException
);
1065 virtual OUString SAL_CALL
getName() throw(::com::sun::star::uno::RuntimeException
);
1066 virtual void SAL_CALL
setName( const OUString
& aName
)
1067 throw(::com::sun::star::uno::RuntimeException
);
1070 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::sheet::TablePageBreakData
> SAL_CALL
1071 getColumnPageBreaks() throw(::com::sun::star::uno::RuntimeException
);
1072 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::sheet::TablePageBreakData
> SAL_CALL
1073 getRowPageBreaks() throw(::com::sun::star::uno::RuntimeException
);
1074 virtual void SAL_CALL
removeAllManualPageBreaks() throw(::com::sun::star::uno::RuntimeException
);
1076 // XCellRangeMovement
1077 virtual void SAL_CALL
insertCells( const ::com::sun::star::table::CellRangeAddress
& aRange
,
1078 ::com::sun::star::sheet::CellInsertMode nMode
)
1079 throw(::com::sun::star::uno::RuntimeException
);
1080 virtual void SAL_CALL
removeRange( const ::com::sun::star::table::CellRangeAddress
& aRange
,
1081 ::com::sun::star::sheet::CellDeleteMode nMode
)
1082 throw(::com::sun::star::uno::RuntimeException
);
1083 virtual void SAL_CALL
moveRange( const ::com::sun::star::table::CellAddress
& aDestination
,
1084 const ::com::sun::star::table::CellRangeAddress
& aSource
)
1085 throw(::com::sun::star::uno::RuntimeException
);
1086 virtual void SAL_CALL
copyRange( const ::com::sun::star::table::CellAddress
& aDestination
,
1087 const ::com::sun::star::table::CellRangeAddress
& aSource
)
1088 throw(::com::sun::star::uno::RuntimeException
);
1090 // XTableChartsSupplier
1091 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::table::XTableCharts
> SAL_CALL
1092 getCharts() throw(::com::sun::star::uno::RuntimeException
);
1094 // XDataPilotTablesSupplier
1095 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XDataPilotTables
> SAL_CALL
1096 getDataPilotTables() throw(::com::sun::star::uno::RuntimeException
);
1098 // XScenariosSupplier
1099 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XScenarios
> SAL_CALL
1100 getScenarios() throw(::com::sun::star::uno::RuntimeException
);
1102 // XSheetAnnotationsSupplier
1103 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::sheet::XSheetAnnotations
> SAL_CALL
1104 getAnnotations() throw(::com::sun::star::uno::RuntimeException
);
1106 // XDrawPageSupplier
1107 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::drawing::XDrawPage
> SAL_CALL
1108 getDrawPage() throw(::com::sun::star::uno::RuntimeException
);
1111 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::table::CellRangeAddress
> SAL_CALL
1112 getPrintAreas() throw(::com::sun::star::uno::RuntimeException
);
1113 virtual void SAL_CALL
setPrintAreas( const ::com::sun::star::uno::Sequence
<
1114 ::com::sun::star::table::CellRangeAddress
>& aPrintAreas
)
1115 throw(::com::sun::star::uno::RuntimeException
);
1116 virtual sal_Bool SAL_CALL
getPrintTitleColumns() throw(::com::sun::star::uno::RuntimeException
);
1117 virtual void SAL_CALL
setPrintTitleColumns( sal_Bool bPrintTitleColumns
)
1118 throw(::com::sun::star::uno::RuntimeException
);
1119 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL
getTitleColumns()
1120 throw(::com::sun::star::uno::RuntimeException
);
1121 virtual void SAL_CALL
setTitleColumns(
1122 const ::com::sun::star::table::CellRangeAddress
& aTitleColumns
)
1123 throw(::com::sun::star::uno::RuntimeException
);
1124 virtual sal_Bool SAL_CALL
getPrintTitleRows() throw(::com::sun::star::uno::RuntimeException
);
1125 virtual void SAL_CALL
setPrintTitleRows( sal_Bool bPrintTitleRows
)
1126 throw(::com::sun::star::uno::RuntimeException
);
1127 virtual ::com::sun::star::table::CellRangeAddress SAL_CALL
getTitleRows()
1128 throw(::com::sun::star::uno::RuntimeException
);
1129 virtual void SAL_CALL
setTitleRows(
1130 const ::com::sun::star::table::CellRangeAddress
& aTitleRows
)
1131 throw(::com::sun::star::uno::RuntimeException
);
1134 virtual ::com::sun::star::sheet::SheetLinkMode SAL_CALL
getLinkMode()
1135 throw(::com::sun::star::uno::RuntimeException
);
1136 virtual void SAL_CALL
setLinkMode( ::com::sun::star::sheet::SheetLinkMode nLinkMode
)
1137 throw(::com::sun::star::uno::RuntimeException
);
1138 virtual OUString SAL_CALL
getLinkUrl() throw(::com::sun::star::uno::RuntimeException
);
1139 virtual void SAL_CALL
setLinkUrl( const OUString
& aLinkUrl
)
1140 throw(::com::sun::star::uno::RuntimeException
);
1141 virtual OUString SAL_CALL
getLinkSheetName() throw(::com::sun::star::uno::RuntimeException
);
1142 virtual void SAL_CALL
setLinkSheetName( const OUString
& aLinkSheetName
)
1143 throw(::com::sun::star::uno::RuntimeException
);
1144 virtual void SAL_CALL
link( const OUString
& aUrl
,
1145 const OUString
& aSheetName
,
1146 const OUString
& aFilterName
,
1147 const OUString
& aFilterOptions
,
1148 ::com::sun::star::sheet::SheetLinkMode nMode
)
1149 throw(::com::sun::star::uno::RuntimeException
);
1152 virtual sal_Bool SAL_CALL
hideDependents( const ::com::sun::star::table::CellAddress
& aPosition
)
1153 throw(::com::sun::star::uno::RuntimeException
);
1154 virtual sal_Bool SAL_CALL
hidePrecedents( const ::com::sun::star::table::CellAddress
& aPosition
)
1155 throw(::com::sun::star::uno::RuntimeException
);
1156 virtual sal_Bool SAL_CALL
showDependents( const ::com::sun::star::table::CellAddress
& aPosition
)
1157 throw(::com::sun::star::uno::RuntimeException
);
1158 virtual sal_Bool SAL_CALL
showPrecedents( const ::com::sun::star::table::CellAddress
& aPosition
)
1159 throw(::com::sun::star::uno::RuntimeException
);
1160 virtual sal_Bool SAL_CALL
showErrors( const ::com::sun::star::table::CellAddress
& aPosition
)
1161 throw(::com::sun::star::uno::RuntimeException
);
1162 virtual sal_Bool SAL_CALL
showInvalid() throw(::com::sun::star::uno::RuntimeException
);
1163 virtual void SAL_CALL
clearArrows() throw(::com::sun::star::uno::RuntimeException
);
1166 virtual void SAL_CALL
group( const ::com::sun::star::table::CellRangeAddress
& aRange
,
1167 ::com::sun::star::table::TableOrientation nOrientation
)
1168 throw(::com::sun::star::uno::RuntimeException
);
1169 virtual void SAL_CALL
ungroup( const ::com::sun::star::table::CellRangeAddress
& aRange
,
1170 ::com::sun::star::table::TableOrientation nOrientation
)
1171 throw(::com::sun::star::uno::RuntimeException
);
1172 virtual void SAL_CALL
autoOutline( const ::com::sun::star::table::CellRangeAddress
& aRange
)
1173 throw(::com::sun::star::uno::RuntimeException
);
1174 virtual void SAL_CALL
clearOutline() throw(::com::sun::star::uno::RuntimeException
);
1175 virtual void SAL_CALL
hideDetail( const ::com::sun::star::table::CellRangeAddress
& aRange
)
1176 throw(::com::sun::star::uno::RuntimeException
);
1177 virtual void SAL_CALL
showDetail( const ::com::sun::star::table::CellRangeAddress
& aRange
)
1178 throw(::com::sun::star::uno::RuntimeException
);
1179 virtual void SAL_CALL
showLevel( sal_Int16 nLevel
,
1180 ::com::sun::star::table::TableOrientation nOrientation
)
1181 throw(::com::sun::star::uno::RuntimeException
);
1184 virtual void SAL_CALL
protect( const OUString
& aPassword
)
1185 throw(::com::sun::star::uno::RuntimeException
);
1186 virtual void SAL_CALL
unprotect( const OUString
& aPassword
)
1187 throw(::com::sun::star::lang::IllegalArgumentException
,
1188 ::com::sun::star::uno::RuntimeException
);
1189 virtual sal_Bool SAL_CALL
isProtected() throw(::com::sun::star::uno::RuntimeException
);
1192 virtual sal_Bool SAL_CALL
getIsScenario() throw(::com::sun::star::uno::RuntimeException
);
1193 virtual OUString SAL_CALL
getScenarioComment() throw(::com::sun::star::uno::RuntimeException
);
1194 virtual void SAL_CALL
setScenarioComment( const OUString
& aScenarioComment
)
1195 throw(::com::sun::star::uno::RuntimeException
);
1196 virtual void SAL_CALL
addRanges( const ::com::sun::star::uno::Sequence
<
1197 ::com::sun::star::table::CellRangeAddress
>& aRanges
)
1198 throw(::com::sun::star::uno::RuntimeException
);
1199 virtual void SAL_CALL
apply() throw(::com::sun::star::uno::RuntimeException
);
1200 // XScenarioEnhanced
1201 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::table::CellRangeAddress
> SAL_CALL
1203 throw(::com::sun::star::uno::RuntimeException
);
1205 // XExternalSheetName
1206 virtual void SAL_CALL
setExternalName( const OUString
& aUrl
, const OUString
& aSheetName
)
1207 throw (::com::sun::star::container::ElementExistException
,
1208 ::com::sun::star::uno::RuntimeException
);
1211 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XNameReplace
> SAL_CALL
getEvents()
1212 throw (::com::sun::star::uno::RuntimeException
);
1214 // XPropertySet overloaded due to sheet properties
1215 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
1216 SAL_CALL
getPropertySetInfo()
1217 throw(::com::sun::star::uno::RuntimeException
);
1220 virtual OUString SAL_CALL
getImplementationName()
1221 throw(::com::sun::star::uno::RuntimeException
);
1222 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
1223 throw(::com::sun::star::uno::RuntimeException
);
1224 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
1225 throw(::com::sun::star::uno::RuntimeException
);
1228 virtual sal_Int64 SAL_CALL
getSomething( const ::com::sun::star::uno::Sequence
<
1229 sal_Int8
>& aIdentifier
)
1230 throw(::com::sun::star::uno::RuntimeException
);
1232 static const com::sun::star::uno::Sequence
<sal_Int8
>& getUnoTunnelId();
1233 static ScTableSheetObj
* getImplementation( const com::sun::star::uno::Reference
<
1234 com::sun::star::uno::XInterface
> xObj
);
1237 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Type
> SAL_CALL
getTypes()
1238 throw(::com::sun::star::uno::RuntimeException
);
1239 virtual ::com::sun::star::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId()
1240 throw(::com::sun::star::uno::RuntimeException
);
1244 class ScTableColumnObj
: public ScCellRangeObj
,
1245 public com::sun::star::container::XNamed
1248 const SfxItemPropertySet
* pColPropSet
;
1251 virtual const SfxItemPropertyMap
& GetItemPropertyMap();
1252 virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry
* pEntry
,
1253 ::com::sun::star::uno::Any
& )
1254 throw(::com::sun::star::uno::RuntimeException
);
1255 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry
* pEntry
,
1256 const ::com::sun::star::uno::Any
& aValue
)
1257 throw(::com::sun::star::lang::IllegalArgumentException
,
1258 ::com::sun::star::uno::RuntimeException
);
1261 ScTableColumnObj(ScDocShell
* pDocSh
, SCCOL nCol
, SCTAB nTab
);
1262 virtual ~ScTableColumnObj();
1264 virtual ::com::sun::star::uno::Any SAL_CALL
queryInterface(
1265 const ::com::sun::star::uno::Type
& rType
)
1266 throw(::com::sun::star::uno::RuntimeException
);
1267 virtual void SAL_CALL
acquire() throw();
1268 virtual void SAL_CALL
release() throw();
1271 virtual OUString SAL_CALL
getName() throw(::com::sun::star::uno::RuntimeException
);
1272 virtual void SAL_CALL
setName( const OUString
& aName
)
1273 throw(::com::sun::star::uno::RuntimeException
);
1275 // XPropertySet overloaded due to column properties
1276 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
1277 SAL_CALL
getPropertySetInfo()
1278 throw(::com::sun::star::uno::RuntimeException
);
1281 virtual OUString SAL_CALL
getImplementationName()
1282 throw(::com::sun::star::uno::RuntimeException
);
1283 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
1284 throw(::com::sun::star::uno::RuntimeException
);
1285 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
1286 throw(::com::sun::star::uno::RuntimeException
);
1289 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Type
> SAL_CALL
getTypes()
1290 throw(::com::sun::star::uno::RuntimeException
);
1291 virtual ::com::sun::star::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId()
1292 throw(::com::sun::star::uno::RuntimeException
);
1296 class ScTableRowObj
: public ScCellRangeObj
1299 const SfxItemPropertySet
* pRowPropSet
;
1302 virtual const SfxItemPropertyMap
& GetItemPropertyMap();
1303 virtual void GetOnePropertyValue( const SfxItemPropertySimpleEntry
* pEntry
,
1304 ::com::sun::star::uno::Any
& )
1305 throw(::com::sun::star::uno::RuntimeException
);
1306 virtual void SetOnePropertyValue( const SfxItemPropertySimpleEntry
* pEntry
,
1307 const ::com::sun::star::uno::Any
& aValue
)
1308 throw(::com::sun::star::lang::IllegalArgumentException
,
1309 ::com::sun::star::uno::RuntimeException
);
1312 ScTableRowObj(ScDocShell
* pDocSh
, SCROW nRow
, SCTAB nTab
);
1313 virtual ~ScTableRowObj();
1315 // XPropertySet overloaded due to row properties
1316 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
>
1317 SAL_CALL
getPropertySetInfo()
1318 throw(::com::sun::star::uno::RuntimeException
);
1321 virtual OUString SAL_CALL
getImplementationName()
1322 throw(::com::sun::star::uno::RuntimeException
);
1323 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
1324 throw(::com::sun::star::uno::RuntimeException
);
1325 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
1326 throw(::com::sun::star::uno::RuntimeException
);
1330 class ScCellsObj
: public cppu::WeakImplHelper2
<
1331 com::sun::star::container::XEnumerationAccess
,
1332 com::sun::star::lang::XServiceInfo
>,
1336 ScDocShell
* pDocShell
;
1337 ScRangeList aRanges
;
1340 ScCellsObj(ScDocShell
* pDocSh
, const ScRangeList
& rR
);
1341 virtual ~ScCellsObj();
1343 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
1345 // XEnumerationAccess
1346 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
1347 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
1350 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
1351 throw(::com::sun::star::uno::RuntimeException
);
1352 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
1355 virtual OUString SAL_CALL
getImplementationName()
1356 throw(::com::sun::star::uno::RuntimeException
);
1357 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
1358 throw(::com::sun::star::uno::RuntimeException
);
1359 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
1360 throw(::com::sun::star::uno::RuntimeException
);
1364 class ScCellsEnumeration
: public cppu::WeakImplHelper2
<
1365 com::sun::star::container::XEnumeration
,
1366 com::sun::star::lang::XServiceInfo
>,
1370 ScDocShell
* pDocShell
;
1371 ScRangeList aRanges
;
1377 void Advance_Impl();
1378 void CheckPos_Impl();
1381 ScCellsEnumeration(ScDocShell
* pDocSh
, const ScRangeList
& rR
);
1382 virtual ~ScCellsEnumeration();
1384 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
1387 virtual sal_Bool SAL_CALL
hasMoreElements() throw(::com::sun::star::uno::RuntimeException
);
1388 virtual ::com::sun::star::uno::Any SAL_CALL
nextElement()
1389 throw(::com::sun::star::container::NoSuchElementException
,
1390 ::com::sun::star::lang::WrappedTargetException
,
1391 ::com::sun::star::uno::RuntimeException
);
1394 virtual OUString SAL_CALL
getImplementationName()
1395 throw(::com::sun::star::uno::RuntimeException
);
1396 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
1397 throw(::com::sun::star::uno::RuntimeException
);
1398 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
1399 throw(::com::sun::star::uno::RuntimeException
);
1402 class ScCellFormatsObj
: public cppu::WeakImplHelper3
<
1403 com::sun::star::container::XIndexAccess
,
1404 com::sun::star::container::XEnumerationAccess
,
1405 com::sun::star::lang::XServiceInfo
>,
1409 ScDocShell
* pDocShell
;
1410 ScRange aTotalRange
;
1413 ScCellRangeObj
* GetObjectByIndex_Impl(long nIndex
) const;
1416 ScCellFormatsObj(ScDocShell
* pDocSh
, const ScRange
& rR
);
1417 virtual ~ScCellFormatsObj();
1419 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
1422 virtual sal_Int32 SAL_CALL
getCount() throw(::com::sun::star::uno::RuntimeException
);
1423 virtual ::com::sun::star::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
)
1424 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
1425 ::com::sun::star::lang::WrappedTargetException
,
1426 ::com::sun::star::uno::RuntimeException
);
1428 // XEnumerationAccess
1429 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
1430 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
1433 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
1434 throw(::com::sun::star::uno::RuntimeException
);
1435 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
1438 virtual OUString SAL_CALL
getImplementationName()
1439 throw(::com::sun::star::uno::RuntimeException
);
1440 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
1441 throw(::com::sun::star::uno::RuntimeException
);
1442 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
1443 throw(::com::sun::star::uno::RuntimeException
);
1447 class ScCellFormatsEnumeration
: public cppu::WeakImplHelper2
<
1448 com::sun::star::container::XEnumeration
,
1449 com::sun::star::lang::XServiceInfo
>,
1453 ScDocShell
* pDocShell
;
1455 ScAttrRectIterator
* pIter
;
1461 void Advance_Impl();
1462 ScCellRangeObj
* NextObject_Impl();
1465 ScCellFormatsEnumeration(ScDocShell
* pDocSh
, const ScRange
& rR
);
1466 virtual ~ScCellFormatsEnumeration();
1468 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
1471 virtual sal_Bool SAL_CALL
hasMoreElements() throw(::com::sun::star::uno::RuntimeException
);
1472 virtual ::com::sun::star::uno::Any SAL_CALL
nextElement()
1473 throw(::com::sun::star::container::NoSuchElementException
,
1474 ::com::sun::star::lang::WrappedTargetException
,
1475 ::com::sun::star::uno::RuntimeException
);
1478 virtual OUString SAL_CALL
getImplementationName()
1479 throw(::com::sun::star::uno::RuntimeException
);
1480 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
1481 throw(::com::sun::star::uno::RuntimeException
);
1482 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
1483 throw(::com::sun::star::uno::RuntimeException
);
1486 typedef std::vector
< ScRangeList
> ScMyRangeLists
;
1488 class ScUniqueCellFormatsObj
: public cppu::WeakImplHelper3
<
1489 com::sun::star::container::XIndexAccess
,
1490 com::sun::star::container::XEnumerationAccess
,
1491 com::sun::star::lang::XServiceInfo
>,
1495 ScDocShell
* pDocShell
;
1496 ScRange aTotalRange
;
1497 ScMyRangeLists aRangeLists
;
1500 void GetObjects_Impl();
1503 ScUniqueCellFormatsObj(ScDocShell
* pDocSh
, const ScRange
& rR
);
1504 virtual ~ScUniqueCellFormatsObj();
1506 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
1509 virtual sal_Int32 SAL_CALL
getCount() throw(::com::sun::star::uno::RuntimeException
);
1510 virtual ::com::sun::star::uno::Any SAL_CALL
getByIndex( sal_Int32 Index
)
1511 throw(::com::sun::star::lang::IndexOutOfBoundsException
,
1512 ::com::sun::star::lang::WrappedTargetException
,
1513 ::com::sun::star::uno::RuntimeException
);
1515 // XEnumerationAccess
1516 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::container::XEnumeration
> SAL_CALL
1517 createEnumeration() throw(::com::sun::star::uno::RuntimeException
);
1520 virtual ::com::sun::star::uno::Type SAL_CALL
getElementType()
1521 throw(::com::sun::star::uno::RuntimeException
);
1522 virtual sal_Bool SAL_CALL
hasElements() throw(::com::sun::star::uno::RuntimeException
);
1525 virtual OUString SAL_CALL
getImplementationName()
1526 throw(::com::sun::star::uno::RuntimeException
);
1527 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
1528 throw(::com::sun::star::uno::RuntimeException
);
1529 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
1530 throw(::com::sun::star::uno::RuntimeException
);
1533 class ScUniqueCellFormatsEnumeration
: public cppu::WeakImplHelper2
<
1534 com::sun::star::container::XEnumeration
,
1535 com::sun::star::lang::XServiceInfo
>,
1539 ScMyRangeLists aRangeLists
;
1540 ScDocShell
* pDocShell
;
1541 sal_Int32 nCurrentPosition
;
1544 ScUniqueCellFormatsEnumeration(ScDocShell
* pDocShell
, const ScMyRangeLists
& rRangeLists
);
1545 virtual ~ScUniqueCellFormatsEnumeration();
1547 virtual void Notify( SfxBroadcaster
& rBC
, const SfxHint
& rHint
);
1550 virtual sal_Bool SAL_CALL
hasMoreElements() throw(::com::sun::star::uno::RuntimeException
);
1551 virtual ::com::sun::star::uno::Any SAL_CALL
nextElement()
1552 throw(::com::sun::star::container::NoSuchElementException
,
1553 ::com::sun::star::lang::WrappedTargetException
,
1554 ::com::sun::star::uno::RuntimeException
);
1557 virtual OUString SAL_CALL
getImplementationName()
1558 throw(::com::sun::star::uno::RuntimeException
);
1559 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
)
1560 throw(::com::sun::star::uno::RuntimeException
);
1561 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames()
1562 throw(::com::sun::star::uno::RuntimeException
);
1568 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */