20 #ifndef INCLUDED_SC_INC_CELLSUNO_HXX
21 #define INCLUDED_SC_INC_CELLSUNO_HXX
27 #include <rtl/ref.hxx>
32 #include <com/sun/star/table/XTableChartsSupplier.hpp>
33 #include <com/sun/star/table/XTablePivotChartsSupplier.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/sheet/XDataPilotTablesSupplier.hpp>
72 #include <com/sun/star/sheet/XSheetAnnotationAnchor.hpp>
73 #include <com/sun/star/sheet/XScenariosSupplier.hpp>
74 #include <com/sun/star/sheet/XSheetAnnotationsSupplier.hpp>
75 #include <com/sun/star/sheet/XSheetAuditing.hpp>
76 #include <com/sun/star/sheet/XSheetOutline.hpp>
77 #include <com/sun/star/util/XProtectable.hpp>
78 #include <com/sun/star/sheet/XScenario.hpp>
79 #include <com/sun/star/sheet/XScenarioEnhanced.hpp>
80 #include <com/sun/star/util/XModifyBroadcaster.hpp>
81 #include <com/sun/star/beans/XPropertyState.hpp>
82 #include <com/sun/star/beans/XMultiPropertySet.hpp>
83 #include <com/sun/star/lang/XUnoTunnel.hpp>
84 #include <com/sun/star/document/XActionLockable.hpp>
85 #include <com/sun/star/beans/XTolerantMultiPropertySet.hpp>
86 #include <com/sun/star/sheet/XExternalSheetName.hpp>
87 #include <com/sun/star/document/XEventsSupplier.hpp>
119 namespace editeng {
class SvxBorderLine; }
144 static void FillBorderLine( css::table::BorderLine& rStruct, const ::editeng::SvxBorderLine* pLine );
145 static void FillBorderLine( css::table::BorderLine2& rStruct, const ::editeng::SvxBorderLine* pLine );
155 class ScVbaCellRangeAccess;
159 public cppu::WeakImplHelper<
160 css::beans::XPropertySet,
161 css::beans::XMultiPropertySet,
162 css::beans::XPropertyState,
163 css::sheet::XSheetOperation,
164 css::chart::XChartDataArray,
166 css::sheet::XCellRangesQuery,
167 css::sheet::XFormulaQuery,
168 css::util::XReplaceable,
169 css::util::XModifyBroadcaster,
170 css::lang::XServiceInfo,
171 css::lang::XUnoTunnel,
172 css::beans::XTolerantMultiPropertySet>,
180 css::uno::WeakReference<css::uno::XInterface>
m_wThis;
200 void PaintGridRanges_Impl();
201 ScRangeListRef GetLimitedChartRanges_Impl( sal_Int32 nDataColumns, sal_Int32 nDataRows )
const;
202 void ForceChartListener_Impl();
203 std::unique_ptr<ScMemChart> CreateMemChart_Impl()
const;
207 SfxItemSet* GetCurrentDataSet(
bool bNoDflt =
false);
208 void ForgetMarkData();
209 void ForgetCurrentAttrs();
211 css::uno::Reference<css::sheet::XSheetCellRanges>
212 QueryDifferences_Impl(
const css::table::CellAddress& aCompare,
214 css::uno::Reference<css::uno::XInterface>
215 Find_Impl(
const css::uno::Reference<css::util::XSearchDescriptor>& xDesc,
223 css::beans::PropertyState GetOnePropertyState(
231 const css::uno::Any& aValue );
239 virtual void RefChanged();
245 void AddRange(
const ScRange& rRange,
const bool bMergeRanges);
250 void SetNewRange(
const ScRange& rNew);
253 void SetCursorOnly(
bool bSet);
257 virtual double SAL_CALL computeFunction( css::sheet::GeneralFunction nFunction )
override;
258 virtual void SAL_CALL clearContents( sal_Int32 nContentFlags )
override;
261 virtual css::uno::Reference< css::beans::XPropertySetInfo >
262 SAL_CALL getPropertySetInfo()
override;
264 const css::uno::Any& aValue )
override;
266 const OUString& PropertyName )
override;
267 virtual void SAL_CALL addPropertyChangeListener(
const OUString& aPropertyName,
268 const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener )
override;
269 virtual void SAL_CALL removePropertyChangeListener(
const OUString& aPropertyName,
270 const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener )
override;
271 virtual void SAL_CALL addVetoableChangeListener(
const OUString& PropertyName,
272 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
273 virtual void SAL_CALL removeVetoableChangeListener(
const OUString& PropertyName,
274 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
277 virtual void SAL_CALL setPropertyValues(
const css::uno::Sequence< OUString >& aPropertyNames,
278 const css::uno::Sequence< css::uno::Any >& aValues )
override;
279 virtual css::uno::Sequence< css::uno::Any > SAL_CALL
280 getPropertyValues(
const css::uno::Sequence< OUString >& aPropertyNames )
override;
281 virtual void SAL_CALL addPropertiesChangeListener(
const css::uno::Sequence< OUString >& aPropertyNames,
282 const css::uno::Reference< css::beans::XPropertiesChangeListener >& xListener )
override;
283 virtual void SAL_CALL removePropertiesChangeListener(
const css::uno::Reference< css::beans::XPropertiesChangeListener >& xListener )
override;
284 virtual void SAL_CALL firePropertiesChangeEvent(
const css::uno::Sequence< OUString >& aPropertyNames,
285 const css::uno::Reference< css::beans::XPropertiesChangeListener >& xListener )
override;
288 virtual css::uno::Sequence< css::beans::SetPropertyTolerantFailed > SAL_CALL
289 setPropertyValuesTolerant(
const css::uno::Sequence< OUString >& aPropertyNames,
290 const css::uno::Sequence< css::uno::Any >& aValues )
override;
291 virtual css::uno::Sequence< css::beans::GetPropertyTolerantResult > SAL_CALL
292 getPropertyValuesTolerant(
const css::uno::Sequence< OUString >& aPropertyNames )
override;
293 virtual css::uno::Sequence< css::beans::GetDirectPropertyTolerantResult > SAL_CALL
294 getDirectPropertyValuesTolerant(
const css::uno::Sequence< OUString >& aPropertyNames )
override;
297 virtual css::beans::PropertyState SAL_CALL getPropertyState(
298 const OUString& PropertyName )
override;
299 virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL
300 getPropertyStates(
const css::uno::Sequence<
301 OUString >& aPropertyName )
override;
302 virtual void SAL_CALL setPropertyToDefault(
const OUString& PropertyName )
override;
303 virtual css::uno::Any SAL_CALL getPropertyDefault(
304 const OUString& aPropertyName )
override;
307 virtual void SAL_CALL decrementIndent()
override;
308 virtual void SAL_CALL incrementIndent()
override;
311 virtual void SAL_CALL addChartDataChangeEventListener(
312 const css::uno::Reference< css::chart::XChartDataChangeEventListener >& aListener )
override;
313 virtual void SAL_CALL removeChartDataChangeEventListener(
const css::uno::Reference<
314 css::chart::XChartDataChangeEventListener >& aListener )
override;
315 virtual double SAL_CALL getNotANumber()
override;
316 virtual sal_Bool SAL_CALL isNotANumber(
double nNumber )
override;
319 virtual css::uno::Sequence< css::uno::Sequence< double > > SAL_CALL
321 virtual void SAL_CALL setData(
const css::uno::Sequence< css::uno::Sequence< double > >& aData )
override;
322 virtual css::uno::Sequence< OUString > SAL_CALL getRowDescriptions()
override;
323 virtual void SAL_CALL setRowDescriptions(
const css::uno::Sequence< OUString >& aRowDescriptions )
override;
324 virtual css::uno::Sequence< OUString > SAL_CALL getColumnDescriptions()
override;
325 virtual void SAL_CALL setColumnDescriptions(
const css::uno::Sequence< OUString >& aColumnDescriptions )
override;
328 virtual css::uno::Reference< css::sheet::XSheetCellRanges > SAL_CALL
329 queryVisibleCells()
override;
330 virtual css::uno::Reference< css::sheet::XSheetCellRanges > SAL_CALL
331 queryEmptyCells()
override;
332 virtual css::uno::Reference< css::sheet::XSheetCellRanges > SAL_CALL
333 queryContentCells( sal_Int16 nContentFlags )
override;
334 virtual css::uno::Reference< css::sheet::XSheetCellRanges > SAL_CALL
335 queryFormulaCells( sal_Int32 nResultFlags )
override;
336 virtual css::uno::Reference< css::sheet::XSheetCellRanges > SAL_CALL
337 queryColumnDifferences(
338 const css::table::CellAddress& aCompare )
override;
339 virtual css::uno::Reference< css::sheet::XSheetCellRanges > SAL_CALL
341 const css::table::CellAddress& aCompare )
override;
342 virtual css::uno::Reference< css::sheet::XSheetCellRanges > SAL_CALL
344 const css::table::CellRangeAddress& aRange )
override;
347 virtual css::uno::Reference< css::sheet::XSheetCellRanges > SAL_CALL
348 queryDependents(
sal_Bool bRecursive )
override;
349 virtual css::uno::Reference< css::sheet::XSheetCellRanges > SAL_CALL
350 queryPrecedents(
sal_Bool bRecursive )
override;
353 virtual css::uno::Reference< css::util::XSearchDescriptor > SAL_CALL
354 createSearchDescriptor()
override;
355 virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL
356 findAll(
const css::uno::Reference< css::util::XSearchDescriptor >& xDesc )
override;
357 virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
358 findFirst(
const css::uno::Reference< css::util::XSearchDescriptor >& xDesc )
override;
359 virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
360 findNext(
const css::uno::Reference< css::uno::XInterface >& xStartAt,
361 const css::uno::Reference< css::util::XSearchDescriptor >& xDesc )
override;
364 virtual css::uno::Reference< css::util::XReplaceDescriptor > SAL_CALL
365 createReplaceDescriptor()
override;
366 virtual sal_Int32 SAL_CALL replaceAll(
const css::uno::Reference< css::util::XSearchDescriptor >& xDesc )
override;
369 virtual void SAL_CALL addModifyListener(
const css::uno::Reference< css::util::XModifyListener >& aListener )
override;
370 virtual void SAL_CALL removeModifyListener(
const css::uno::Reference< css::util::XModifyListener >& aListener )
override;
382 public css::sheet::XSheetCellRangeContainer,
383 public css::container::XNameContainer,
384 public css::container::XEnumerationAccess
396 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type & rType )
override;
397 virtual void SAL_CALL acquire() throw() override;
398 virtual
void SAL_CALL release() throw() override;
400 virtual
void RefChanged() override;
403 virtual
css::
uno::Reference<
css::container::XEnumerationAccess > SAL_CALL
405 virtual OUString SAL_CALL getRangeAddressesAsString() override;
406 virtual
css::
uno::Sequence<
css::table::CellRangeAddress > SAL_CALL
407 getRangeAddresses() override;
410 virtual
void SAL_CALL addRangeAddress( const
css::table::CellRangeAddress& rRange,
412 virtual
void SAL_CALL removeRangeAddress( const
css::table::CellRangeAddress& rRange ) override;
413 virtual
void SAL_CALL addRangeAddresses( const
css::
uno::Sequence<
414 css::table::CellRangeAddress >& rRanges,
416 virtual
void SAL_CALL removeRangeAddresses( const
css::
uno::Sequence<
417 css::table::CellRangeAddress >& rRanges ) override;
420 virtual
void SAL_CALL insertByName( const OUString& aName,
421 const
css::
uno::Any& aElement ) override;
422 virtual
void SAL_CALL removeByName( const OUString& Name ) override;
425 virtual
void SAL_CALL replaceByName( const OUString& aName,
426 const
css::
uno::Any& aElement ) override;
429 virtual
css::
uno::Any SAL_CALL getByName( const OUString& aName ) override;
430 virtual
css::
uno::Sequence< OUString > SAL_CALL getElementNames() override;
431 virtual
sal_Bool SAL_CALL hasByName( const OUString& aName ) override;
434 virtual sal_Int32 SAL_CALL getCount() override;
435 virtual
css::
uno::Any SAL_CALL getByIndex( sal_Int32
Index ) override;
438 virtual
css::
uno::
Type SAL_CALL getElementType() override;
439 virtual
sal_Bool SAL_CALL hasElements() override;
442 virtual
css::
uno::Reference<
css::container::XEnumeration > SAL_CALL
443 createEnumeration() override;
446 virtual OUString SAL_CALL getImplementationName() override;
447 virtual
sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
448 virtual
css::
uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
452 virtual
css::
uno::Sequence<
sal_Int8 > SAL_CALL getImplementationId() override;
456 public
css::sheet::XCellRangeAddressable,
457 public
css::sheet::XSheetCellRange,
458 public
css::sheet::XArrayFormulaRange,
459 public
css::sheet::XArrayFormulaTokens,
460 public
css::sheet::XCellRangeData,
461 public
css::sheet::XCellRangeFormula,
462 public
css::sheet::XMultipleOperation,
463 public
css::util::XMergeable,
464 public
css::sheet::XCellSeries,
465 public
css::table::XAutoFormattable,
466 public
css::util::XSortable,
467 public
css::sheet::XSheetFilterableEx,
468 public
css::sheet::XSubTotalCalculatable,
469 public
css::util::XImportable,
470 public
css::sheet::XCellFormatRangesSupplier,
471 public
css::sheet::XUniqueCellFormatRangesSupplier,
472 public
css::table::XColumnRowRange
482 css::uno::Any& )
override;
484 const css::uno::Any& aValue )
override;
488 css::uno::Reference< css::table::XCell >
489 GetCellByPosition_Impl( sal_Int32 nColumn, sal_Int32 nRow );
492 void SetArrayFormula_Impl(
const OUString& rFormula,
500 static css::uno::Reference<css::table::XCellRange>
504 const css::uno::Type & rType )
override;
505 virtual void SAL_CALL acquire() throw() override;
506 virtual
void SAL_CALL release() throw() override;
508 virtual
void RefChanged() override;
511 virtual
css::table::CellRangeAddress SAL_CALL getRangeAddress() override;
514 virtual
css::
uno::Reference<
css::sheet::XSpreadsheet > SAL_CALL
515 getSpreadsheet() override;
518 virtual OUString SAL_CALL getArrayFormula() override;
519 virtual
void SAL_CALL setArrayFormula( const OUString& aFormula ) override;
522 virtual
css::
uno::Sequence<
css::sheet::FormulaToken > SAL_CALL getArrayTokens() override;
523 virtual
void SAL_CALL setArrayTokens( const
css::
uno::Sequence<
524 css::sheet::FormulaToken >& aTokens ) override;
527 virtual
css::
uno::Sequence<
css::
uno::Sequence<
css::
uno::Any > > SAL_CALL getDataArray() override;
528 virtual
void SAL_CALL setDataArray( const
css::
uno::Sequence<
css::
uno::Sequence<
css::
uno::Any > >& aArray ) override;
532 OUString > > SAL_CALL getFormulaArray() override;
533 virtual
void SAL_CALL setFormulaArray( const
css::
uno::Sequence<
css::
uno::Sequence< OUString > >& aArray ) override;
536 virtual
void SAL_CALL setTableOperation(
537 const
css::table::CellRangeAddress& aFormulaRange,
538 css::sheet::TableOperationMode nMode,
539 const
css::table::CellAddress& aColumnCell,
540 const
css::table::CellAddress& aRowCell ) override;
543 virtual
void SAL_CALL merge(
sal_Bool bMerge ) override;
544 virtual
sal_Bool SAL_CALL getIsMerged() override;
547 virtual
void SAL_CALL fillSeries(
css::sheet::FillDirection nFillDirection,
548 css::sheet::FillMode nFillMode,
549 css::sheet::FillDateMode nFillDateMode,
550 double fStep,
double fEndValue ) override;
551 virtual
void SAL_CALL fillAuto(
css::sheet::FillDirection nFillDirection,
552 sal_Int32 nSourceCount ) override;
555 virtual
void SAL_CALL autoFormat( const OUString& aName ) override;
558 virtual
css::
uno::Sequence<
css::beans::PropertyValue > SAL_CALL
559 createSortDescriptor() override;
560 virtual
void SAL_CALL sort( const
css::
uno::Sequence<
561 css::beans::PropertyValue >& xDescriptor ) override;
564 virtual
css::
uno::Reference<
css::sheet::XSheetFilterDescriptor > SAL_CALL
565 createFilterDescriptorByObject( const
css::
uno::Reference<
566 css::sheet::XSheetFilterable >& xObject ) override;
569 virtual
css::
uno::Reference<
css::sheet::XSheetFilterDescriptor > SAL_CALL
570 createFilterDescriptor(
sal_Bool bEmpty ) override;
571 virtual
void SAL_CALL
filter( const
css::
uno::Reference<
572 css::sheet::XSheetFilterDescriptor >& xDescriptor ) override;
575 virtual
css::
uno::Reference<
css::sheet::XSubTotalDescriptor > SAL_CALL
576 createSubTotalDescriptor(
sal_Bool bEmpty ) override;
577 virtual
void SAL_CALL applySubTotals(const
css::
uno::Reference<
css::sheet::XSubTotalDescriptor >& xDescriptor,
579 virtual
void SAL_CALL removeSubTotals() override;
582 virtual
css::
uno::Sequence<
css::beans::PropertyValue > SAL_CALL
583 createImportDescriptor(
sal_Bool bEmpty ) override;
584 virtual
void SAL_CALL doImport( const
css::
uno::Sequence<
css::beans::PropertyValue >& aDescriptor ) override;
587 virtual
css::
uno::Reference<
css::container::XIndexAccess > SAL_CALL
588 getCellFormatRanges() override;
591 virtual
css::
uno::Reference<
css::container::XIndexAccess > SAL_CALL
592 getUniqueCellFormatRanges() override;
595 virtual
css::
uno::Reference<
css::table::XTableColumns > SAL_CALL
596 getColumns() override;
597 virtual
css::
uno::Reference<
css::table::XTableRows > SAL_CALL
601 virtual
css::
uno::Reference<
css::table::XCell > SAL_CALL
602 getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow ) override;
603 virtual
css::
uno::Reference<
css::table::XCellRange > SAL_CALL
604 getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop,
605 sal_Int32 nRight, sal_Int32 nBottom ) override;
606 virtual
css::
uno::Reference<
css::table::XCellRange > SAL_CALL
607 getCellRangeByName( const OUString& aRange ) override;
609 css::
uno::Reference<
css::table::XCellRange >
610 getCellRangeByName( const OUString& aRange, const
ScAddress::Details& rDetails );
613 virtual
css::
uno::Reference<
css::beans::XPropertySetInfo >
614 SAL_CALL getPropertySetInfo() override;
617 virtual OUString SAL_CALL getImplementationName() override;
618 virtual
sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
619 virtual
css::
uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
623 virtual
css::
uno::Sequence<
sal_Int8 > SAL_CALL getImplementationId() override;
629 public
css::text::XText,
630 public
css::container::XEnumerationAccess,
631 public
css::table::XCell2,
632 public
css::sheet::XFormulaTokens,
633 public
css::sheet::XCellAddressable,
634 public
css::sheet::XSheetAnnotationAnchor,
635 public
css::text::XTextFieldsSupplier,
636 public
css::document::XActionLockable
645 OUString GetInputString_Impl(
bool bEnglish)
const;
646 OUString GetOutputString_Impl()
const;
647 void SetString_Impl(
const OUString& rString,
bool bInterpret,
bool bEnglish);
648 double GetValue_Impl()
const;
649 void SetValue_Impl(
double fValue);
650 css::table::CellContentType GetContentType_Impl();
651 sal_Int32 GetResultType_Impl()
const;
655 css::uno::Any& )
override;
657 const css::uno::Any& aValue )
override;
666 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type & rType )
override;
667 virtual void SAL_CALL acquire() throw() override;
668 virtual
void SAL_CALL release() throw() override;
670 virtual
void RefChanged() override;
676 const
ScAddress& GetPosition()
const {
return aCellPos; }
678 void InputEnglishString(
const OUString& rText );
681 virtual void SAL_CALL insertTextContent(
const css::uno::Reference< css::text::XTextRange >& xRange,
682 const css::uno::Reference< css::text::XTextContent >& xContent,
684 virtual void SAL_CALL removeTextContent(
const css::uno::Reference< css::text::XTextContent >& xContent )
override;
687 virtual css::uno::Reference< css::text::XTextCursor > SAL_CALL
688 createTextCursor()
override;
689 virtual css::uno::Reference< css::text::XTextCursor > SAL_CALL
690 createTextCursorByRange(
const css::uno::Reference< css::text::XTextRange >& aTextPosition )
override;
691 virtual void SAL_CALL insertString(
const css::uno::Reference< css::text::XTextRange >& xRange,
692 const OUString& aString,
sal_Bool bAbsorb )
override;
693 virtual void SAL_CALL insertControlCharacter(
const css::uno::Reference< css::text::XTextRange >& xRange,
694 sal_Int16 nControlCharacter,
sal_Bool bAbsorb )
override;
697 virtual css::uno::Reference< css::text::XText > SAL_CALL
699 virtual css::uno::Reference< css::text::XTextRange > SAL_CALL
701 virtual css::uno::Reference< css::text::XTextRange > SAL_CALL
703 virtual OUString SAL_CALL
getString()
override;
704 virtual void SAL_CALL setString(
const OUString& aString )
override;
707 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
708 createEnumeration()
override;
711 virtual css::uno::Type SAL_CALL getElementType()
override;
712 virtual sal_Bool SAL_CALL hasElements()
override;
715 virtual OUString SAL_CALL getFormula()
override;
716 virtual void SAL_CALL setFormula(
const OUString& aFormula )
override;
717 virtual void SAL_CALL setFormulaResult(
double nValue )
override;
718 virtual void SAL_CALL setFormulaString(
const OUString& aFormula )
override;
719 virtual double SAL_CALL
getValue()
override;
720 virtual void SAL_CALL
setValue(
double nValue )
override;
721 virtual css::table::CellContentType SAL_CALL
getType()
override;
722 virtual sal_Int32 SAL_CALL getError()
override;
725 virtual css::uno::Sequence< css::sheet::FormulaToken > SAL_CALL getTokens()
override;
726 virtual void SAL_CALL setTokens(
const css::uno::Sequence< css::sheet::FormulaToken >& aTokens )
override;
729 virtual css::table::CellAddress SAL_CALL getCellAddress()
override;
732 virtual css::uno::Reference< css::sheet::XSheetAnnotation > SAL_CALL
733 getAnnotation()
override;
736 virtual css::uno::Reference< css::container::XEnumerationAccess > SAL_CALL
737 getTextFields()
override;
738 virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL
739 getTextFieldMasters()
override;
742 virtual css::uno::Reference< css::beans::XPropertySetInfo >
751 virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes()
override;
752 virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
override;
755 virtual sal_Bool SAL_CALL isActionLocked()
override;
756 virtual void SAL_CALL addActionLock()
override;
757 virtual void SAL_CALL removeActionLock()
override;
758 virtual void SAL_CALL setActionLocks( sal_Int16 nLock )
override;
759 virtual sal_Int16 SAL_CALL resetActionLocks()
override;
763 public css::sheet::XSpreadsheet,
764 public css::container::XNamed,
765 public css::sheet::XSheetPageBreak,
766 public css::sheet::XCellRangeMovement,
767 public css::table::XTableChartsSupplier,
768 public css::table::XTablePivotChartsSupplier,
769 public css::sheet::XDataPilotTablesSupplier,
770 public css::sheet::XScenariosSupplier,
771 public css::sheet::XSheetAnnotationsSupplier,
772 public css::drawing::XDrawPageSupplier,
773 public css::sheet::XPrintAreas,
774 public css::sheet::XSheetLinkable,
775 public css::sheet::XSheetAuditing,
776 public css::sheet::XSheetOutline,
777 public css::util::XProtectable,
778 public css::sheet::XScenario,
779 public css::sheet::XScenarioEnhanced,
780 public css::sheet::XExternalSheetName,
781 public css::document::XEventsSupplier
788 SCTAB GetTab_Impl()
const;
789 void PrintAreaUndo_Impl( std::unique_ptr<ScPrintRangeSaver> pOldRanges );
794 css::uno::Any& )
override;
796 const css::uno::Any& aValue )
override;
804 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type & rType )
override;
805 virtual void SAL_CALL acquire() throw() override;
806 virtual
void SAL_CALL release() throw() override;
809 virtual
css::
uno::Reference<
css::sheet::XSheetCellCursor >
810 SAL_CALL createCursor() override;
811 virtual
css::
uno::Reference<
css::sheet::XSheetCellCursor > SAL_CALL
812 createCursorByRange( const
css::
uno::Reference<
813 css::sheet::XSheetCellRange >& aRange ) override;
816 virtual
css::
uno::Reference<
css::sheet::XSpreadsheet > SAL_CALL
817 getSpreadsheet() override;
820 virtual
css::
uno::Reference<
css::table::XCell > SAL_CALL
822 virtual
css::
uno::Reference<
css::table::XCellRange > SAL_CALL
824 sal_Int32 nRight, sal_Int32 nBottom ) override;
826 virtual
css::
uno::Reference<
css::table::XCellRange > SAL_CALL
827 getCellRangeByName( const OUString& aRange ) override;
830 virtual OUString SAL_CALL getName() override;
831 virtual
void SAL_CALL setName( const OUString& aName ) override;
834 virtual
css::
uno::Sequence<
css::sheet::TablePageBreakData > SAL_CALL
835 getColumnPageBreaks() override;
836 virtual
css::
uno::Sequence<
css::sheet::TablePageBreakData > SAL_CALL
837 getRowPageBreaks() override;
838 virtual
void SAL_CALL removeAllManualPageBreaks() override;
841 virtual
void SAL_CALL insertCells( const
css::table::CellRangeAddress& aRange,
842 css::sheet::CellInsertMode nMode ) override;
843 virtual
void SAL_CALL removeRange( const
css::table::CellRangeAddress& aRange,
844 css::sheet::CellDeleteMode nMode ) override;
845 virtual
void SAL_CALL moveRange( const
css::table::CellAddress& aDestination,
846 const
css::table::CellRangeAddress& aSource ) override;
847 virtual
void SAL_CALL copyRange( const
css::table::CellAddress& aDestination,
848 const
css::table::CellRangeAddress& aSource ) override;
851 virtual
css::
uno::Reference<
css::table::XTableCharts > SAL_CALL
852 getCharts() override;
855 virtual
css::
uno::Reference<
css::table::XTablePivotCharts> SAL_CALL
856 getPivotCharts() override;
859 virtual
css::
uno::Reference<
css::sheet::XDataPilotTables > SAL_CALL
860 getDataPilotTables() override;
863 virtual
css::
uno::Reference<
css::sheet::XScenarios > SAL_CALL
864 getScenarios() override;
867 virtual
css::
uno::Reference<
css::sheet::XSheetAnnotations > SAL_CALL
868 getAnnotations() override;
872 getDrawPage() override;
875 virtual
css::
uno::Sequence<
css::table::CellRangeAddress > SAL_CALL
876 getPrintAreas() override;
877 virtual
void SAL_CALL setPrintAreas( const
css::
uno::Sequence<
878 css::table::CellRangeAddress >& aPrintAreas ) override;
879 virtual
sal_Bool SAL_CALL getPrintTitleColumns() override;
880 virtual
void SAL_CALL setPrintTitleColumns(
sal_Bool bPrintTitleColumns ) override;
881 virtual
css::table::CellRangeAddress SAL_CALL getTitleColumns() override;
882 virtual
void SAL_CALL setTitleColumns(
883 const
css::table::CellRangeAddress& aTitleColumns ) override;
884 virtual
sal_Bool SAL_CALL getPrintTitleRows() override;
885 virtual
void SAL_CALL setPrintTitleRows(
sal_Bool bPrintTitleRows ) override;
886 virtual
css::table::CellRangeAddress SAL_CALL getTitleRows() override;
887 virtual
void SAL_CALL setTitleRows(
888 const
css::table::CellRangeAddress& aTitleRows ) override;
891 virtual
css::sheet::SheetLinkMode SAL_CALL getLinkMode() override;
892 virtual
void SAL_CALL setLinkMode(
css::sheet::SheetLinkMode nLinkMode ) override;
893 virtual OUString SAL_CALL getLinkUrl() override;
894 virtual
void SAL_CALL setLinkUrl( const OUString& aLinkUrl ) override;
895 virtual OUString SAL_CALL getLinkSheetName() override;
896 virtual
void SAL_CALL setLinkSheetName( const OUString& aLinkSheetName ) override;
897 virtual
void SAL_CALL link( const OUString& aUrl,
898 const OUString& aSheetName,
899 const OUString& aFilterName,
900 const OUString& aFilterOptions,
901 css::sheet::SheetLinkMode nMode ) override;
904 virtual
sal_Bool SAL_CALL hideDependents( const
css::table::CellAddress& aPosition ) override;
905 virtual
sal_Bool SAL_CALL hidePrecedents( const
css::table::CellAddress& aPosition ) override;
906 virtual
sal_Bool SAL_CALL showDependents( const
css::table::CellAddress& aPosition ) override;
907 virtual
sal_Bool SAL_CALL showPrecedents( const
css::table::CellAddress& aPosition ) override;
908 virtual
sal_Bool SAL_CALL showErrors( const
css::table::CellAddress& aPosition ) override;
909 virtual
sal_Bool SAL_CALL showInvalid() override;
910 virtual
void SAL_CALL clearArrows() override;
913 virtual
void SAL_CALL group( const
css::table::CellRangeAddress& aRange,
914 css::table::TableOrientation nOrientation ) override;
915 virtual
void SAL_CALL ungroup( const
css::table::CellRangeAddress& aRange,
916 css::table::TableOrientation nOrientation ) override;
917 virtual
void SAL_CALL autoOutline( const
css::table::CellRangeAddress& aRange ) override;
918 virtual
void SAL_CALL clearOutline() override;
919 virtual
void SAL_CALL hideDetail( const
css::table::CellRangeAddress& aRange ) override;
920 virtual
void SAL_CALL showDetail( const
css::table::CellRangeAddress& aRange ) override;
921 virtual
void SAL_CALL showLevel( sal_Int16 nLevel,
922 css::table::TableOrientation nOrientation ) override;
925 virtual
void SAL_CALL protect( const OUString& aPassword ) override;
926 virtual
void SAL_CALL unprotect( const OUString& aPassword ) override;
927 virtual
sal_Bool SAL_CALL isProtected() override;
930 virtual
sal_Bool SAL_CALL getIsScenario() override;
931 virtual OUString SAL_CALL getScenarioComment() override;
932 virtual
void SAL_CALL setScenarioComment( const OUString& aScenarioComment ) override;
933 virtual
void SAL_CALL addRanges( const
css::
uno::Sequence<
934 css::table::CellRangeAddress >& aRanges ) override;
935 virtual
void SAL_CALL apply() override;
937 virtual
css::
uno::Sequence<
css::table::CellRangeAddress > SAL_CALL
938 getRanges( ) override;
941 virtual
void SAL_CALL setExternalName( const OUString& aUrl, const OUString& aSheetName ) override;
944 virtual
css::
uno::Reference<
css::container::XNameReplace > SAL_CALL getEvents() override;
947 virtual
css::
uno::Reference<
css::beans::XPropertySetInfo >
948 SAL_CALL getPropertySetInfo() override;
960 virtual
css::
uno::Sequence<
sal_Int8 > SAL_CALL getImplementationId() override;
964 public
css::container::XNamed
971 css::uno::Any& )
override;
973 const css::uno::Any& aValue )
override;
980 const css::uno::Type & rType )
override;
981 virtual void SAL_CALL acquire() throw() override;
982 virtual
void SAL_CALL release() throw() override;
985 virtual OUString SAL_CALL getName() override;
986 virtual
void SAL_CALL setName( const OUString& aName ) override;
989 virtual
css::
uno::Reference<
css::beans::XPropertySetInfo >
990 SAL_CALL getPropertySetInfo() override;
999 virtual
css::
uno::Sequence<
sal_Int8 > SAL_CALL getImplementationId() override;
1009 css::uno::Any& )
override;
1011 const css::uno::Any& aValue )
override;
1018 virtual css::uno::Reference< css::beans::XPropertySetInfo >
1019 SAL_CALL getPropertySetInfo()
override;
1028 css::container::XEnumerationAccess,
1029 css::lang::XServiceInfo >,
1043 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
1044 createEnumeration()
override;
1047 virtual css::uno::Type SAL_CALL getElementType()
override;
1048 virtual sal_Bool SAL_CALL hasElements()
override;
1057 css::container::XEnumeration,
1058 css::lang::XServiceInfo >,
1069 void Advance_Impl();
1070 void CheckPos_Impl();
1079 virtual sal_Bool SAL_CALL hasMoreElements()
override;
1080 virtual css::uno::Any SAL_CALL nextElement()
override;
1089 css::container::XIndexAccess,
1090 css::container::XEnumerationAccess,
1091 css::lang::XServiceInfo >,
1099 ScCellRangeObj* GetObjectByIndex_Impl(
tools::Long nIndex)
const;
1108 virtual sal_Int32 SAL_CALL getCount()
override;
1109 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
1112 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
1113 createEnumeration()
override;
1116 virtual css::uno::Type SAL_CALL getElementType()
override;
1117 virtual sal_Bool SAL_CALL hasElements()
override;
1126 css::container::XEnumeration,
1127 css::lang::XServiceInfo >,
1133 std::unique_ptr<ScAttrRectIterator>
pIter;
1139 void Advance_Impl();
1140 ScCellRangeObj* NextObject_Impl();
1149 virtual sal_Bool SAL_CALL hasMoreElements()
override;
1150 virtual css::uno::Any SAL_CALL nextElement()
override;
1159 css::container::XIndexAccess,
1160 css::container::XEnumerationAccess,
1161 css::lang::XServiceInfo >,
1175 virtual sal_Int32 SAL_CALL getCount()
override;
1176 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
1179 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
1180 createEnumeration()
override;
1183 virtual css::uno::Type SAL_CALL getElementType()
override;
1184 virtual sal_Bool SAL_CALL hasElements()
override;
1193 css::container::XEnumeration,
1194 css::lang::XServiceInfo >,
1209 virtual sal_Bool SAL_CALL hasMoreElements()
override;
1210 virtual css::uno::Any SAL_CALL nextElement()
override;
RegError REGISTRY_CALLTYPE setValue(RegKeyHandle hKey, rtl_uString *keyName, RegValueType valueType, RegValue pData, sal_uInt32 valueSize)
std::unique_ptr< Impl > m_pImpl
const SfxItemPropertySet * pRangePropSet
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
virtual const SfxItemPropertyMap & GetItemPropertyMap()
ScDocShell * GetDocShell() const
bool getType(BSTR name, Type &type)
uno::Any getPropertyValue(const uno::Sequence< beans::PropertyValue > &aProp, const OUString &aName)
#define DECL_LINK(Member, ArgType, RetType)
const SfxItemPropertySet * pSheetPropSet
css::uno::Sequence< OUString > getSupportedServiceNames()
OUString getImplementationName()
static void FillBoxItems(SvxBoxItem &rOuter, SvxBoxInfoItem &rInner, const css::table::TableBorder &rBorder)
virtual OUString SAL_CALL getImplementationName() override
XServiceInfo.
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
#define UNO3_GETIMPLEMENTATION_DECL(classname)
const ScRangeList & GetRangeList() const
static void AssignTableBorder2ToAny(css::uno::Any &rAny, const SvxBoxItem &rOuter, const SvxBoxInfoItem &rInner, bool bInvalidateHorVerDist=false)
static void AssignTableBorderToAny(css::uno::Any &rAny, const SvxBoxItem &rOuter, const SvxBoxInfoItem &rInner, bool bInvalidateHorVerDist=false)
std::unique_ptr< ScMarkData > pMarkData
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
std::vector< css::uno::Reference< css::util::XModifyListener > > XModifyListenerArr_Impl
XModifyListenerArr_Impl aValueListeners
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
virtual css::uno::Reference< css::table::XCell > SAL_CALL getCellByPosition(sal_Int32 nColumn, sal_Int32 nRow, sal_Int32 nSheet) override
XCellRangesAccess.
std::unique_ptr< ScLinkListener > pValueListener
ScLinkListener(const Link< const SfxHint &, void > &rL)
const SfxItemPropertySet * pPropSet
virtual void SetOnePropertyValue(const SfxItemPropertySimpleEntry *pEntry, const css::uno::Any &aValue)
virtual ~ScLinkListener() override
move ScLinkListener into another file !!!
static void ApplyBorder(ScDocShell *pDocShell, const ScRangeList &rRanges, const SvxBoxItem &rOuter, const SvxBoxInfoItem &rInner)
move lcl_ApplyBorder to docfunc !
std::unique_ptr< SfxItemSet > pCurrentDataSet
void Notify(ScModelObj &rModelObj, const ScRangeList &rChangeRanges, const OUString &rType=OUString("cell-change"), const css::uno::Sequence< css::beans::PropertyValue > &rProperties=css::uno::Sequence< css::beans::PropertyValue >())
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
css::beans::Optional< css::uno::Any > getValue(std::u16string_view id)
bool setPropertyValue(uno::Sequence< beans::PropertyValue > &aProp, const OUString &aName, const uno::Any &aValue)
const ScRange & GetRange() const
virtual void Notify(const SfxHint &rHint) override
static void FillBorderLine(css::table::BorderLine &rStruct, const ::editeng::SvxBorderLine *pLine)
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint)
std::unique_ptr< ScPatternAttr > pCurrentDeep
bool IsCursorOnly() const
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
std::unique_ptr< ScMarkData > pMark
std::unique_ptr< ScPatternAttr > pCurrentFlat
virtual void GetOnePropertyValue(const SfxItemPropertySimpleEntry *pEntry, css::uno::Any &)
really derive cell from range?
css::uno::WeakReference< css::uno::XInterface > m_wThis
rtl::Reference< SvxUnoText > mxUnoText
static const ::editeng::SvxBorderLine * GetBorderLine(::editeng::SvxBorderLine &rLine, const css::table::BorderLine &rStruct)
const SfxItemPropertySet * pCellPropSet
std::unique_ptr< SfxItemSet > pNoDfltCurrentDataSet
const SfxItemPropertySet * pColPropSet
virtual css::uno::Reference< css::table::XCellRange > SAL_CALL getCellRangeByPosition(sal_Int32 nLeft, sal_Int32 nTop, sal_Int32 nRight, sal_Int32 nBottom, sal_Int32 nSheet) override
OUString getString(const Any &_rAny)
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Link< const SfxHint &, void > aLink
sal_Int16 nActionLockCount
const SfxItemPropertySet * pRowPropSet
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)