20#include <config_feature_opencl.h>
35#include <svx/svxids.hrc>
37#include <LibreOfficeKit/LibreOfficeKitEnums.h>
39#include <officecfg/Office/Common.hxx>
40#include <officecfg/Office/Calc.hxx>
58#include <com/sun/star/beans/PropertyAttribute.hpp>
59#include <com/sun/star/util/Date.hpp>
60#include <com/sun/star/sheet/XNamedRanges.hpp>
61#include <com/sun/star/sheet/XLabelRanges.hpp>
62#include <com/sun/star/sheet/XSelectedSheetsSupplier.hpp>
63#include <com/sun/star/sheet/XUnnamedDatabaseRanges.hpp>
64#include <com/sun/star/i18n/XForbiddenCharacters.hpp>
65#include <com/sun/star/script/XLibraryContainer.hpp>
66#include <com/sun/star/lang/XInitialization.hpp>
67#include <com/sun/star/lang/ServiceNotRegisteredException.hpp>
68#include <com/sun/star/document/XDocumentEventBroadcaster.hpp>
69#include <com/sun/star/script/XInvocation.hpp>
70#include <com/sun/star/script/vba/XVBAEventProcessor.hpp>
71#include <com/sun/star/beans/XFastPropertySet.hpp>
79#if HAVE_FEATURE_OPENCL
120#include <unonames.hxx>
131#include <strings.hrc>
190 return aDocOptPropertyMap_Impl;
205 return aColumnsPropertyMap_Impl;
222 return aRowsPropertyMap_Impl;
227constexpr OUStringLiteral
SCDOC_SERVICE =
u"com.sun.star.document.OfficeDocument";
250 sal_Int32 nNumProps= 10, nIdx = 0;
256 m_aUIProperties[nIdx++].Value <<= OUString(
"modules/scalc/ui/printeroptions.ui");
260 OUString aAppGroupname(
ScResId( SCSTR_PRINTOPT_PRODNAME ) );
269 ".HelpID:vcl:PrintDialog:IsSuppressEmptyPages:CheckBox",
270 "IsSuppressEmptyPages",
280 uno::Sequence< OUString > aChoices{
281 ScResId( SCSTR_PRINTOPT_ALLSHEETS ),
282 ScResId( SCSTR_PRINTOPT_SELECTEDSHEETS ),
283 ScResId( SCSTR_PRINTOPT_SELECTEDCELLS )};
284 uno::Sequence< OUString > aHelpIds{
285 ".HelpID:vcl:PrintDialog:PrintContent:ListBox"};
287 aHelpIds,
"PrintContent",
288 aChoices, nContent );
297 OUString aPrintRangeName(
"PrintRange" );
298 aChoices = {
ScResId( SCSTR_PRINTOPT_PRINTALLPAGES ),
ScResId( SCSTR_PRINTOPT_PRINTPAGES ) };
299 aHelpIds = {
".HelpID:vcl:PrintDialog:PrintRange:RadioButton:0",
300 ".HelpID:vcl:PrintDialog:PrintRange:RadioButton:1" };
301 uno::Sequence< OUString > aWidgetIds{
"rbAllPages",
"rbRangePages" };
311 ".HelpID:vcl:PrintDialog:PageRange:Edit",
312 "PageRange", OUString(), aPageRangeOpt);
317 uno::Sequence<OUString>(),
319 uno::Sequence<OUString>(),
321 uno::Sequence< sal_Bool >(),
324 assert(nIdx == nNumProps);
337 uno::Sequence<beans::PropertyValue> aUIProp;
338 if ( rPropValue.Value >>= aUIProp )
340 for (
auto& rProp : asNonConstRange(aUIProp))
342 OUString
aName = rProp.Name;
343 if (
aName ==
"Property" )
345 beans::PropertyValue aPropertyValue;
346 if ( rProp.Value >>= aPropertyValue )
348 if ( aPropertyValue.Name ==
"PrintContent" )
350 aPropertyValue.Value <<= nContent;
351 rProp.Value <<= aPropertyValue;
353 else if ( aPropertyValue.Name ==
"IsSuppressEmptyPages" )
355 aPropertyValue.Value <<= bSuppress;
356 rProp.Value <<= aPropertyValue;
361 rPropValue.Value <<= aUIProp;
405 xNumberAgg->setDelegator(uno::Reference<uno::XInterface>());
421 uno::Reference<util::XNumberFormatsSupplier> xFormatter(
424 xNumberAgg.set(uno::Reference<uno::XAggregation>( xFormatter, uno::UNO_QUERY ));
429 xFormatter =
nullptr;
499 constexpr size_t nMaxIter = 5;
502 pViewShell && nIter < nMaxIter;
505 if (pViewShell->GetDocId() != rDocId)
521 int nOutputWidth,
int nOutputHeight,
522 int nTilePosX,
int nTilePosY,
541 pViewData = pActiveViewData;
557 SCCOL nTiledRenderingAreaEndCol = 0;
558 SCROW nTiledRenderingAreaEndRow = 0;
563 pGridWindow->
PaintTile( rDevice, nOutputWidth, nOutputHeight,
564 nTilePosX, nTilePosY, nTileWidth, nTileHeight,
565 nTiledRenderingAreaEndCol, nTiledRenderingAreaEndRow );
572 Size aOutputSize(nOutputWidth, nOutputHeight);
613 const bool bIsSelected =
false;
616 OUString aPartInfo =
"{ \"visible\": \"" +
617 OUString::number(
static_cast<unsigned int>(bIsVisible)) +
618 "\", \"selected\": \"" +
619 OUString::number(
static_cast<unsigned int>(bIsSelected)) +
620 "\", \"rtllayout\": \"" +
621 OUString::number(
static_cast<unsigned int>(bIsRTLLayout)) +
644 return (pViewData->
GetDocument().
GetHashCode(nPart, nHashCode) ? OUString::number(nHashCode) : OUString());
665 SCCOL nTiledRenderingAreaEndCol = 0;
666 SCROW nTiledRenderingAreaEndRow = 0;
667 return getDocumentSize(nTiledRenderingAreaEndCol, nTiledRenderingAreaEndRow);
679 rnTiledRenderingAreaEndCol = 0;
680 rnTiledRenderingAreaEndRow = 0;
686 const double fPPTX = pViewData->
GetPPTX();
687 const double fPPTY = pViewData->
GetPPTY();
689 auto GetColWidthPx = [pThisDoc, fPPTX, nTab](
SCCOL nCol) {
690 const sal_uInt16 nSize = pThisDoc->
GetColWidth(nCol, nTab);
697 if (nDocWidthPixel > 0 && nDocHeightPixel > 0)
700 aSize.
setWidth(nDocWidthPixel / fPPTX);
701 aSize.
setHeight(nDocHeightPixel / fPPTY);
731 aSize =
Size(nEndCol, nEndRow);
763 nButtons, nModifier, pViewData->
GetPPTX(),
764 pViewData->
GetPPTY(), bDrawNegativeX))
767 Point aPointTwip(nX, nY);
771 Point aPointHMMDraw(bDrawNegativeX ? -aPointHMM.
X() : aPointHMM.
X(), aPointHMM.
Y());
787 aData.setLogicPosition(aPointHMM);
790 case LOK_MOUSEEVENT_MOUSEBUTTONDOWN:
791 aEvent = VclEventId::WindowMouseButtonDown;
793 case LOK_MOUSEEVENT_MOUSEBUTTONUP:
794 aEvent = VclEventId::WindowMouseButtonUp;
796 case LOK_MOUSEEVENT_MOUSEMOVE:
797 aEvent = VclEventId::WindowMouseMove;
823 bool bHandled =
false;
837 case LOK_SETTEXTSELECTION_START:
840 case LOK_SETTEXTSELECTION_END:
843 case LOK_SETTEXTSELECTION_RESET:
853 else if (pDrawView && pDrawView->
IsTextEdit())
862 case LOK_SETTEXTSELECTION_START:
865 case LOK_SETTEXTSELECTION_END:
868 case LOK_SETTEXTSELECTION_RESET:
895 uno::Reference<datatransfer::XTransferable> xTransferable;
899 if (
ScEditShell * pShell =
dynamic_cast<ScEditShell*
>( pViewData->GetViewShell()->GetViewFrame().GetDispatcher()->GetShell(0) ) )
901 else if (
nullptr !=
dynamic_cast<ScDrawTextObjectBar*
>( pViewData->GetViewShell()->GetViewFrame().GetDispatcher()->GetShell(0) ))
903 ScDrawView* pView = pViewData->GetScDrawView();
908 else if (
ScDrawShell * pDrawShell =
dynamic_cast<ScDrawShell*
>( pViewData->GetViewShell()->GetViewFrame().GetDispatcher()->GetShell(0) ) )
909 xTransferable = pDrawShell->GetDrawView()->CopyToTransferable();
911 xTransferable = pViewData->GetViewShell()->CopyToTransferable();
914 if (!xTransferable.is())
917 return xTransferable;
934 double fPPTX = pViewData->
GetPPTX();
935 double fPPTY = pViewData->
GetPPTY();
942 int nPixelX = nX * fPPTX;
943 int nPixelY = nY * fPPTY;
947 case LOK_SETGRAPHICSELECTION_START:
955 case LOK_SETGRAPHICSELECTION_END:
1047 constexpr double fEps = 1
E-08;
1049 if (pViewData->
GetZoomX() == newZoomX && pViewData->
GetZoomY() == newZoomY && fDeltaPPTX < fEps && fDeltaPPTY < fEps)
1052 pViewData->
SetZoom(newZoomX, newZoomY,
true);
1059 pDrawView->resetGridOffsetsForAllSdrPageViews();
1076 bool bFiltered,
bool bGroups)
1101 rJsonWriter.
put(
"commandName",
".uno:CellCursor");
1111 return PointerStyle::Arrow;
1115 return PointerStyle::Arrow;
1125 pChangeTrack->GetChangeTrackInfo(rJson);
1142 comphelper::LibreOfficeKit::Compat::scPrintTwipsMsgs))
1168 std::vector<sc::NoteEntry> aNotes;
1171 auto commentsNode = rJsonWriter.
startArray(
"comments");
1176 rJsonWriter.
put(
"id", aNote.mpNote->GetId());
1177 rJsonWriter.
put(
"tab", aNote.maPos.Tab());
1178 rJsonWriter.
put(
"author", aNote.mpNote->GetAuthor());
1179 rJsonWriter.
put(
"dateTime", aNote.mpNote->GetDate());
1180 rJsonWriter.
put(
"text", aNote.mpNote->GetText());
1188 SCCOL nX = aNote.maPos.Col();
1189 SCROW nY = aNote.maPos.Row();
1190 Point aScrPos = pViewData->GetScrPos(nX, nY, pViewData->GetActivePart(),
true);
1193 pViewData->GetMergeSizePixel(nX, nY, nSizeXPix, nSizeYPix);
1195 double fPPTX = pViewData->GetPPTX();
1196 double fPPTY = pViewData->GetPPTY();
1198 Size(nSizeXPix / fPPTX, nSizeYPix / fPPTY));
1212 std::vector<sc::NoteEntry> aNotes;
1215 auto commentsNode = rJsonWriter.
startArray(
"commentsPos");
1220 rJsonWriter.
put(
"id", aNote.mpNote->GetId());
1221 rJsonWriter.
put(
"tab", aNote.maPos.Tab());
1229 SCCOL nX = aNote.maPos.Col();
1230 SCROW nY = aNote.maPos.Row();
1231 Point aScrPos = pViewData->GetScrPos(nX, nY, pViewData->GetActivePart(),
true);
1234 pViewData->GetMergeSizePixel(nX, nY, nSizeXPix, nSizeYPix);
1236 double fPPTX = pViewData->GetPPTX();
1237 double fPPTY = pViewData->GetPPTY();
1239 Size(nSizeXPix / fPPTX, nSizeYPix / fPPTY));
1252 assert(!rFunctionName.isEmpty());
1259 OStringBuffer aState;
1268 aState.append(aThemeName);
1271 return aState.makeStringAndClear();
1281 SC_MOD()->SetAppOptions(aAppOptions);
1283 for (
const beans::PropertyValue& rValue : rArguments)
1285 if (rValue.Name ==
".uno:SpellOnline" && rValue.Value.has<
bool>())
1297 SC_MOD()->SetInputOptions(aInputOptions);
1305 officecfg::Office::Common::Save::Document::WarnAlienFormat::set(
false, xChanges);
1340 aRet =
xNumberAgg->queryAggregation( rType );
1358 static const uno::Sequence<uno::Type>
aTypes = [&]()
1360 uno::Sequence<uno::Type> aAggTypes;
1368 aAggTypes = (*xNumProv)->getTypes();
1374 uno::Sequence<uno::Type>
1399 return css::uno::Sequence<sal_Int8>();
1407 if (
nId == SfxHintId::Dying )
1413 comphelper::getFromUnoTunnel<SvNumberFormatsSupplierObj>(
1414 uno::Reference<util::XNumberFormatsSupplier>(
xNumberAgg, uno::UNO_QUERY) );
1422 else if (
nId == SfxHintId::DataChanged )
1466 return css::uno::Reference< ::css::chart2::data::XDataProvider > (
1487 for (
const beans::PropertyValue& rProp : rOptions)
1489 const OUString & rPropName = rProp.Name;
1493 uno::Reference<awt::XDevice> xRenderDevice(rProp.Value, uno::UNO_QUERY);
1494 if ( xRenderDevice.is() )
1515 sal_Int32 nNumeric = 0;
1517 bool bRangeValid =
false;
1518 bool bRectValid =
false;
1526 rTargetRange = aAddress;
1535 ( nNumeric =
rTarget.toInt32() ) > 0 && nNumeric <= rDoc.
MaxRow()+1 )
1538 rTargetRange =
ScAddress( 0,
static_cast<SCROW>(nNumeric-1), nSourceTab );
1555 for (
SCTAB i=0;
i<nTabCount && !bRangeValid;
i++)
1558 OSL_ENSURE(pPage,
"Page ?");
1563 while (
pObject && !bRangeValid)
1567 rTargetRect =
pObject->GetLogicRect();
1568 rTargetRange = rDoc.
GetRange(
i, rTargetRect );
1569 bRangeValid = bRectValid =
true;
1577 if ( bRangeValid && !bRectValid )
1589 const uno::Sequence< beans::PropertyValue >& rOptions,
1592 bool& rbRenderToGraphic )
const
1594 OSL_ENSURE( !rMark.
IsMarked() && !rMark.
IsMultiMarked(),
"FillRenderMarkData: MarkData must be empty" );
1595 OSL_ENSURE(
pDocShell,
"FillRenderMarkData: DocShell must be set" );
1599 uno::Reference<frame::XController> xView;
1602 bool bSelectedSheetsOnly =
false;
1603 bool bSuppressEmptyPages =
true;
1605 bool bHasPrintContent =
false;
1606 sal_Int32 nPrintContent = 0;
1607 sal_Int32 nPrintRange = 0;
1608 sal_Int32 nEOContent = 0;
1609 OUString aPageRange;
1611 for(
const auto& rOption : rOptions )
1613 if ( rOption.Name ==
"IsOnlySelectedSheets" )
1615 rOption.Value >>= bSelectedSheetsOnly;
1617 else if ( rOption.Name ==
"IsSuppressEmptyPages" )
1619 rOption.Value >>= bSuppressEmptyPages;
1621 else if ( rOption.Name ==
"PageRange" )
1623 rOption.Value >>= aPageRange;
1625 else if ( rOption.Name ==
"PrintRange" )
1627 rOption.Value >>= nPrintRange;
1629 else if ( rOption.Name ==
"EvenOdd" )
1631 rOption.Value >>= nEOContent;
1633 else if ( rOption.Name ==
"PrintContent" )
1635 bHasPrintContent =
true;
1636 rOption.Value >>= nPrintContent;
1638 else if ( rOption.Name ==
"View" )
1640 rOption.Value >>= xView;
1642 else if ( rOption.Name ==
"RenderToGraphic" )
1644 rOption.Value >>= rbRenderToGraphic;
1649 if ( bHasPrintContent )
1650 bSelectedSheetsOnly = ( nPrintContent != 0 );
1652 uno::Reference<uno::XInterface> xInterface(aSelection, uno::UNO_QUERY);
1653 if ( xInterface.is() )
1655 ScCellRangesBase* pSelObj =
dynamic_cast<ScCellRangesBase*
>( xInterface.get() );
1656 uno::Reference< drawing::XShapes > xShapes( xInterface, uno::UNO_QUERY );
1657 if ( pSelObj && pSelObj->GetDocShell() ==
pDocShell )
1659 bool bSheet = (
dynamic_cast<ScTableSheetObj*
>( pSelObj ) !=
nullptr );
1660 bool bCursor = pSelObj->IsCursorOnly();
1661 const ScRangeList& rRanges = pSelObj->GetRangeList();
1679 if ( bCursor || bSheet )
1692 else if( xShapes.is() )
1696 uno::Reference< drawing::XShape > xShape( xShapes->getByIndex(0), uno::UNO_QUERY );
1713 else if ( comphelper::getFromUnoTunnel<ScModelObj>( xInterface ) ==
this )
1719 for (
SCTAB nTab = 0; nTab < nTabCount; nTab++)
1728 uno::Reference<sheet::XSelectedSheetsSupplier> xSelectedSheets(xView, uno::UNO_QUERY);
1729 if (bSelectedSheetsOnly &&
pDocShell && xSelectedSheets.is())
1731 const uno::Sequence<sal_Int32> aSelected = xSelectedSheets->getSelectedSheets();
1734 for (
const auto& rSelected : aSelected)
1736 SCTAB nSelected =
static_cast<SCTAB>(rSelected);
1738 aSelectedTabs.insert(nSelected);
1749 if ( nPrintRange == 1 )
1750 rPagesStr = aPageRange;
1758 const uno::Sequence<beans::PropertyValue>& rOptions)
1763 throw lang::DisposedException( OUString(),
1764 static_cast< sheet::XSpreadsheetDocument*
>(
this) );
1770 bool bRenderToGraphic =
false;
1771 if ( !
FillRenderMarkData( aSelection, rOptions, aMark, aStatus, aPagesStr, bRenderToGraphic ) )
1787 sal_Int32 nContent = 0;
1788 sal_Int32 nEOContent = 0;
1789 bool bSinglePageSheets =
false;
1790 for (
const auto& rValue : rOptions)
1792 if ( rValue.Name ==
"PrintRange" )
1794 rValue.Value >>= nContent;
1796 else if ( rValue.Name ==
"SinglePageSheets" )
1798 rValue.Value >>= bSinglePageSheets;
1800 else if ( rValue.Name ==
"EvenOdd" )
1802 rValue.Value >>= nEOContent;
1806 if (bSinglePageSheets)
1811 bool bIsPrintEvenPages = (nEOContent != 1 && nContent == 0) || nContent != 0;
1812 bool bIsPrintOddPages = (nEOContent != 2 && nContent == 0) || nContent != 0;
1814 for ( sal_Int32 nPage = 1; nPage <= nPages; nPage++ )
1820 sal_Int32 nSelectCount =
static_cast<sal_Int32
>(
maValidPages.size() );
1822 if ( nEOContent == 1 || nEOContent == 2 )
1823 return nSelectCount;
1825 if ( !aPagesStr.isEmpty() )
1828 nSelectCount = aRangeEnum.
size();
1830 return (nSelectCount > 0) ? nSelectCount : 1;
1833static sal_Int32
lcl_GetRendererNum( sal_Int32 nSelRenderer, std::u16string_view rPagesStr, sal_Int32 nTotalPages )
1835 if ( rPagesStr.empty() )
1836 return nSelRenderer;
1841 for ( ; nSelRenderer > 0 && aIter != aEnd; --nSelRenderer )
1853 const uno::Any& aSelection,
const uno::Sequence<beans::PropertyValue>& rOptions )
1858 throw lang::DisposedException( OUString(),
1859 static_cast< sheet::XSpreadsheetDocument*
>(
this) );
1867 bool bRenderToGraphic =
false;
1868 bool bSinglePageSheets =
false;
1869 if (
FillRenderMarkData( aSelection, rOptions, aMark, aStatus, aPagesStr, bRenderToGraphic ) )
1878 for (
const auto& rValue : rOptions)
1880 if ( rValue.Name ==
"SinglePageSheets" )
1882 rValue.Value >>= bSinglePageSheets;
1887 if (bSinglePageSheets)
1892 if ( nRenderer < 0 )
1894 if ( nSelRenderer != 0 )
1895 throw lang::IllegalArgumentException();
1899 awt::Size aPageSize;
1907 aPageSize.Width = aMMRect.
GetWidth();
1912 SCTAB const nCurTab = 0;
1935 if (bSinglePageSheets)
1936 nTab = nSelRenderer;
1944 const ScRange* pSelRange =
nullptr;
1945 if ( bSinglePageSheets )
1958 table::CellRangeAddress aRangeAddress( nTab,
1966 const awt::Point aCalcPagePos(aMMRect.
Left(), aMMRect.
Top());
1968 uno::Sequence<beans::PropertyValue> aSequence
1988 pSelRange = &aRange;
1991 awt::Size aPageSize;
1992 bool bWasCellRange =
false;
1996 bWasCellRange =
true;
1997 aCellRange = aRange;
2001 aPageSize.Width = aMMRect.
GetWidth();
2006 std::unique_ptr<ScPrintFunc, o3tl::default_delete<ScPrintFunc>> pPrintFunc;
2012 pPrintFunc->SetRenderFlag(
true );
2014 sal_Int32 nContent = 0;
2015 sal_Int32 nEOContent = 0;
2016 for (
const auto& rValue : rOptions)
2018 if ( rValue.Name ==
"PrintRange" )
2020 rValue.Value >>= nContent;
2022 else if ( rValue.Name ==
"EvenOdd" )
2024 rValue.Value >>= nEOContent;
2031 bool bOddOrEven = (nContent == 0 && nEOContent == 1) || (nContent == 1 && nEOContent == 2);
2038 aPage.
Select( nRenderer+1 );
2043 (void)pPrintFunc->DoPrint( aPage, nTabStart, nDisplayStart,
false,
nullptr );
2045 bWasCellRange = pPrintFunc->GetLastSourceRange( aCellRange );
2046 Size aTwips = pPrintFunc->GetPageSize();
2059 uno::Sequence<beans::PropertyValue> aSequence(nPropCount);
2060 beans::PropertyValue* pArray = aSequence.getArray();
2062 pArray[0].Value <<= aPageSize;
2065 pArray[1].Value <<=
true;
2066 if ( bWasCellRange )
2068 table::CellRangeAddress aRangeAddress( nTab,
2076 const awt::Point aCalcPagePos(aMMRect.
Left(), aMMRect.
Top());
2079 pArray[2].Value <<= aRangeAddress;
2081 pArray[3].Value <<= aCalcPageSize;
2083 pArray[4].Value <<= aCalcPagePos;
2095 const uno::Sequence<beans::PropertyValue>& rOptions )
2100 throw lang::DisposedException( OUString(),
2101 static_cast< sheet::XSpreadsheetDocument*
>(
this) );
2107 bool bRenderToGraphic =
false;
2108 bool bSinglePageSheets =
false;
2109 if ( !
FillRenderMarkData( aSelection, rOptions, aMark, aStatus, aPagesStr, bRenderToGraphic ) )
2110 throw lang::IllegalArgumentException();
2118 for (
const auto& rValue : rOptions)
2120 if ( rValue.Name ==
"SinglePageSheets" )
2122 rValue.Value >>= bSinglePageSheets;
2127 if (bSinglePageSheets)
2131 if ( nRenderer < 0 )
2132 throw lang::IllegalArgumentException();
2136 throw lang::IllegalArgumentException();
2141 const ScRange* pSelRange =
nullptr;
2142 if ( bSinglePageSheets )
2144 awt::Size aPageSize;
2147 rDoc.
GetDataStart( nSelRenderer, nStartCol, nStartRow );
2159 aPageSize.Width = aMMRect.
GetWidth();
2164 if (nVisTab != nSelRenderer)
2166 nVisTab = nSelRenderer;
2177 pSelRange = &aRange;
2191 const double nPrintFactor = 1.0;
2200 struct DrawViewKeeper
2202 std::unique_ptr<FmFormView> mpDrawView;
2208 mpDrawView->HideSdrPage();
2224 aDrawViewKeeper.mpDrawView.reset(
new FmFormView(
2227 aDrawViewKeeper.mpDrawView->ShowSdrPage(aDrawViewKeeper.mpDrawView->GetModel().GetPage(nTab));
2228 aDrawViewKeeper.mpDrawView->SetPrintPreview();
2235 std::unique_ptr<ScPrintFunc, o3tl::default_delete<ScPrintFunc>> pPrintFunc;
2242 pPrintFunc->SetDrawView( aDrawViewKeeper.mpDrawView.get() );
2243 pPrintFunc->SetRenderFlag(
true );
2245 pPrintFunc->SetExclusivelyDrawOleAndDrawObjects();
2247 sal_Int32 nContent = 0;
2248 sal_Int32 nEOContent = 0;
2249 for (
const auto& rValue : rOptions)
2251 if ( rValue.Name ==
"PrintRange" )
2253 rValue.Value >>= nContent;
2255 else if ( rValue.Name ==
"EvenOdd" )
2257 rValue.Value >>= nEOContent;
2264 bool bOddOrEven = (nContent == 0 && nEOContent == 1) || (nContent == 0 && nEOContent == 2);
2271 aPage.
Select( nRenderer+1 );
2277 if ( nRenderer == nTabStart )
2291 sal_Int32 nDestID = pPDFData->
CreateDest( aArea );
2293 rDoc.
GetName( nTab, aTabName );
2302 rDoc.
GetName( nTab, aTabName );
2308 (void)pPrintFunc->DoPrint( aPage, nTabStart, nDisplayStart,
true,
nullptr );
2323 std::vector< vcl::PDFExtOutDevBookmarkEntry >& rBookmarks = pPDFData->
GetBookmarks();
2324 for (
const auto& rBookmark : rBookmarks )
2326 OUString aBookmark = rBookmark.aBookmark;
2327 if ( aBookmark.toChar() ==
'#' )
2331 OUString aTarget( aBookmark.copy( 1 ) );
2335 bool bIsSheet =
false;
2336 bool bValid =
lcl_ParseTarget( aTarget, aTargetRange, aTargetRect, bIsSheet, rDoc, nTab );
2340 sal_Int32 nPage = -1;
2356 nPage = aLocation.
nPage;
2378 if ( nX1 > aLocationPixel.
Right() ) nX1 = aLocationPixel.
Right();
2379 if ( nX2 > aLocationPixel.
Right() ) nX2 = aLocationPixel.
Right();
2380 if ( nY1 > aLocationPixel.
Bottom() ) nY1 = aLocationPixel.
Bottom();
2381 if ( nY2 > aLocationPixel.
Bottom() ) nY2 = aLocationPixel.
Bottom();
2397 pPDFData->
SetLinkURL( rBookmark.nLinkId, aBookmark );
2418 bool bLocked =
false;
2448 sal_uInt16 nRet = 0;
2488 OSL_FAIL(
"no DocShell");
2502 OSL_FAIL(
"no DocShell");
2512 OSL_FAIL(
"no DocShell");
2518 bool bEnabled(bEnabledIn);
2531 OSL_FAIL(
"no DocShell");
2554 throw lang::IllegalArgumentException();
2564 OSL_FAIL(
"no DocShell");
2576 OSL_FAIL(
"no DocShell");
2583 const table::CellAddress& aFormulaPosition,
2584 const table::CellAddress& aVariablePosition,
2585 const OUString& aGoalValue )
2588 sheet::GoalResult aResult;
2589 aResult.Divergence = DBL_MAX;
2594 double fValue = 0.0;
2595 bool bFound = rDoc.
Solver(
2596 static_cast<SCCOL>(aFormulaPosition.Column),
static_cast<SCROW>(aFormulaPosition.Row), aFormulaPosition.Sheet,
2597 static_cast<SCCOL>(aVariablePosition.Column),
static_cast<SCROW>(aVariablePosition.Row), aVariablePosition.Sheet,
2598 aGoalValue, fValue );
2599 aResult.Result = fValue;
2601 aResult.Divergence = 0.0;
2618 pNew->SetParam( *pParam );
2624 const uno::Reference<sheet::XConsolidationDescriptor>& xDescriptor )
2633 xImpl->setFunction( xDescriptor->getFunction() );
2634 xImpl->setSources( xDescriptor->getSources() );
2635 xImpl->setStartOutputPosition( xDescriptor->getStartOutputPosition() );
2636 xImpl->setUseColumnHeaders( xDescriptor->getUseColumnHeaders() );
2637 xImpl->setUseRowHeaders( xDescriptor->getUseRowHeaders() );
2638 xImpl->setInsertLinks( xDescriptor->getInsertLinks() );
2674 uno::Sequence< beans::PropertyValue >
aSeq{
2692 static uno::Reference<beans::XPropertySetInfo> aRef(
2698 const OUString& aPropertyName,
const uno::Any& aValue )
2720 bHardRecalc =
false;
2724 lang::Locale aLocale;
2725 if ( aValue >>= aLocale )
2736 if ( aValue >>= sCodeName )
2741 lang::Locale aLocale;
2742 if ( aValue >>= aLocale )
2752 lang::Locale aLocale;
2753 if ( aValue >>= aLocale )
2769 pBindings->
Invalidate( SID_FM_OPEN_READONLY );
2779 pBindings->
Invalidate( SID_FM_AUTOCONTROLFOCUS );
2791 ? officecfg::Office::Common::Undo::Steps::get() : 0);
2797 bool bChangeAllowed =
true;
2798 if (!bRecordChangesEnabled)
2819 else if ( aPropertyName ==
"BuildId" )
2823 else if ( aPropertyName ==
"SavedObject" )
2826 aValue >>= aObjName;
2827 if ( !aObjName.isEmpty() )
2835 if ( aNewOpt != rOldOpt )
2864 lang::Locale aLocale;
2878 lang::Locale aLocale;
2887 lang::Locale aLocale;
2932 aRet <<= bOpenInDesign;
2939 aRet <<= bAutoControlFocus;
2964 aRet <<= OUString(
"ThisExcelDoc" );
3006 aRet <<= uno::Reference< awt::XDevice >( pXDev );
3008 else if ( aPropertyName ==
"BuildId" )
3012 else if ( aPropertyName ==
"InternalDocument" )
3030 OUString const & aServiceSpecifier,
3031 css::
uno::Sequence<css::
uno::Any> const * arguments)
3035 uno::Reference<uno::XInterface> xRet;
3037 if (
nType != ServiceType::INVALID )
3043 case ServiceType::GRADTAB: xRet.set(xDrawGradTab);
break;
3044 case ServiceType::HATCHTAB: xRet.set(xDrawHatchTab);
break;
3045 case ServiceType::BITMAPTAB: xRet.set(xDrawBitmapTab);
break;
3046 case ServiceType::TRGRADTAB: xRet.set(xDrawTrGradTab);
break;
3047 case ServiceType::MARKERTAB: xRet.set(xDrawMarkerTab);
break;
3048 case ServiceType::DASHTAB: xRet.set(xDrawDashTab);
break;
3049 case ServiceType::CHDATAPROV: xRet.set(xChartDataProv);
break;
3050 case ServiceType::VBAOBJECTPROVIDER: xRet.set(xObjProvider);
break;
3057 (
nType != ServiceType::CHDATAPROV ||
3058 ( pDocShell->GetCreateMode() != SfxObjectCreateMode::INTERNAL ));
3063 if ( !xRet.is() && bCreate )
3070 case ServiceType::GRADTAB: xDrawGradTab.set(xRet);
break;
3071 case ServiceType::HATCHTAB: xDrawHatchTab.set(xRet);
break;
3072 case ServiceType::BITMAPTAB: xDrawBitmapTab.set(xRet);
break;
3073 case ServiceType::TRGRADTAB: xDrawTrGradTab.set(xRet);
break;
3074 case ServiceType::MARKERTAB: xDrawMarkerTab.set(xRet);
break;
3075 case ServiceType::DASHTAB: xDrawDashTab.set(xRet);
break;
3076 case ServiceType::CHDATAPROV: xChartDataProv.set(xRet);
break;
3077 case ServiceType::VBAOBJECTPROVIDER: xObjProvider.set(xRet);
break;
3089 xRet = arguments ==
nullptr
3092 aServiceSpecifier, *arguments);
3095 catch ( lang::ServiceNotRegisteredException & )
3102 uno::Reference<drawing::XShape> xShape( xRet, uno::UNO_QUERY );
3114 const OUString& aServiceSpecifier )
3117 return create(aServiceSpecifier,
nullptr);
3121 const OUString& ServiceSpecifier,
3122 const uno::Sequence<uno::Any>& aArgs )
3127 uno::Reference<uno::XInterface> xInt(
create(ServiceSpecifier, &aArgs));
3129 if ( aArgs.hasElements() )
3133 uno::Reference<lang::XInitialization> xInit( xInt, uno::UNO_QUERY );
3135 xInit->initialize( aArgs );
3152 return "ScModelObj";
3171 const uno::Sequence<sal_Int8 >& rId )
3173 if ( comphelper::isUnoTunnelId<ScModelObj>(rId) )
3178 if ( comphelper::isUnoTunnelId<SfxObjectShell>(rId) )
3194 if(
auto xTunnelAgg =
o3tl::tryAccess<uno::Reference<lang::XUnoTunnel>>(
3197 return (*xTunnelAgg)->getSomething( rId );
3207 return theScModelObjUnoTunnelId.
getSeq();
3238 bool bInvalidateDataArea,
bool bExtendDataArea)
3240 size_t nRangeCount = rRanges.
size();
3242 for (
size_t nIndex = 0;
nIndex < nRangeCount; ++
nIndex )
3248 bool bAreaExtended =
false;
3250 if (bExtendDataArea)
3257 bAreaExtended = rEnd.
Col() > nLastCol || rEnd.
Row() > nLastRow;
3260 bool bInvalidate = bAreaExtended || bInvalidateDataArea;
3276 const uno::Sequence< beans::PropertyValue >& rProperties )
3278 OUString aOperation = rOperation;
3279 bool bIsDataAreaInvalidateType = aOperation ==
"data-area-invalidate";
3280 bool bIsDataAreaExtendType = aOperation ==
"data-area-extend";
3282 bool bInvalidateDataArea = bIsDataAreaInvalidateType
3284 bool bExtendDataArea = bIsDataAreaExtendType || aOperation ==
"cell-change";
3289 lcl_dataAreaInvalidation(rDocument,
this, rRanges, bInvalidateDataArea, bExtendDataArea);
3292 if (bIsDataAreaInvalidateType || bIsDataAreaExtendType)
3297 if (rOperation ==
"delete-content" || rOperation ==
"undo"
3298 || rOperation ==
"redo" || rOperation ==
"paste")
3299 aOperation =
"cell-change";
3304 util::ChangesEvent
aEvent;
3305 aEvent.Source.set(getXWeak());
3308 size_t nRangeCount = rRanges.
size();
3309 aEvent.Changes.realloc(
static_cast< sal_Int32
>( nRangeCount ) );
3310 auto pChanges =
aEvent.Changes.getArray();
3313 uno::Reference< table::XCellRange > xRangeObj;
3325 util::ElementChange& rChange = pChanges[
static_cast< sal_Int32
>(
nIndex ) ];
3326 rChange.Accessor <<= aOperation;
3327 rChange.Element <<= rProperties;
3328 rChange.ReplacedElement <<= xRangeObj;
3338 catch( uno::Exception& )
3346 if ( !(aOperation ==
"cell-change" &&
pDocShell) )
3353 for (
const SCTAB& nTab : aMarkData)
3355 if (nTab >= nTabCount)
3364 size_t nRangeCount = rRanges.
size();
3371 size_t nTabRangeCount = aTabRanges.
size();
3372 if ( nTabRangeCount > 0 )
3374 uno::Reference<uno::XInterface>
xTarget;
3375 if ( nTabRangeCount == 1 )
3377 ScRange const & rRange = aTabRanges[ 0 ];
3384 xTarget.set( cppu::getXWeak(
new ScCellRangesObj(
pDocShell, aTabRanges ) ) );
3389 uno::Sequence<sal_Int16> aOutArgsIndex;
3390 uno::Sequence<uno::Any> aOutArgs;
3410 for (
SCTAB nTab = 0; nTab < nTabCount; nTab++)
3419 uno::Sequence<uno::Any> aParams;
3420 uno::Sequence<sal_Int16> aOutArgsIndex;
3421 uno::Sequence<uno::Any> aOutArgs;
3428 uno::Reference< script::vba::XVBAEventProcessor > xVbaEvents( rDoc.
GetVbaEventProcessor(), uno::UNO_SET_THROW );
3429 uno::Sequence< uno::Any > aArgs{
uno::Any(nTab) };
3432 catch( uno::Exception& )
3456 officecfg::Office::Common::Misc::UseOpenCL::set(bEnable, batch);
3464#if HAVE_FEATURE_OPENCL
3465 sc::FormulaGroupInterpreter::switchOpenCLDevice(
u"",
true);
3480 SC_MOD()->SetFormulaOptions(aOptions);
3481#if !HAVE_FEATURE_OPENCL
3484 sc::FormulaGroupInterpreter::switchOpenCLDevice(
u"",
true, bForce);
3495 SC_MOD()->SetFormulaOptions(aOptions);
3500 if(nPlatform < 0 || nDevice < 0)
3501 throw uno::RuntimeException();
3503#if !HAVE_FEATURE_OPENCL
3504 throw uno::RuntimeException();
3506 std::vector<OpenCLPlatformInfo> aPlatformInfo;
3507 sc::FormulaGroupInterpreter::fillOpenCLInfo(aPlatformInfo);
3509 throw uno::RuntimeException();
3512 throw uno::RuntimeException();
3514 OUString aDeviceString = aPlatformInfo[nPlatform].maVendor +
" " + aPlatformInfo[nPlatform].maDevices[nDevice].maName;
3515 sc::FormulaGroupInterpreter::switchOpenCLDevice(aDeviceString,
false);
3521#if !HAVE_FEATURE_OPENCL
3524 sal_Int32 nPlatformId;
3525 sal_Int32 nDeviceId;
3526 sc::FormulaGroupInterpreter::getOpenCLDeviceInfo(nDeviceId, nPlatformId);
3533#if !HAVE_FEATURE_OPENCL
3536 sal_Int32 nPlatformId;
3537 sal_Int32 nDeviceId;
3538 sc::FormulaGroupInterpreter::getOpenCLDeviceInfo(nDeviceId, nPlatformId);
3545#if !HAVE_FEATURE_OPENCL
3546 return uno::Sequence<sheet::opencl::OpenCLPlatform>();
3548 std::vector<OpenCLPlatformInfo> aPlatformInfo;
3549 sc::FormulaGroupInterpreter::fillOpenCLInfo(aPlatformInfo);
3551 uno::Sequence<sheet::opencl::OpenCLPlatform> aRet(aPlatformInfo.size());
3552 auto aRetRange = asNonConstRange(aRet);
3553 for(
size_t i = 0;
i < aPlatformInfo.size(); ++
i)
3555 aRetRange[
i].Name = aPlatformInfo[
i].maName;
3556 aRetRange[
i].Vendor = aPlatformInfo[
i].maVendor;
3558 aRetRange[
i].Devices.realloc(aPlatformInfo[
i].maDevices.size());
3559 auto pDevices = aRetRange[
i].Devices.getArray();
3560 for(
size_t j = 0; j < aPlatformInfo[
i].maDevices.size(); ++j)
3563 pDevices[j].Name = rDevice.
maName;
3564 pDevices[j].Vendor = rDevice.
maVendor;
3565 pDevices[j].Driver = rDevice.
maDriver;
3576void setOpcodeSubsetTest(
bool bFlag)
3579 officecfg::Office::Calc::Formula::Calculation::OpenCLSubsetOnly::set(bFlag, batch);
3587 setOpcodeSubsetTest(
true);
3592 setOpcodeSubsetTest(
false);
3597 return officecfg::Office::Calc::Formula::Calculation::OpenCLSubsetOnly::get();
3603 officecfg::Office::Calc::Formula::Calculation::OpenCLMinimumDataSize::set(number, batch);
3609 return officecfg::Office::Calc::Formula::Calculation::OpenCLMinimumDataSize::get();
3630 if ( rHint.
GetId() == SfxHintId::Dying )
3641 OSL_ENSURE(pDrawLayer,
"Cannot create Draw-Layer");
3642 if ( pDrawLayer &&
nIndex >= 0 && nIndex < pDocShell->GetDocument().GetTableCount() )
3645 OSL_ENSURE(pPage,
"Draw-Page not found");
3648 return uno::Reference<drawing::XDrawPage> (pPage->
getUnoPage(), uno::UNO_QUERY);
3660 uno::Reference<drawing::XDrawPage> xRet;
3666 aNewName,
true,
true ) )
3675 SvxDrawPage* pImp = comphelper::getFromUnoTunnel<SvxDrawPage>( xPage );
3702 throw lang::IndexOutOfBoundsException();
3736 if ( rHint.
GetId() == SfxHintId::Dying )
3746 if (
pDocShell &&
nIndex >= 0 && nIndex < pDocShell->GetDocument().GetTableCount() )
3772 throw uno::RuntimeException(
"ScTableSheetsObj::insertNewByName(): Illegal object name or bad index. Duplicate name?");
3786 throw uno::RuntimeException();
3790 const OUString& aCopy, sal_Int16 nDestination )
3803 SCTAB nResultTab =
static_cast<SCTAB>(nDestination);
3805 if (nResultTab >= nTabCount)
3806 nResultTab = nTabCount - 1;
3814 throw uno::RuntimeException(
"ScTableSheetsObj::copyByName(): Illegal object name or bad index. Duplicate name?");
3821 bool bIllArg =
false;
3827 uno::Reference<uno::XInterface> xInterface(aElement, uno::UNO_QUERY);
3828 if ( xInterface.is() )
3831 if ( pSheetObj && !pSheetObj->GetDocShell() )
3838 throw container::ElementExistException();
3857 throw lang::IllegalArgumentException();
3859 throw uno::RuntimeException();
3867 bool bIllArg =
false;
3873 uno::Reference<uno::XInterface> xInterface(aElement, uno::UNO_QUERY);
3874 if ( xInterface.is() )
3877 if ( pSheetObj && !pSheetObj->GetDocShell() )
3883 throw container::NoSuchElementException();
3905 throw lang::IllegalArgumentException();
3907 throw uno::RuntimeException();
3919 throw container::NoSuchElementException();
3924 throw uno::RuntimeException();
3928 const uno::Reference < sheet::XSpreadsheetDocument > & xDocSrc,
3929 const OUString& srcName,
const sal_Int32 nDestPosition )
3935 if ( !xDocSrc.is() )
3936 throw uno::RuntimeException();
3937 ScModelObj* pObj = comphelper::getFromUnoTunnel<ScModelObj>(xDocSrc);
3943 throw lang::IllegalArgumentException();
3947 SCTAB nIndexDest =
static_cast<SCTAB>(nDestPosition);
3948 if (nIndexDest >
nCount || nIndexDest < 0)
3949 throw lang::IndexOutOfBoundsException();
3953 *pDocShellSrc, nIndexSrc, nIndexDest,
true,
true );
3965 throw lang::IndexOutOfBoundsException();
3967 return xSheet->getCellByPosition(nColumn, nRow);
3975 throw lang::IndexOutOfBoundsException();
3977 return xSheet->getCellRangeByPosition(nLeft, nTop, nRight, nBottom);
3983 uno::Sequence < uno::Reference < table::XCellRange > > xRet;
3988 throw lang::IllegalArgumentException();
3992 throw lang::IllegalArgumentException();
3995 auto pRet = xRet.getArray();
4028 throw lang::IndexOutOfBoundsException();
4053 throw container::NoSuchElementException();
4067 OUString* pAry =
aSeq.getArray();
4075 return uno::Sequence<OUString>();
4091 pDocShell( pDocSh ),
4113 else if ( rHint.
GetId() == SfxHintId::Dying )
4156 throw uno::RuntimeException();
4175 throw uno::RuntimeException();
4199 throw lang::IndexOutOfBoundsException();
4221 throw container::NoSuchElementException();
4231 OUString* pAry =
aSeq.getArray();
4253 static uno::Reference<beans::XPropertySetInfo> aRef(
4259 const OUString& aPropertyName,
const uno::Any& aValue )
4263 throw uno::RuntimeException();
4270 sal_Int32 nNewWidth = 0;
4271 if ( aValue >>= nNewWidth )
4306 throw uno::RuntimeException();
4346 pDocShell( pDocSh ),
4351 pDocShell->GetDocument().AddUnoObject(*
this);
4368 else if ( rHint.
GetId() == SfxHintId::Dying )
4401 throw uno::RuntimeException();
4417 throw uno::RuntimeException();
4441 throw lang::IndexOutOfBoundsException();
4461 static uno::Reference<beans::XPropertySetInfo> aRef(
4467 const OUString& aPropertyName,
const uno::Any& aValue )
4471 throw uno::RuntimeException();
4479 sal_Int32 nNewHeight = 0;
4501 sal_Int32 nNewHeight = 0;
4502 if ( aValue >>= nNewHeight )
4558 xRangeObj->setPropertyValue( aPropertyName, aValue );
4566 throw uno::RuntimeException();
4612 aAny = xRangeObj->getPropertyValue( aPropertyName );
4632 const OUString& ,
const uno::Any& )
4644 pDocShell( pDocSh ),
4647 pDocShell->GetDocument().AddUnoObject(*
this);
4662 if ( rHint.
GetId() == SfxHintId::Dying )
4692 const table::CellAddress& aPosition,
const OUString& rText )
4697 OSL_ENSURE( aPosition.Sheet ==
nTab,
"addAnnotation with a wrong Sheet" );
4727 return new ScIndexEnumeration(
this,
"com.sun.star.sheet.CellAnnotationsEnumeration");
4749 if (!xAnnotation.is())
4750 throw lang::IndexOutOfBoundsException();
4767 pDocShell( pDocSh ),
4787 else if ( rHint.
GetId() == SfxHintId::Dying )
4806 if (aTabName == rName)
4835 const uno::Sequence<table::CellRangeAddress>& aRanges,
4836 const OUString& aComment )
4845 for (
const table::CellRangeAddress& rRange : aRanges)
4847 OSL_ENSURE( rRange.Sheet ==
nTab,
"addScenario with a wrong Tab" );
4849 static_cast<SCCOL>(rRange.EndColumn),
static_cast<SCROW>(rRange.EndRow),
nTab );
4889 while (nNext < nTabCount && rDoc.
IsScenario(nNext))
4904 throw lang::IndexOutOfBoundsException();
4925 throw container::NoSuchElementException();
4940 OUString* pAry =
aSeq.getArray();
constexpr auto convertTwipToMm100(N n)
constexpr OUStringLiteral SC_POSITIONLEFT
constexpr OUStringLiteral SC_ACTIVETABLE
constexpr OUStringLiteral SC_POSITIONTOP
void ScColToAlpha(OUStringBuffer &rBuf, SCCOL nCol)
append alpha representation of column to buffer
bool AlphaToCol(const ScDocument &rDoc, SCCOL &rCol, std::u16string_view rStr)
get column number of A..IV... string
bool ValidTab(SCTAB nTab)
static bool LOKHandleMouseEvent(VclEventId nEvent, vcl::Window *pWin, const MouseEvent *pEvent)
static const AllSettings & GetSettings()
OUString AsRGBHexString() const
static bool HasValidData(const css::uno::Reference< css::datatransfer::XTransferable > &rTransferable)
css::uno::Reference< css::datatransfer::XTransferable > GetTransferable() const
void SetCursorLogicPosition(const Point &rPosition, bool bPoint, bool bClearMark)
const tools::Rectangle & GetOutputArea() const
bool setGraphicSelection(int nType, int nX, int nY, double fScaleX=1.0, double fScaleY=1.0)
bool setTextSelection(int nType, int nX, int nY)
static void paintControlTile(const SdrPage *pPage, const SdrView *pDrawView, vcl::Window const &rMainWindow, VirtualDevice &rDevice, Size aOutputSize, tools::Rectangle const &rTileRect)
static bool postMouseEvent(const SdrPage *pPage, const SdrView *pDrawView, vcl::DocWindow &rMainWindow, int nType, Point aPointHmm, int nCount, int nButtons, int nModifier)
bool Select(sal_Int32 nIndex, bool bSelect=true)
void SetTotalRange(const Range &rTotRange)
EditView & GetEditView() const
Size GetOutputSize() const
SAL_WARN_UNUSED_RESULT Point PixelToLogic(const Point &rDevicePt) const
vcl::ExtOutDevData * GetExtOutDevData() const
void SetDigitLanguage(LanguageType)
constexpr tools::Long Y() const
constexpr tools::Long X() const
constexpr tools::Long getX() const
constexpr tools::Long getY() const
SC_DLLPUBLIC ScRefFlags Parse(const OUString &, const ScDocument &, const Details &rDetails=detailsOOOa1, ExternalInfo *pExtInfo=nullptr, const css::uno::Sequence< css::sheet::ExternalLinkInfo > *pExternalLinks=nullptr, sal_Int32 *pSheetEndPos=nullptr, const OUString *pErrRef=nullptr)
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
SCTAB nTab
Collection belongs to the sheet.
virtual ~ScAnnotationsObj() override
virtual css::uno::Type SAL_CALL getElementType() override
XElementAccess.
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
virtual void SAL_CALL insertNew(const css::table::CellAddress &aPosition, const OUString &aText) override
XSheetAnnotations.
bool GetAddressByIndex_Impl(sal_Int32 nIndex, ScAddress &rPos) const
virtual sal_Int32 SAL_CALL getCount() override
XIndexAccess.
virtual sal_Bool SAL_CALL hasElements() override
rtl::Reference< ScAnnotationObj > GetObjectByIndex_Impl(sal_Int32 nIndex) const
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
XEnumerationAccess.
virtual void SAL_CALL removeByIndex(sal_Int32 nIndex) override
void SetAutoComplete(bool bNew)
really derive cell from range?
void SetOutlineState(bool bColumn, sal_uInt16 nLevel, sal_uInt16 nEntry, bool bHidden)
bool Protect(SCTAB nTab, const OUString &rPassword)
bool RenameTable(SCTAB nTab, const OUString &rName, bool bRecord, bool bApi)
bool InsertCells(const ScRange &rRange, const ScMarkData *pTabMark, InsCellCmd eCmd, bool bRecord, bool bApi, bool bPartOfPaste=false)
bool RemovePageBreak(bool bColumn, const ScAddress &rPos, bool bRecord, bool bSetModified)
bool DeleteCells(const ScRange &rRange, const ScMarkData *pTabMark, DelCellCmd eCmd, bool bApi)
bool InsertPageBreak(bool bColumn, const ScAddress &rPos, bool bRecord, bool bSetModified)
SC_DLLPUBLIC bool InsertTable(SCTAB nTab, const OUString &rName, bool bRecord, bool bApi)
SC_DLLPUBLIC bool DeleteContents(const ScMarkData &rMark, InsertDeleteFlags nFlags, bool bRecord, bool bApi)
SC_DLLPUBLIC bool SetWidthOrHeight(bool bWidth, const std::vector< sc::ColRowSpan > &rRanges, SCTAB nTab, ScSizeMode eMode, sal_uInt16 nSizeTwips, bool bRecord, bool bApi)
bool DeleteTable(SCTAB nTab, bool bRecord)
bool DetectiveRefresh(bool bAutomatic=false)
bool Unprotect(SCTAB nTab, const OUString &rPassword, bool bApi)
void ReplaceNote(const ScAddress &rPos, const OUString &rNoteText, const OUString *pAuthor, const OUString *pDate, bool bApi)
static bool setPropertyValue(ScDocOptions &rOptions, const SfxItemPropertyMap &rPropMap, std::u16string_view aPropertyName, const css::uno::Any &aValue)
static css::uno::Any getPropertyValue(const ScDocOptions &rOptions, const SfxItemPropertyMap &rPropMap, std::u16string_view PropertyName)
void SetAutoSpell(bool bVal)
SCTAB MakeScenario(SCTAB nTab, const OUString &rName, const OUString &rComment, const Color &rColor, ScScenarioFlags nFlags, ScMarkData &rMark, bool bRecord=true)
static weld::Window * GetActiveDialogParent()
void SetDocumentModified()
SfxBindings * GetViewBindings()
sal_uInt16 GetLockCount() const
void AfterXMLLoading(bool bRet)
virtual bool IsChangeRecording() const override
virtual bool HasChangeRecordProtection() const override
const ScDocument & GetDocument() const
void UpdateAllRowHeights(const ScMarkData *pTabMark=nullptr)
ScDrawLayer * MakeDrawLayer()
ScTabViewShell * GetBestViewShell(bool bOnlyVisible=true)
void PostPaint(SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab, SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab, PaintPartFlags nPart, sal_uInt16 nExtFlags=0)
void DoConsolidate(const ScConsolidateParam &rParam, bool bRecord=true)
bool MoveTable(SCTAB nSrcTab, SCTAB nDestTab, bool bCopy, bool bRecord)
SfxPrinter * GetPrinter(bool bCreateIfNotExist=true)
virtual void SetChangeRecording(bool bActivate, bool bLockAllViews=false) override
static ScViewData * GetViewData()
void SetLockCount(sal_uInt16 nNew)
sal_uLong TransferTab(ScDocShell &rSrcDocShell, SCTAB nSrcPos, SCTAB nDestPos, bool bInsertNew, bool bNotifyAndPaint)
ScSheetSaveData * GetSheetSaveData()
virtual SfxUndoManager * GetUndoManager() override
ScFormatSaveData * GetFormatSaveData()
SC_DLLPUBLIC bool IsScenario(SCTAB nTab) const
ScSheetLimits & GetSheetLimits() const
SCTAB GetVisibleTab() const
SC_DLLPUBLIC sal_uInt16 GetRowHeight(SCROW nRow, SCTAB nTab, bool bHiddenAsZero=true) const
ScInterpreterContext & GetThreadedContext() const
SC_DLLPUBLIC ScRange GetRange(SCTAB nTab, const tools::Rectangle &rMMRect, bool bHiddenAsZero=true) const
SC_DLLPUBLIC sal_uInt16 GetColWidth(SCCOL nCol, SCTAB nTab, bool bHiddenAsZero=true) const
SC_DLLPUBLIC ScPatternAttr * GetDefPattern() const
SC_DLLPUBLIC ScTable * FetchTable(SCTAB nTab)
SC_DLLPUBLIC bool IsDocProtected() const
SC_DLLPUBLIC bool GetTable(const OUString &rName, SCTAB &rTab) const
SC_DLLPUBLIC ScColumnsRange GetAllocatedColumnsRange(SCTAB nTab, SCCOL nColBegin, SCCOL nColEnd) const
tools::Long GetScaledRowHeight(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, double fScale) const
SC_DLLPUBLIC void InitDrawLayer(SfxObjectShell *pDocShell=nullptr)
SC_DLLPUBLIC SCCOL MaxCol() const
SC_DLLPUBLIC void SetVisibleTab(SCTAB nTab)
size_t GetNoteCount(SCTAB nTab, SCCOL nCol) const
const ScSheetEvents * GetSheetEvents(SCTAB nTab) const
SC_DLLPUBLIC bool RowFiltered(SCROW nRow, SCTAB nTab, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
SC_DLLPUBLIC SCROW MaxRow() const
bool IsAdjustHeightLocked() const
bool Solver(SCCOL nFCol, SCROW nFRow, SCTAB nFTab, SCCOL nVCol, SCROW nVRow, SCTAB nVTab, const OUString &sValStr, double &nX)
(Goal Seek) Find a value of x that is a root of f(x)
SC_DLLPUBLIC void EnableUndo(bool bVal)
SC_DLLPUBLIC void SetDocOptions(const ScDocOptions &rOpt)
SC_DLLPUBLIC bool IsNegativePage(SCTAB nTab) const
void SetConsolidateDlgData(std::unique_ptr< ScConsolidateParam > pData)
SC_DLLPUBLIC ScBreakType HasRowBreak(SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC sal_uInt16 GetOriginalHeight(SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC OutputDevice * GetRefDevice()
SC_DLLPUBLIC void GetTiledRenderingArea(SCTAB nTab, SCCOL &rEndCol, SCROW &rEndRow) const
Return the number of columns / rows that should be visible for the tiled rendering.
void EnableExecuteLink(bool bVal)
void AddUnoObject(SfxListener &rObject)
void ResetCalcNotifications()
SC_DLLPUBLIC bool GetAutoCalc() const
void SetCodeName(const OUString &r)
SC_DLLPUBLIC void GetAllNoteEntries(std::vector< sc::NoteEntry > &rNotes) const
void SetLanguage(LanguageType eLatin, LanguageType eCjk, LanguageType eCtl)
bool HasAnyCalcNotification() const
SC_DLLPUBLIC ScBreakType HasColBreak(SCCOL nCol, SCTAB nTab) const
const css::uno::Reference< css::script::vba::XVBAEventProcessor > & GetVbaEventProcessor() const
SC_DLLPUBLIC ScDrawLayer * GetDrawLayer()
SC_DLLPUBLIC bool GetHashCode(SCTAB nTab, sal_Int64 &rHashCode) const
SC_DLLPUBLIC bool RowHidden(SCROW nRow, SCTAB nTab, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
SC_DLLPUBLIC void CreateValidTabName(OUString &rName) const
SC_DLLPUBLIC CRFlags GetRowFlags(SCROW nRow, SCTAB nTab) const
ScAddress GetNotePosition(size_t nIndex) const
bool IsExecuteLinkEnabled() const
SC_DLLPUBLIC CRFlags GetColFlags(SCCOL nCol, SCTAB nTab) const
bool HasCalcNotification(SCTAB nTab) const
const ScConsolidateParam * GetConsolidateDlgData() const
bool IsChangeReadOnlyEnabled() const
const OUString & GetCodeName() const
SC_DLLPUBLIC void GetLanguage(LanguageType &rLatin, LanguageType &rCjk, LanguageType &rCtl) const
SC_DLLPUBLIC void SetRowHeightOnly(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, sal_uInt16 nNewHeight)
SC_DLLPUBLIC void SetRowHidden(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bHidden)
bool HasAnySheetEventScript(ScSheetEventId nEvent, bool bWithVbaEvents=false) const
void EnableChangeReadOnly(bool bVal)
SC_DLLPUBLIC bool IsDocVisible() const
SC_DLLPUBLIC bool ColHidden(SCCOL nCol, SCTAB nTab, SCCOL *pFirstCol=nullptr, SCCOL *pLastCol=nullptr) const
SC_DLLPUBLIC void SetAutoCalc(bool bNewAutoCalc)
SC_DLLPUBLIC bool GetPrintArea(SCTAB nTab, SCCOL &rEndCol, SCROW &rEndRow, bool bNotes=true) const
SC_DLLPUBLIC bool IsVisible(SCTAB nTab) const
void RemoveUnoObject(SfxListener &rObject)
SC_DLLPUBLIC sal_uInt16 GetOriginalWidth(SCCOL nCol, SCTAB nTab) const
SC_DLLPUBLIC void SetManualHeight(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bManual)
ScChangeTrack * GetChangeTrack() const
SC_DLLPUBLIC bool IsLayoutRTL(SCTAB nTab) const
bool IsUndoEnabled() const
SC_DLLPUBLIC bool GetDataStart(SCTAB nTab, SCCOL &rStartCol, SCROW &rStartRow) const
SC_DLLPUBLIC bool GetName(SCTAB nTab, OUString &rName) const
void RestoreChartListener(const OUString &rName)
SC_DLLPUBLIC void SetRowFiltered(SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bFiltered)
void CheckVectorizationState()
SC_DLLPUBLIC void UnlockAdjustHeight()
SC_DLLPUBLIC const ScDocOptions & GetDocOptions() const
SC_DLLPUBLIC tools::Rectangle GetMMRect(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, bool bHiddenAsZero=true) const
bool IsImportingXML() const
SC_DLLPUBLIC SCTAB GetTableCount() const
static OUString GetVisibleName(const SdrObject *pObj)
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
css::uno::Reference< css::drawing::XDrawPage > GetObjectByIndex_Impl(sal_Int32 nIndex) const
ScDrawPagesObj(ScDocShell *pDocSh)
virtual css::uno::Reference< css::drawing::XDrawPage > SAL_CALL insertNewByIndex(sal_Int32 nIndex) override
XDrawPages.
virtual sal_Int32 SAL_CALL getCount() override
XIndexAccess.
virtual css::uno::Type SAL_CALL getElementType() override
XElementAccess.
virtual ~ScDrawPagesObj() override
virtual void SAL_CALL remove(const css::uno::Reference< css::drawing::XDrawPage > &xPage) override
virtual sal_Bool SAL_CALL hasElements() override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
SdrEndTextEditKind ScEndTextEdit()
This is the UNO API equivalent of ScExternalRefManager.
static SC_DLLPUBLIC double nScreenPPTX
Horizontal pixel per twips factor.
static SC_DLLPUBLIC double nScreenPPTY
Vertical pixel per twips factor.
virtual void MouseMove(const MouseEvent &rMEvt) override
void updateOtherKitSelections() const
Fetch the selection ranges for other views into the LibreOfficeKit selection, map them into our view ...
OString getCellCursor() const
get Cell cursor in this view's co-ordinate system
void SetCellSelectionPixel(int nType, int nPixelX, int nPixelY)
Update the cell selection according to what handles have been dragged.
virtual void MouseButtonDown(const MouseEvent &rMEvt) override
virtual void MouseButtonUp(const MouseEvent &rMEvt) override
void updateKitOtherCursors() const
notify this view with new positions for other view's cursors (after zoom)
void PaintTile(VirtualDevice &rDevice, int nOutputWidth, int nOutputHeight, int nTilePosX, int nTilePosY, tools::Long nTileWidth, tools::Long nTileHeight, SCCOL nTiledRenderingAreaEndCol, SCROW nTiledRenderingAreaEndRow)
static void SetGlobalConfig(const ScCalcConfig &rConfig)
static const ScCalcConfig & GetGlobalConfig()
Graphic / OleObject (need separate collections!)
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
const ScRange & GetMultiMarkArea() const
void SelectTable(SCTAB nTab, bool bNew)
const ScRange & GetMarkArea() const
bool IsMultiMarked() const
void SetSelectedTabs(const MarkedTabsType &rTabs)
std::set< SCTAB > MarkedTabsType
void SetMultiMarkArea(const ScRange &rRange, bool bMark=true, bool bSetupMulti=false)
void SetMarkArea(const ScRange &rRange)
void MarkFromRangeList(const ScRangeList &rList, bool bReset)
virtual void SAL_CALL addActionLock() override
virtual void setClientZoom(int nTilePixelWidth, int nTilePixelHeight, int nTileTwipWidth, int nTileTwipHeight) override
virtual Size getDataArea(long nPart) override
std::vector< sal_Int32 > maValidPages
void getTrackedChanges(tools::JsonWriter &) override
virtual void setClientVisibleArea(const tools::Rectangle &rRectangle) override
virtual void SAL_CALL release() noexcept override
void UpdateAllRowHeights()
virtual int getPart() override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
std::unique_ptr< ScPrintFuncCache > pPrintFuncCache
std::unique_ptr< ScPrintUIOptions > pPrinterOptions
virtual css::sheet::GoalResult SAL_CALL seekGoal(const css::table::CellAddress &aFormulaPosition, const css::table::CellAddress &aVariablePosition, const OUString &aGoalValue) override
XGoalSeek.
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
XTypeProvider.
virtual void resetSelection() override
virtual int getParts() override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
XPropertySet.
virtual void setTextSelection(int nType, int nX, int nY) override
virtual sal_Bool SAL_CALL isProtected() override
virtual sal_Bool SAL_CALL isActionLocked() override
XActionLockable.
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
virtual sal_Int32 SAL_CALL getPlatformID() override
virtual void SAL_CALL acquire() noexcept override
virtual void SAL_CALL unlockControllers() override
virtual void SAL_CALL disableAutomaticDeviceSelection() override
virtual OString getSheetGeometryData(bool bColumns, bool bRows, bool bSizes, bool bHidden, bool bFiltered, bool bGroups) override
virtual OUString getPartInfo(int nPart) override
ScSheetSaveData * GetSheetSaveData()
std::unique_ptr< ScPrintState > m_pPrintState
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
css::uno::Reference< css::uno::XAggregation > const & GetFormatter()
virtual bool isMimeTypeSupported() override
virtual void SAL_CALL enableAutomaticCalculation(sal_Bool bEnabled) override
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
XUnoTunnel.
virtual css::uno::Sequence< css::sheet::opencl::OpenCLPlatform > SAL_CALL getOpenCLPlatforms() override
virtual void SAL_CALL unprotect(const OUString &aPassword) override
virtual void paintTile(VirtualDevice &rDevice, int nOutputWidth, int nOutputHeight, int nTilePosX, int nTilePosY, tools::Long nTileWidth, tools::Long nTileHeight) override
virtual void SAL_CALL enableOpcodeSubsetTest() override
bool HasChangesListeners() const
virtual void postKeyEvent(int nType, int nCharCode, int nKeyCode) override
virtual sal_Int32 SAL_CALL getFormulaCellNumberLimit() override
virtual void initializeForTiledRendering(const css::uno::Sequence< css::beans::PropertyValue > &rArguments) override
virtual void SAL_CALL lockControllers() override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual sal_Bool SAL_CALL isAutomaticCalculationEnabled() override
virtual void SAL_CALL calculateAll() override
virtual ::css::uno::Reference< css::chart2::data::XDataProvider > SAL_CALL createDataProvider() override
XDataProviderAccess.
virtual PointerStyle getPointer() override
virtual sal_Int32 SAL_CALL getDeviceID() override
virtual void SAL_CALL consolidate(const css::uno::Reference< css::sheet::XConsolidationDescriptor > &xDescriptor) override
virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL getStyleFamilies() override
XStyleFamiliesSupplier.
virtual void setGraphicSelection(int nType, int nX, int nY) override
virtual void SAL_CALL refreshArrows() override
XDocumentAuditing.
virtual void setOutlineState(bool bColumn, int nLevel, int nIndex, bool bHidden) override
SfxObjectShell * GetEmbeddedObject() const
void getPostIts(tools::JsonWriter &rJsonWriter) override
SfxItemPropertySet aPropSet
static bool IsOnEvenPage(sal_Int32 nPage)
OString getViewRenderState() override
virtual SdrModel & getSdrModelFromUnoModel() const override
abstract SdrModel provider
virtual OUString getPartHash(int nPart) override
ScDocument * GetDocument() const
static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId()
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL render(sal_Int32 nRenderer, const css::uno::Any &aSelection, const css::uno::Sequence< css::beans::PropertyValue > &xOptions) override
void getPostItsPos(tools::JsonWriter &rJsonWriter) override
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getRenderer(sal_Int32 nRenderer, const css::uno::Any &aSelection, const css::uno::Sequence< css::beans::PropertyValue > &xOptions) override
virtual void SAL_CALL enableAutomaticDeviceSelection(sal_Bool bForce) override
void RepaintRange(const ScRange &rRange)
virtual OUString getPartName(int nPart) override
static void CreateAndSet(ScDocShell *pDocSh)
create ScModelObj and set at pDocSh (SetBaseModel)
virtual void SAL_CALL addChangesListener(const css::uno::Reference< css::util::XChangesListener > &aListener) override
XChangesNotifier.
ScModelObj(ScDocShell *pDocSh)
css::uno::Reference< css::uno::XAggregation > xNumberAgg
virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL getViewData() override
XViewDataSupplier.
void HandleCalculateEvents()
virtual OUString SAL_CALL getImplementationName() override
XServiceInfo.
virtual sal_Int16 SAL_CALL resetActionLocks() override
css::uno::Reference< css::uno::XInterface > create(OUString const &aServiceSpecifier, css::uno::Sequence< css::uno::Any > const *arguments)
virtual sal_Bool SAL_CALL isOpenCLEnabled() override
virtual void SAL_CALL calculate() override
XCalculatable.
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(const OUString &aServiceSpecifier) override
XMultiServiceFactory.
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
virtual void setClipboard(const css::uno::Reference< css::datatransfer::clipboard::XClipboard > &xClipboard) override
virtual css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
bool FillRenderMarkData(const css::uno::Any &aSelection, const css::uno::Sequence< css::beans::PropertyValue > &rOptions, ScMarkData &rMark, ScPrintSelectionStatus &rStatus, OUString &rPagesStr, bool &rbRenderToGraphic) const
virtual css::uno::Reference< css::datatransfer::XTransferable > getSelection() override
virtual VclPtr< vcl::Window > getDocWindow() override
virtual void completeFunction(const OUString &rFunctionName) override
virtual void SAL_CALL enableOpenCL(sal_Bool bEnable) override
virtual void SAL_CALL removeChangesListener(const css::uno::Reference< css::util::XChangesListener > &aListener) override
virtual void SAL_CALL setFormulaCellNumberLimit(sal_Int32 number) override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments(const OUString &ServiceSpecifier, const css::uno::Sequence< css::uno::Any > &Arguments) override
virtual void SAL_CALL setActionLocks(sal_Int16 nLock) override
virtual sal_Bool SAL_CALL isOpcodeSubsetTested() override
virtual void SAL_CALL disableOpcodeSubsetTest() override
virtual void SAL_CALL removeActionLock() override
void NotifyChanges(const OUString &rOperation, const ScRangeList &rRanges, const css::uno::Sequence< css::beans::PropertyValue > &rProperties)
virtual void getRowColumnHeaders(const tools::Rectangle &rRectangle, tools::JsonWriter &rJsonWriter) override
::comphelper::OInterfaceContainerHelper3< css::util::XChangesListener > maChangesListeners
virtual css::uno::Reference< css::drawing::XDrawPages > SAL_CALL getDrawPages() override
XDrawPagesSupplier.
ScFormatSaveData * GetFormatSaveData()
virtual Size getDocumentSize() final override
virtual ~ScModelObj() override
virtual sal_Int32 SAL_CALL getRendererCount(const css::uno::Any &aSelection, const css::uno::Sequence< css::beans::PropertyValue > &xOptions) override
XRenderable.
virtual void SAL_CALL selectOpenCLDevice(sal_Int32 platform, sal_Int32 device) override
virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL getLinks() override
XLinkTargetSupplier.
virtual void setPart(int nPart, bool bAllowChangeFocus=true) override
virtual css::uno::Reference< css::sheet::XSpreadsheets > SAL_CALL getSheets() override
XSpreadsheetDocument.
virtual void SAL_CALL protect(const OUString &aPassword) override
XProtectable.
virtual void getCellCursor(tools::JsonWriter &rJsonWriter) override
virtual void postMouseEvent(int nType, int nX, int nY, int nCount, int nButtons, int nModifier) override
virtual css::uno::Reference< css::sheet::XConsolidationDescriptor > SAL_CALL createConsolidationDescriptor(sal_Bool bEmpty) override
XConsolidatable.
static LanguageType GetOptDigitLanguage()
const SfxPoolItem & GetItem(sal_uInt16 nWhichP) const
tools::Long computePosition(index_type nIndex, const std::function< long(index_type)> &getSizePx)
Stores the data for printing that is needed from several sheets, so it doesn't have to be calculated ...
static void DrawToDev(ScDocument &rDoc, OutputDevice *pDev, double nPrintFactor, const tools::Rectangle &rBound, ScViewData *pViewData, bool bMetaFile)
const Size & GetPageSize() const
bool GetSkipEmpty() const
void SetSkipEmpty(bool bVal)
void SetAllSheets(bool bVal)
bool GetAllSheets() const
Stores the selection in the ScPrintFuncCache so it is only used for the same selection again.
void SetOptions(const ScPrintOptions &rNew)
ScPrintSelectionMode GetMode() const
void SetRanges(const ScRangeList &rNew)
const ScPrintOptions & GetOptions() const
void SetMode(ScPrintSelectionMode eNew)
void push_back(const ScRange &rRange)
static bool GetRangeListFromString(ScRangeList &rRangeList, std::u16string_view rRangeListStr, const ScDocument &rDocument, formula::FormulaGrammar::AddressConvention eConv, sal_Unicode cSeparator=' ', sal_Unicode cQuote='\'')
static bool MakeRangeFromName(const OUString &rName, const ScDocument &rDoc, SCTAB nCurTab, ScRange &rRange, RutlNameScope eScope=RUTL_NAMES, ScAddress::Details const &rDetails=ScAddress::detailsOOOa1, bool bUseDetailsPos=false)
ScRefFlags Parse(const OUString &, const ScDocument &, const ScAddress::Details &rDetails=ScAddress::detailsOOOa1, ScAddress::ExternalInfo *pExtInfo=nullptr, const css::uno::Sequence< css::sheet::ExternalLinkInfo > *pExternalLinks=nullptr, const OUString *pErrRef=nullptr)
virtual css::uno::Type SAL_CALL getElementType() override
XElementAccess.
rtl::Reference< ScTableSheetObj > GetObjectByIndex_Impl(sal_Int32 nIndex)
virtual void SAL_CALL removeByName(const OUString &aName) override
virtual ~ScScenariosObj() override
ScScenariosObj(ScDocShell *pDocSh, SCTAB nT)
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
XEnumerationAccess.
bool GetScenarioIndex_Impl(std::u16string_view rName, SCTAB &rIndex)
virtual sal_Int32 SAL_CALL getCount() override
XIndexAccess.
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
virtual sal_Bool SAL_CALL hasElements() override
rtl::Reference< ScTableSheetObj > GetObjectByName_Impl(std::u16string_view aName)
virtual void SAL_CALL addNewByName(const OUString &aName, const css::uno::Sequence< css::table::CellRangeAddress > &aRanges, const OUString &aComment) override
XScenarios.
virtual css::uno::Any SAL_CALL getByName(const OUString &aName) override
XNameAccess.
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
virtual sal_Bool SAL_CALL hasByName(const OUString &aName) override
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override
static css::uno::Sequence< OUString > GetAllServiceNames()
static css::uno::Reference< css::uno::XInterface > MakeInstance(Type nType, ScDocShell *pDocShell)
static Type GetProviderType(std::u16string_view rServiceName)
const OUString * GetScript(ScSheetEventId nEvent) const
static sal_Int32 GetVbaSheetEventId(ScSheetEventId nEvent)
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
XPropertySet.
int getPart() const override
See SfxViewShell::getPart().
void SelectTabPage(const sal_uInt16 nTab)
void extendTiledAreaIfNeeded()
void getRowColumnHeaders(const tools::Rectangle &rRectangle, tools::JsonWriter &rJsonWriter)
OString getSheetGeometryData(bool bColumns, bool bRows, bool bSizes, bool bHidden, bool bFiltered, bool bGroups)
ScViewData & GetViewData()
ScDrawView * GetScDrawView()
ScTableColumnsObj(ScDocShell *pDocSh, SCTAB nT, SCCOL nSC, SCCOL nEC)
virtual void SAL_CALL insertByIndex(sal_Int32 nIndex, sal_Int32 nCount) override
XTableColumns.
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
virtual void SAL_CALL removeByIndex(sal_Int32 nIndex, sal_Int32 nCount) override
virtual css::uno::Type SAL_CALL getElementType() override
XElementAccess.
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override
virtual ~ScTableColumnsObj() override
virtual sal_Bool SAL_CALL hasElements() override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
rtl::Reference< ScTableColumnObj > GetObjectByIndex_Impl(sal_Int32 nIndex) const
virtual sal_Int32 SAL_CALL getCount() override
XIndexAccess.
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
XEnumerationAccess.
virtual sal_Bool SAL_CALL hasByName(const OUString &aName) override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
XPropertySet.
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual css::uno::Any SAL_CALL getByName(const OUString &aName) override
XNameAccess.
rtl::Reference< ScTableColumnObj > GetObjectByName_Impl(std::u16string_view aName) const
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
XPropertySet.
virtual sal_Bool SAL_CALL hasElements() override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
virtual css::uno::Type SAL_CALL getElementType() override
XElementAccess.
virtual void SAL_CALL removeByIndex(sal_Int32 nIndex, sal_Int32 nCount) override
virtual void SAL_CALL insertByIndex(sal_Int32 nIndex, sal_Int32 nCount) override
XTableRows.
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
XEnumerationAccess.
virtual sal_Int32 SAL_CALL getCount() override
XIndexAccess.
rtl::Reference< ScTableRowObj > GetObjectByIndex_Impl(sal_Int32 nIndex) const
virtual ~ScTableRowsObj() override
void InitInsertSheet(ScDocShell *pDocSh, SCTAB nTab)
virtual void SAL_CALL insertByName(const OUString &aName, const css::uno::Any &aElement) override
XNameContainer.
virtual void SAL_CALL copyByName(const OUString &aName, const OUString &aCopy, sal_Int16 nDestination) override
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
rtl::Reference< ScTableSheetObj > GetObjectByName_Impl(const OUString &aName) const
virtual void SAL_CALL insertNewByName(const OUString &aName, sal_Int16 nPosition) override
XSpreadsheets.
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
virtual css::uno::Any SAL_CALL getByName(const OUString &aName) override
XNameAccess.
rtl::Reference< ScTableSheetObj > GetObjectByIndex_Impl(sal_Int32 nIndex) const
virtual css::uno::Reference< css::table::XCell > SAL_CALL getCellByPosition(sal_Int32 nColumn, sal_Int32 nRow, sal_Int32 nSheet) override
XCellRangesAccess.
virtual sal_Int32 SAL_CALL importSheet(const css::uno::Reference< css::sheet::XSpreadsheetDocument > &xDocSrc, const OUString &srcName, sal_Int32 nDestPosition) override
XSpreadsheets2.
virtual css::uno::Type SAL_CALL getElementType() override
XElementAccess.
ScTableSheetsObj(ScDocShell *pDocSh)
virtual css::uno::Sequence< css::uno::Reference< css::table::XCellRange > > SAL_CALL getCellRangesByName(const OUString &aRange) override
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
XEnumerationAccess.
virtual void SAL_CALL removeByName(const OUString &Name) override
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override
virtual void SAL_CALL moveByName(const OUString &aName, sal_Int16 nDestination) override
virtual sal_Bool SAL_CALL hasElements() override
virtual void SAL_CALL replaceByName(const OUString &aName, const css::uno::Any &aElement) override
XNameReplace.
virtual ~ScTableSheetsObj() override
virtual sal_Bool SAL_CALL hasByName(const OUString &aName) override
virtual sal_Int32 SAL_CALL getCount() override
XIndexAccess.
bool GetCellArea(SCCOL &rEndCol, SCROW &rEndRow)
void InvalidateCellArea()
static void FillLocale(css::lang::Locale &rLocale, LanguageType eLang)
static LanguageType GetLanguage(const css::lang::Locale &rLocale)
static bool GetBoolFromAny(const css::uno::Any &aAny)
void SetScreen(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
const ScViewOptions & GetOptions() const
const Fraction & GetZoomY() const
void SetTabNo(SCTAB nNewTab)
ScDocument & GetDocument() const
void ForcePageUpDownOffset(tools::Long nTwips)
Force page size for PgUp/PgDown to overwrite the computation based on m_aVisArea.
ScDocShell * GetDocShell() const
ScGridWindow * GetActiveWin()
ScTabViewShell * GetViewShell() const
void setLOKVisibleArea(const tools::Rectangle &rArea)
static tools::Long ToPixel(sal_uInt16 nTwips, double nFactor)
ScDBFunc * GetView() const
ScPositionHelper & GetLOKWidthHelper()
void SetZoom(const Fraction &rNewX, const Fraction &rNewY, std::vector< SCTAB > &tabs)
const Fraction & GetZoomX() const
ScDrawView * GetScDrawView()
const OUString & GetColorSchemeName() const
const SdrPage * GetPage(sal_uInt16 nPgNum) const
const OutlinerView * GetTextEditOutlinerView() const
virtual bool IsTextEdit() const final override
static SdrObject * getSdrObjectFromXShape(const css::uno::Reference< css::uno::XInterface > &xInt)
virtual const tools::Rectangle & GetCurrentBoundRect() const
css::uno::Reference< css::uno::XInterface > const & getUnoPage()
sal_uInt16 GetPageNum() const
void Notify(SfxBroadcaster &aBC, const SfxHint &aHint) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
void getGrabBagItem(css::uno::Any &rVal) const
bool hasValidSignatures() const
virtual void SAL_CALL unlockControllers() override
virtual void SAL_CALL acquire() noexcept override
virtual sal_Bool SAL_CALL hasControllersLocked() override
virtual void SAL_CALL release() noexcept override
OUString const & getRuntimeUID() const
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
virtual void SAL_CALL lockControllers() override
void setGrabBagItem(const css::uno::Any &rVal)
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
css::uno::Reference< css::container::XIndexAccess > SAL_CALL getViewData() override
void Invalidate(sal_uInt16 nId)
const SfxItemPropertyMap & getPropertyMap() const
static void postKeyEventAsync(const VclPtr< vcl::Window > &xWindow, int nType, int nCharCode, int nKeyCode, int nRepeat=0)
static bool testInPlaceComponentMouseEventHit(SfxViewShell *pViewShell, int nType, int nX, int nY, int nCount, int nButtons, int nModifier, double fScaleX, double fScaleY, bool bNegativeX=false)
static void notifyPartSizeChangedAllViews(vcl::ITiledRenderable *pDoc, int nPart)
static void notifyOtherViews(const SfxViewShell *pThisView, int nType, std::string_view rKey, const OString &rPayload)
static VclPtr< vcl::Window > getInPlaceDocWindow(SfxViewShell *pViewShell)
css::uno::Reference< css::script::XLibraryContainer > GetBasicContainer()
ErrCode CallXScript(const OUString &rScriptURL, const css::uno::Sequence< css::uno::Any > &aParams, css::uno::Any &aRet, css::uno::Sequence< sal_Int16 > &aOutParamIndex, css::uno::Sequence< css::uno::Any > &aOutParam, bool bRaiseError=true, const css::uno::Any *aCaller=nullptr)
css::uno::Reference< css::script::XLibraryContainer > GetDialogContainer()
void DoDraw(OutputDevice *, const Point &rObjPos, const Size &rSize, const JobSetup &rSetup, sal_uInt16 nAspect=ASPECT_CONTENT, bool bOutputForScreen=false)
SfxObjectCreateMode GetCreateMode() const
void SetBaseModel(SfxBaseModel *pModel)
void SetMaxUndoActionCount(size_t nMaxUndoActionCount)
virtual void libreOfficeKitViewCallback(int nType, const OString &pPayload) const override
ViewShellDocId GetDocId() const override
static SAL_WARN_UNUSED_RESULT SfxViewShell * GetNext(const SfxViewShell &rPrev, bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
static SAL_WARN_UNUSED_RESULT SfxViewShell * GetFirst(bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
constexpr tools::Long Height() const
void setWidth(tools::Long nWidth)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
Iterator end(const o3tl::sorted_vector< sal_Int32 > *i_pPossibleValues=nullptr) const
Iterator begin(const o3tl::sorted_vector< sal_Int32 > *i_pPossibleValues=nullptr) const
OUString GetModuleName(EModule eModule) const
const Color & GetColor() const
SdrPage * GetSdrPage() const
virtual ::com::sun::star::uno::Reference<::com::sun::star::uno::XInterface > SAL_CALL createInstance(const OUString &ServiceSpecifier) override
virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments(const OUString &ServiceSpecifier, const css::uno::Sequence< css::uno::Any > &Arguments) override
static TransferableDataHelper CreateFromSystemClipboard(vcl::Window *pWindow)
const css::uno::Reference< css::datatransfer::XTransferable > & GetTransferable() const
const VclPtr< OutputDevice > & GetOutputDevice() const
reference_type * get() const
static std::shared_ptr< ConfigurationChanges > create()
sal_Int32 addInterface(const css::uno::Reference< ListenerT > &rxIFace)
sal_Int32 getLength() const
sal_Int32 removeInterface(const css::uno::Reference< ListenerT > &rxIFace)
bool hasMoreElements() const
css::uno::Reference< ListenerT > const & next()
const css::uno::Sequence< sal_Int8 > & getSeq() const
css::uno::Type const & get()
sal_Int32 CreateDest(const tools::Rectangle &rRect, sal_Int32 nPageNr=-1, PDFWriter::DestAreaType eType=PDFWriter::DestAreaType::XYZ)
std::vector< PDFExtOutDevBookmarkEntry > & GetBookmarks()
void SetDocumentLocale(const css::lang::Locale &rLoc)
void SetLinkURL(sal_Int32 nLinkId, const OUString &rURL)
bool GetIsExportBookmarks() const
sal_Int32 CreateOutlineItem(sal_Int32 nParent, const OUString &rText, sal_Int32 nDestID)
bool GetIsExportNamedDestinations() const
sal_Int32 CreateNamedDest(const OUString &sDestName, const tools::Rectangle &rRect, sal_Int32 nPageNr=-1)
void SetLinkDest(sal_Int32 nLinkId, sal_Int32 nDestId)
static css::uno::Any setGroupControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId)
static css::uno::Any setChoiceRadiosControlOpt(const css::uno::Sequence< OUString > &i_rIDs, const OUString &i_rTitle, const css::uno::Sequence< OUString > &i_rHelpId, const OUString &i_rProperty, const css::uno::Sequence< OUString > &i_rChoices, sal_Int32 i_nValue, const css::uno::Sequence< sal_Bool > &i_rDisabledChoices=css::uno::Sequence< sal_Bool >(), const UIControlOptions &i_rControlOptions=UIControlOptions())
std::vector< css::beans::PropertyValue > m_aUIProperties
static css::uno::Any setBoolControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId, const OUString &i_rProperty, bool i_bValue, const UIControlOptions &i_rControlOptions=UIControlOptions())
static css::uno::Any setSubgroupControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId, const UIControlOptions &i_rControlOptions=UIControlOptions())
static css::uno::Any setChoiceListControlOpt(const OUString &i_rID, const OUString &i_rTitle, const css::uno::Sequence< OUString > &i_rHelpId, const OUString &i_rProperty, const css::uno::Sequence< OUString > &i_rChoices, sal_Int32 i_nValue, const css::uno::Sequence< sal_Bool > &i_rDisabledChoices=css::uno::Sequence< sal_Bool >(), const UIControlOptions &i_rControlOptions=UIControlOptions())
static css::uno::Any setEditControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId, const OUString &i_rProperty, const OUString &i_rValue, const UIControlOptions &i_rControlOptions)
tools::Long GetOutOffXPixel() const
bool HasChildPathFocus(bool bSystemWindow=false) const
void SetClipboard(css::uno::Reference< css::datatransfer::clipboard::XClipboard > const &xClipboard)
virtual void SetOutputSizePixel(const Size &rNewSize)
tools::Long GetOutOffYPixel() const
PointerStyle GetPointer() const
constexpr ::Color COL_LIGHTGRAY(0xC0, 0xC0, 0xC0)
constexpr OUStringLiteral SCMODELOBJ_SERVICE
constexpr OUStringLiteral SCDOCSETTINGS_SERVICE
constexpr OUStringLiteral SCDOC_SERVICE
static o3tl::span< const SfxItemPropertyMapEntry > lcl_GetDocOptPropertyMap()
rename this, those are no longer only options
static ScViewData * lcl_getViewMatchingDocZoomTab(const Fraction &rZoomX, const Fraction &rZoomY, const SCTAB nTab, const ViewShellDocId &rDocId)
static sal_Int32 lcl_GetRendererNum(sal_Int32 nSelRenderer, std::u16string_view rPagesStr, sal_Int32 nTotalPages)
static OutputDevice * lcl_GetRenderDevice(const uno::Sequence< beans::PropertyValue > &rOptions)
static bool lcl_renderSelectionToGraphic(bool bRenderToGraphic, const ScPrintSelectionStatus &rStatus)
static o3tl::span< const SfxItemPropertyMapEntry > lcl_GetRowsPropertyMap()
constexpr OUStringLiteral SC_UNO_VBAGLOBNAME
static o3tl::span< const SfxItemPropertyMapEntry > lcl_GetColumnsPropertyMap()
StandardDecimals as property and from NumberFormatter ????????
static bool lcl_ParseTarget(const OUString &rTarget, ScRange &rTargetRange, tools::Rectangle &rTargetRect, bool &rIsSheet, ScDocument &rDoc, SCTAB nSourceTab)
static void lcl_sendLOKDocumentBackground(const ScViewData *pViewData)
EmbeddedObjectRef * pObject
Reference< XInterface > xTarget
@ NOTE
Strings (and string results if InsertDeleteFlags::FORMULA is not set).
constexpr sal_Int32 STD_EXTRA_WIDTH
Sequence< sal_Int8 > aSeq
#define MID_GRAPHIC_TRANSPARENT
#define SC_QUERYINTERFACE(x)
#define SC_SIMPLE_SERVICE_INFO(ClassName, ClassNameAscii, ServiceAscii)
#define SC_IMPL_DUMMY_PROPERTY_LISTENER(ClassName)
bool isDataAreaInvalidateType(std::u16string_view rType)
constexpr OUStringLiteral aData
bool isCompatFlagSet(Compat flag)
const LanguageTag & getLocale()
bool isdigitAsciiString(std::string_view rString)
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &... rSn)
sal_Int64 getSomething_cast(void *p)
css::uno::Sequence< css::beans::PropertyValue > InitPropertySequence(::std::initializer_list< ::std::pair< OUString, css::uno::Any > > vInit)
css::beans::PropertyValue makePropertyValue(const OUString &rName, T &&rValue)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
constexpr auto toTwips(N number, Length from)
constexpr Point convert(const Point &rPoint, o3tl::Length eFrom, o3tl::Length eTo)
std::enable_if<!(detail::IsDerivedReference< T >::value||detail::IsUnoSequenceType< T >::value||std::is_base_of< css::uno::XInterface, T >::value), typenamedetail::Optional< T >::type >::type tryAccess(css::uno::Any const &any)
OString OUStringToOString(std::u16string_view str, ConnectionSettings const *settings)
#define PROP_UNO_WILDCARDSENABLED
#define PROP_UNO_ITEREPSILON
#define PROP_UNO_LOOKUPLABELS
#define PROP_UNO_MATCHWHOLE
#define PROP_UNO_ITERCOUNT
#define PROP_UNO_REGEXENABLED
#define PROP_UNO_DEFTABSTOP
#define PROP_UNO_STANDARDDEC
#define PROP_UNO_NULLDATE
#define PROP_UNO_IGNORECASE
#define PROP_UNO_ITERENABLED
#define PROP_UNO_SPELLONLINE
#define PROP_UNO_CALCASSHOWN
@ RangeExclusivelyOleAndDrawObjects
OUString ScResId(TranslateId aId)
constexpr TypedWhichId< SvxBrushItem > ATTR_BACKGROUND(148)
Configuration options for formula interpreter.
static bool isOpenCLEnabled()
void setOpenCLConfigToDefault()
static ForceCalculationType getForceCalculationType()
SvNumberFormatter * GetFormatTable() const
The range that is printed on a page (excluding repeated columns/rows), and its position on the page,...
tools::Rectangle aRectangle
constexpr OUStringLiteral SC_UNONAME_CALCPAGESIZE
constexpr OUStringLiteral SC_UNO_RECORDCHANGES
constexpr OUStringLiteral SC_UNO_DDELINKS
constexpr OUStringLiteral SC_UNO_ISLOADED
constexpr OUStringLiteral SC_UNO_DATABASERNG
constexpr OUStringLiteral SC_UNO_CALCASSHOWN
constexpr OUStringLiteral SC_UNO_ITERCOUNT
constexpr OUStringLiteral SC_UNO_NULLDATE
constexpr OUStringLiteral SC_UNO_STANDARDDEC
constexpr OUStringLiteral SC_UNO_DEFTABSTOP
constexpr OUStringLiteral SC_UNO_ISEXECUTELINKENABLED
constexpr OUStringLiteral SC_UNONAME_CLOCAL
constexpr OUStringLiteral SC_UNO_NAMEDRANGES
constexpr OUStringLiteral SC_UNONAME_CELLWID
constexpr OUStringLiteral SC_UNO_FORBIDDEN
constexpr OUStringLiteral SC_UNO_SHEETLINKS
constexpr OUStringLiteral SC_UNONAME_REGEXP
constexpr OUStringLiteral SC_UNONAME_CELLHGT
constexpr OUStringLiteral SC_UNO_CODENAME
constexpr OUStringLiteral SC_UNONAME_WILDCARDS
constexpr OUStringLiteral SC_UNO_DIALOGLIBRARIES
constexpr OUStringLiteral SC_UNONAME_PAGESIZE
constexpr OUStringLiteral SC_UNO_ITEREPSILON
constexpr OUStringLiteral SC_UNONAME_CELLTRAN
constexpr OUStringLiteral SC_UNO_IGNORECASE
constexpr OUStringLiteral SC_UNONAME_OHEIGHT
constexpr OUStringLiteral SC_UNO_INTEROPGRABBAG
constexpr OUStringLiteral SC_UNONAME_INC_NP_AREA
constexpr OUStringLiteral SC_UNO_LOOKUPLABELS
constexpr OUStringLiteral SC_UNO_COLLABELRNG
constexpr OUStringLiteral SC_UNO_RUNTIMEUID
constexpr OUStringLiteral SC_UNO_ISCHANGEREADONLYENABLED
constexpr OUStringLiteral SC_UNO_WILDCARDSENABLED
constexpr OUStringLiteral SC_UNO_HASVALIDSIGNATURES
constexpr OUStringLiteral SC_UNO_CTL_CLOCAL
constexpr OUStringLiteral SC_UNONAME_MANPAGE
constexpr OUStringLiteral SC_UNO_HASDRAWPAGES
constexpr OUStringLiteral SC_UNO_ISUNDOENABLED
constexpr OUStringLiteral SC_UNO_REFERENCEDEVICE
constexpr OUStringLiteral SC_UNO_BASICLIBRARIES
constexpr OUStringLiteral SC_UNO_REGEXENABLED
constexpr OUStringLiteral SC_UNO_SPELLONLINE
constexpr OUStringLiteral SC_UNONAME_CELLBACK
constexpr OUStringLiteral SC_UNONAME_CELLVIS
constexpr OUStringLiteral SC_UNONAME_NEWPAGE
constexpr OUStringLiteral SC_UNO_AREALINKS
constexpr OUStringLiteral SC_UNONAME_CALCPAGEPOS
constexpr OUStringLiteral SC_UNONAME_CELLFILT
constexpr OUStringLiteral SC_UNO_EXTERNALDOCLINKS
constexpr OUStringLiteral SC_UNO_ISADJUSTHEIGHTENABLED
constexpr OUStringLiteral SC_UNONAME_OWIDTH
constexpr OUStringLiteral SC_UNONAME_RENDERDEV
constexpr OUStringLiteral SC_UNO_ISRECORDCHANGESPROTECTED
constexpr OUStringLiteral SC_UNONAME_SOURCERANGE
constexpr OUStringLiteral SC_UNO_MATCHWHOLE
constexpr OUStringLiteral SC_UNO_AUTOCONTFOC
constexpr OUStringLiteral SC_UNONAME_VISFLAG
constexpr OUStringLiteral SC_UNO_ROWLABELRNG
constexpr OUStringLiteral SC_UNO_ITERENABLED
constexpr OUStringLiteral SC_UNO_APPLYFMDES
constexpr OUStringLiteral SC_UNO_UNNAMEDDBRNG
constexpr OUStringLiteral SC_UNO_CJK_CLOCAL