24#include <officecfg/Office/Common.hxx>
41#include <osl/diagnose.h>
55#include <stlsheet.hxx>
65#include <progress.hxx>
66#include <document.hxx>
76#include <charthelper.hxx>
84#include <tokenarray.hxx>
120 <SID_PRINTER_NOTFOUND_WARN, SID_PRINTER_NOTFOUND_WARN,
121 SID_PRINTER_CHANGESTODOC, SID_PRINTER_CHANGESTODOC,
122 SID_PRINT_SELECTEDSHEET, SID_PRINT_SELECTEDSHEET,
123 SID_SCPRINTOPTIONS, SID_SCPRINTOPTIONS>>(*
mxPoolHelper->GetDocPool());
126 if (officecfg::Office::Common::Print::Warning::PaperOrientation::get())
127 nFlags |= SfxPrinterChangeFlags::CHG_ORIENTATION;
128 if (officecfg::Office::Common::Print::Warning::PaperSize::get())
129 nFlags |= SfxPrinterChangeFlags::CHG_SIZE;
130 pSet->
Put(
SfxFlagItem( SID_PRINTER_CHANGESTODOC,
static_cast<int>(nFlags) ) );
131 pSet->Put(
SfxBoolItem( SID_PRINTER_NOTFOUND_WARN, officecfg::Office::Common::Print::Warning::NotFound::get() ) );
164 OSL_ENSURE(
mpPrinter,
"Error in printer creation :-/" );
172 if (officecfg::Office::Common::Print::Warning::PaperOrientation::get())
173 nFlags |= SfxPrinterChangeFlags::CHG_ORIENTATION;
174 if (officecfg::Office::Common::Print::Warning::PaperSize::get())
175 nFlags |= SfxPrinterChangeFlags::CHG_SIZE;
176 aOptSet.
Put(
SfxFlagItem( SID_PRINTER_CHANGESTODOC,
static_cast<int>(nFlags) ) );
177 aOptSet.
Put(
SfxBoolItem( SID_PRINTER_NOTFOUND_WARN, officecfg::Office::Common::Print::Warning::NotFound::get() ) );
203 if (
SC_MOD()->GetInputOptions().GetTextWysiwyg() )
217 case SfxStyleFamily::Page:
219 const sal_uInt16 nOldScale = getScaleValue(rStyleSheet,
ATTR_PAGE_SCALE);
222 const sal_uInt16 nNewScale = getScaleValue(rStyleSheet,
ATTR_PAGE_SCALE);
225 if ( (nOldScale != nNewScale) || (nOldScaleToPages != nNewScaleToPages) )
236 case SfxStyleFamily::Para:
238 bool bNumFormatChanged;
245 maTabs[nTab]->SetStreamValid(
false );
253 if ( nNewFormat != nOldFormat )
269 if ( eState == SfxItemState::SET )
271 else if ( eState == SfxItemState::DONTCARE )
276 if ( eNewLang != eOldLang )
327 bool bWasInUse =
false;
342 bool bWasInUse =
false;
349 maTabs[
i]->SetPageStyle( rNew );
367 if ( eDirection == SvxFrameDirection::Horizontal_LR_TB )
368 eRet = EEHorizontalTextDirection::L2R;
369 else if ( eDirection == SvxFrameDirection::Horizontal_RL_TB )
370 eRet = EEHorizontalTextDirection::R2L;
391 if (nCol1 > nCol2 || nRow1 > nRow2)
396 if (
static_cast<SCROW>(nR) != nRow2 - nRow1 + 1 ||
static_cast<SCCOL>(nC) != nCol2 - nCol1 + 1)
399 pTab->
FillMatrix(rMat, nCol1, nRow1, nCol2, nRow2, pPool);
446 bool bNumFormatChanged )
449 if ( pAdrFrom && !pAdrTo )
458 const SCTAB nTabStart = pAdrFrom ? pAdrFrom->
Tab() : 0;
461 for (
SCTAB nTab=nTabStart; nTab<=nTabEnd && nTab < static_cast<SCTAB>(
maTabs.size()); nTab++ )
463 maTabs[nTab]->InvalidateTextWidth( pAdrFrom, pAdrTo, bNumFormatChanged, bBroadcast );
491 ~IdleCalcTextWidthScope() COVERITY_NOEXCEPT_FALSE
495 pDev->SetMapMode(maOldMapMode);
507 void setTab(
SCTAB nTab) { mrCalcPos.
SetTab(nTab); }
508 void setCol(
SCCOL nCol) { mrCalcPos.
SetCol(nCol); }
509 void setRow(
SCROW nRow) { mrCalcPos.
SetRow(nRow); }
511 void incTab() { mrCalcPos.
IncTab(); }
512 void incCol(
SCCOL nInc) { mrCalcPos.
IncCol(nInc); }
514 void setOldMapMode(
const MapMode& rOldMapMode) { maOldMapMode = rOldMapMode; }
516 void setNeedMore(
bool b) { mbNeedMore = b; }
517 bool getNeedMore()
const {
return mbNeedMore; }
519 void createProgressBar()
525 bool hasProgressBar()
const {
return mbProgress; }
546 if (aScope.Col() < 0)
557 OSL_ENSURE( pStyle,
"Missing StyleSheet :-/" );
573 std::optional<ScColumnTextWidthIterator> pColIter(std::in_place, *
this, *pCol, aScope.Row(),
MaxRow());
576 sal_uInt16 nRestart = 0;
578 while ( (nZoom > 0) && (
nCount <
CALCMAX) && (nRestart < 2) )
580 if (pColIter->hasCell())
583 SCROW nRow = pColIter->getPos();
598 nPPTX = aPix1000.
X() / 1000.0;
599 nPPTY = aPix1000.
Y() / 1000.0;
603 aScope.createProgressBar();
605 sal_uInt16 nNewWidth =
static_cast<sal_uInt16
>(
GetNeededSize(
606 aScope.Col(), aScope.Row(), aScope.Tab(),
607 pDev,
nPPTX,
nPPTY, aZoomFract,aZoomFract,
true,
true));
609 pColIter->setValue(nNewWidth);
610 aScope.setNeedMore(
true);
618 bool bNewTab =
false;
623 if (aScope.Col() < 0)
643 pTab =
maTabs[aScope.Tab()].get();
645 pStyle =
static_cast<ScStyleSheet*
>(aScope.getStylePool()->Find(
663 OSL_FAIL(
"Missing StyleSheet :-/" );
669 pCol = &pTab->
aCol[aScope.Col()];
670 pColIter.emplace(*
this, *pCol, aScope.Row(),
MaxRow());
682 if (!aScope.continueIter())
686 return aScope.getNeedMore();
715 sal_uInt16
nCount = rLinks.size();
719 sal_uInt16 nDdeCount = 0;
742 pLink->Store( rStream, aHdr );
759 const size_t nMinStringSize = eCharSet == RTL_TEXTENCODING_UNICODE ?
sizeof(sal_uInt32) :
sizeof(sal_uInt16);
760 const size_t nMinRecordSize = 1 + nMinStringSize*3;
761 const size_t nMaxRecords = rStream.
remainingSize() / nMinRecordSize;
764 SAL_WARN(
"sc",
"Parsing error: " << nMaxRecords <<
765 " max possible entries, but " <<
nCount <<
" claimed, truncating");
780 OSL_ENSURE(
bInLinkUpdate != bSet,
"SetInLinkUpdate twice" );
798 const ::sfx2::SvBaseLinks& rLinks = pMgr->
GetLinks();
799 sal_uInt16
nCount = rLinks.size();
804 std::vector<ScExternalRefLink*> aRefLinks;
810 aRefLinks.push_back(pRefLink);
817 for (
size_t i = 0,
n = aRefLinks.size();
i <
n; ++
i)
840 VclMessageType::Warning, VclButtonsType::Ok,
888 for (
const auto & rLink : rLinks)
908 std::u16string_view rAppl, std::u16string_view rTopic, std::u16string_view rItem,
sal_uInt8 nMode,
909 size_t* pnDdePos =
nullptr )
913 const ::sfx2::SvBaseLinks& rLinks = pLinkManager->
GetLinks();
914 if( pnDdePos ) *pnDdePos = 0;
915 for(
const auto& nLinks : rLinks )
919 if( (pDdeLink->GetAppl() == rAppl) &&
920 (pDdeLink->GetTopic() == rTopic) &&
921 (pDdeLink->GetItem() == rItem) &&
924 if( pnDdePos ) ++*pnDdePos;
938 size_t nDdeIndex = 0;
939 for(
const auto& pLink : pLinkManager->
GetLinks() )
943 if( nDdeIndex == nDdePos )
957 return lclGetDdeLink(
GetLinkManager(), rAppl, rTopic, rItem, nMode, &rnDdePos ) !=
nullptr;
964 rAppl = pDdeLink->GetAppl();
965 rTopic = pDdeLink->GetTopic();
966 rItem = pDdeLink->GetItem();
976 rnMode = pDdeLink->GetMode();
985 return pDdeLink ? pDdeLink->
GetResult() :
nullptr;
994 OSL_ENSURE( nMode !=
SC_DDE_IGNOREMODE,
"ScDocument::CreateDdeLink - SC_DDE_IGNOREMODE not allowed here" );
1002 ScDdeLink* pDdeLink = lclGetDdeLink(pMgr, rAppl, rTopic, rItem, nMode);
1006 pDdeLink =
new ScDdeLink( *
this, rAppl, rTopic, rItem, nMode );
1023 pDdeLink->SetResult( pResults );
1035 const ::sfx2::SvBaseLinks& rLinks = pMgr->
GetLinks();
1036 sal_uInt16
nCount = rLinks.size();
1038 if (
nullptr !=
dynamic_cast<const ScAreaLink*
>(rLinks[
i].
get()))
1050 const ::sfx2::SvBaseLinks& rLinks = pMgr->
GetLinks();
1051 for (
const auto & rLink : rLinks)
1054 if (
dynamic_cast<const ScAreaLink*
>( pBase) !=
nullptr)
1065 const ::sfx2::SvBaseLinks& rLinks = pMgr->
GetLinks();
1066 sfx2::SvBaseLinks::size_type
nPos = 0;
1067 while (
nPos < rLinks.size() )
1069 const ::sfx2::SvBaseLink* pBase = rLinks[
nPos].get();
1071 if (
pLink &&
pLink->GetDestArea().aStart.Tab() == nTab)
1085 bool bAnyUpdate =
false;
1087 const ::sfx2::SvBaseLinks& rLinks = pMgr->
GetLinks();
1088 sal_uInt16
nCount = rLinks.size();
1107 nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 );
1110 pLink->SetDestArea(
ScRange( nCol1, nRow1, nTab1, nCol2, nRow2, nTab2 ) );
1123 sal_uInt16 nFirstIndex = 0;
1124 while ( nFirstIndex <
nCount )
1126 bool bFound =
false;
1130 ScAddress aFirstPos = pFirstLink->GetDestArea().aStart;
1131 for ( sal_uInt16 nSecondIndex = nFirstIndex + 1; nSecondIndex <
nCount && !bFound; ++nSecondIndex )
1170 SAL_WARN(
"sc.core",
"ScDocument::CheckLinkFormulaNeedingCheck - called with empty ScTokenArray");
1193 pViewFrame =
nullptr;
1207 OSL_ENSURE( rMultiMark.
IsMultiMarked(),
"TransliterateText: no selection" );
1213 std::unique_ptr<ScEditEngineDefaulter> pEngine;
1216 for (
const SCTAB& nTab : rMultiMark)
1239 (
nType == TransliterationFlags::SENTENCE_CASE ||
nType == TransliterationFlags::TITLE_CASE)))
1246 SfxItemSet aDefaults( pEngine->GetEmptyItemSet() );
1258 pEngine->SetDefaults( std::move(aDefaults) );
1262 pEngine->SetTextCurrentDefaults(*aCell.
getEditText());
1264 pEngine->ClearModifyFlag();
1266 sal_Int32 nLastPar = pEngine->GetParagraphCount();
1269 sal_Int32 nTxtLen = pEngine->GetTextLen(nLastPar);
1270 ESelection aSelAll( 0, 0, nLastPar, nTxtLen );
1272 pEngine->TransliterateText( aSelAll,
nType );
1274 if ( pEngine->IsModified() )
1280 pEngine->SetDefaults( std::make_unique<SfxItemSet>( pEngine->GetEmptyItemSet() ) );
1297 sal_Int32 nOldLen = aOldStr.getLength();
1299 if ( bConsiderLanguage )
1308 uno::Sequence<sal_Int32> aOffsets;
1309 OUString aNewStr = aTransliterationWrapper.
transliterate( aOldStr, nLanguage, 0, nOldLen, &aOffsets );
1311 if ( aNewStr != aOldStr )
size_t SCSIZE
size_t typedef to be able to find places where code was changed from USHORT to size_t and is used to ...
static weld::MessageDialog * CreateMessageDialog(weld::Widget *pParent, VclMessageType eMessageType, VclButtonsType eButtonType, const OUString &rPrimaryMessage, const ILibreOfficeKitNotifier *pNotifier=nullptr)
OUString GetMainURL(DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
void SetMapUnit(MapUnit eUnit)
SAL_WARN_UNUSED_RESULT Point LogicToPixel(const Point &rLogicPt) const
const MapMode & GetMapMode() const
constexpr tools::Long Y() const
constexpr tools::Long X() const
void IncTab(SCTAB nDelta=1)
void IncCol(SCCOL nDelta=1)
const ScRange & GetDestArea() const
static sal_uInt16 DoUpdateAllCharts(ScDocument &rDoc)
bool IsFormulaDirty(SCROW nRow) const
const OUString & GetItem() const
const OUString & GetAppl() const
const ScMatrix * GetResult() const
void SetResult(const ScMatrixRef &pRes)
const OUString & GetTopic() const
bool IsCalcAsShown() const
Use this class as a locale variable to merge number formatter from another document,...
void TrackFormulas(SfxHintId nHintId=SfxHintId::ScDataChanged)
SC_DLLPUBLIC SfxItemPool * GetEnginePool() const
SC_DLLPUBLIC bool SetEditText(const ScAddress &rPos, std::unique_ptr< EditTextObject > pEditText)
This method manages the lifecycle of the passed edit text object.
bool SetDdeLinkResultMatrix(size_t nDdePos, const ScMatrixRef &pResults)
Sets a result matrix for the specified DDE link.
void ModifyStyleSheet(SfxStyleSheetBase &rPageStyle, const SfxItemSet &rChanges)
void InvalidateTextWidth(std::u16string_view rStyleName)
void SC_DLLPUBLIC SetFormulaResults(const ScAddress &rTopPos, const double *pResults, size_t nLen)
Set an array of numerical formula results to a group of contiguous formula cells.
std::unique_ptr< SvMemoryStream > pClipData
void LoadDdeLinks(SvStream &rStream)
bool ValidRow(SCROW nRow) const
void UpdateRefAreaLinks(UpdateRefMode eUpdateRefMode, const ScRange &r, SCCOL nDx, SCROW nDy, SCTAB nDz)
bool RemovePageStyleInUse(std::u16string_view rStrPageStyle)
SC_DLLPUBLIC ScTable * FetchTable(SCTAB nTab)
void TransliterateText(const ScMarkData &rMultiMark, TransliterationFlags nType)
ScAddress aCurTextWidthCalcPos
std::unique_ptr< ScDocOptions > pDocOptions
VclPtr< SfxPrinter > mpPrinter
EEHorizontalTextDirection GetEditTextDirection(SCTAB nTab) const
SC_DLLPUBLIC SCCOL MaxCol() const
rtl::Reference< ScPoolHelper > mxPoolHelper
SC_DLLPUBLIC ScMacroManager * GetMacroManager()
SC_DLLPUBLIC SCROW MaxRow() const
bool IsPageStyleInUse(std::u16string_view rStrPageStyle, SCTAB *pInTab)
SC_DLLPUBLIC void CopyStdStylesFrom(const ScDocument &rSrcDoc)
SC_DLLPUBLIC void CheckLinkFormulaNeedingCheck(const ScTokenArray &rCode)
Check token array and set link check if ocDde/ocWebservice is contained.
std::unique_ptr< ScMacroManager > mpMacroMgr
SC_DLLPUBLIC double GetValue(const ScAddress &rPos) const
SC_DLLPUBLIC bool CreateDdeLink(const OUString &rAppl, const OUString &rTopic, const OUString &rItem, sal_uInt8 nMode, const ScMatrixRef &pResults)
Tries to find a DDE link or creates a new, if not extant.
bool IsInDdeLinkUpdate() const
SfxBindings * GetViewBindings()
void RepaintRange(const ScRange &rRange)
ScInterpreterContext & GetNonThreadedContext() const
SC_DLLPUBLIC SvtScriptType GetStringScriptType(const OUString &rString)
SC_DLLPUBLIC OutputDevice * GetRefDevice()
void UpdateExternalRefLinks(weld::Window *pWin)
bool IsInLinkUpdate() const
SC_DLLPUBLIC const ScMatrix * GetDdeLinkResultMatrix(size_t nDdePos) const
Returns the result matrix of the specified DDE link.
bool HasLinkFormulaNeedingCheck() const
void SetInLinkUpdate(bool bSet)
SC_DLLPUBLIC SfxItemPool * GetEditPool() const
std::unique_ptr< ScExtDocOptions > pExtDocOptions
SC_DLLPUBLIC void SetNumberFormat(const ScAddress &rPos, sal_uInt32 nNumberFormat)
SC_DLLPUBLIC bool SetString(SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString &rString, const ScSetStringParam *pParam=nullptr)
SC_DLLPUBLIC OUString GetPageStyle(SCTAB nTab) const
std::unique_ptr< ScExternalRefManager > pExternalRefMgr
void SetPrinter(VclPtr< SfxPrinter > const &pNewPrinter)
static thread_local ScDocumentThreadSpecific maThreadSpecific
SC_DLLPUBLIC void CopyDdeLinks(ScDocument &rDestDoc) const
bool GetDdeLinkMode(size_t nDdePos, sal_uInt8 &rnMode) const
Returns the link mode of the specified DDE link.
void EnableIdle(bool bDo)
void SaveDdeLinks(SvStream &rStream) const
SfxObjectShell * GetDocumentShell() const
SC_DLLPUBLIC ScStyleSheetPool * GetStyleSheetPool() const
void HandleStuffAfterParallelCalculation(SCCOL nColStart, SCCOL nColEnd, SCROW nRow, size_t nLen, SCTAB nTab, ScInterpreter *pInterpreter)
void DeleteAreaLinksOnTab(SCTAB nTab)
VclPtr< VirtualDevice > mpVirtualDevice_100th_mm
SfxItemSet * GetPreviewFont()
bool IsThreadedGroupCalcInProgress() const
SC_DLLPUBLIC SvNumberFormatter * GetFormatTable() const
VirtualDevice * GetVirtualDevice_100th_mm()
sc::DocumentLinkManager & GetDocLinkManager()
std::unique_ptr< ScTemporaryChartLock > apTemporaryChartLock
bool GetNextMarkedCell(SCCOL &rCol, SCROW &rRow, SCTAB nTab, const ScMarkData &rMark)
void SetLinkFormulaNeedingCheck(bool bSet)
ScStyleSheet * GetPreviewCellStyle()
SC_DLLPUBLIC bool HasTable(SCTAB nTab) const
SC_DLLPUBLIC bool FindDdeLink(std::u16string_view rAppl, std::u16string_view rTopic, std::u16string_view rItem, sal_uInt8 nMode, size_t &rnDdePos)
Tries to find a DDE link with the specified connection data.
SfxPrinter * GetPrinter(bool bCreateIfNotExist=true)
SC_DLLPUBLIC sfx2::LinkManager * GetLinkManager()
std::unique_ptr< ScViewOptions > pViewOptions
SC_DLLPUBLIC const SfxPoolItem * GetAttr(SCCOL nCol, SCROW nRow, SCTAB nTab, sal_uInt16 nWhich) const
tools::Long GetNeededSize(SCCOL nCol, SCROW nRow, SCTAB nTab, OutputDevice *pDev, double nPPTX, double nPPTY, const Fraction &rZoomX, const Fraction &rZoomY, bool bWidth, bool bTotalSize=false, bool bInPrintTwips=false)
bool HasAreaLinks() const
SC_DLLPUBLIC const ScPatternAttr * GetPattern(SCCOL nCol, SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC const ScDocOptions & GetDocOptions() const
bool RenamePageStyleInUse(std::u16string_view rOld, const OUString &rNew)
bool GetDdeLinkData(size_t nDdePos, OUString &rAppl, OUString &rTopic, OUString &rItem) const
Returns the connection data of the specified DDE link.
void CalculateInColumnInThread(ScInterpreterContext &rContext, const ScRange &rCalcRange, unsigned nThisThread, unsigned nThreadsTotal)
void FillMatrix(ScMatrix &rMat, SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, svl::SharedStringPool *pPool=nullptr) const
bool IsImportingXML() const
SC_DLLPUBLIC SCTAB GetTableCount() const
std::unique_ptr< ScChartListenerCollection > pChartListenerCollection
static bool CheckWidthInvalidate(bool &bNumFormatChanged, const SfxItemSet &rNewAttrs, const SfxItemSet &rOldAttrs)
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
bool IsMultiMarked() const
bool IsCellMarked(SCCOL nCol, SCROW nRow, bool bNoSimple=false) const
Matrix data type that can store values of mixed types.
void GetDimensions(SCSIZE &rC, SCSIZE &rR) const
void RepaintRange(const ScRange &rRange)
static LanguageType GetOptDigitLanguage()
void SetStyleSheet(ScStyleSheet *pNewStyle, bool bClearDirectFormat=true)
void FillEditItemSet(SfxItemSet *pEditSet, const SfxItemSet *pCondSet=nullptr) const
Converts all Calc items contained in the own item set to edit engine items and puts them into pEditSe...
static void DeleteInterpretProgress()
void SetState(sal_uInt64 nVal, sal_uInt64 nNewRange=0)
static void CreateInterpretProgress(ScDocument *pDoc, bool bWait=true)
static ScRefUpdateRes Update(const ScDocument *pDoc, UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, SCCOL nDx, SCROW nDy, SCTAB nDz, SCCOL &theCol1, SCROW &theRow1, SCTAB &theTab1, SCCOL &theCol2, SCROW &theRow2, SCTAB &theTab2)
void FillMatrix(ScMatrix &rMat, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, svl::SharedStringPool *pPool) const
void CalculateInColumnInThread(ScInterpreterContext &rContext, SCCOL nColStart, SCCOL nColEnd, SCROW nRowStart, SCROW nRowEnd, unsigned nThisThread, unsigned nThreadsTotal)
void SetFormulaResults(SCCOL nCol, SCROW nRow, const double *pResults, size_t nLen)
void HandleStuffAfterParallelCalculation(SCCOL nColStart, SCCOL nColEnd, SCROW nRow, size_t nLen, ScInterpreter *pInterpreter)
SCCOL ClampToAllocatedColumns(SCCOL nCol) const
void Invalidate(sal_uInt16 nId)
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
css::uno::Reference< css::frame::XModel3 > GetModel() const
virtual void SetModified(bool bModified=true)
const OUString & GetName() const
SfxStyleFamily GetFamily() const
virtual SfxItemSet & GetItemSet()
static SAL_WARN_UNUSED_RESULT SfxViewFrame * Current()
SfxBindings & GetBindings()
static SAL_WARN_UNUSED_RESULT SfxViewFrame * GetFirst(const SfxObjectShell *pDoc=nullptr, bool bOnlyVisible=true)
virtual SfxObjectShell * GetObjectShell() override
SvStream & WriteUInt16(sal_uInt16 nUInt16)
sal_Int32 GetVersion() const
rtl_TextEncoding GetStreamCharSet() const
SvStream & ReadUInt16(sal_uInt16 &rUInt16)
sal_uInt64 remainingSize()
static bool IsCTLFontEnabled()
reference_type * get() const
static VclPtr< reference_type > Create(Arg &&... arg)
const sfx2::LinkManager * getExistingLinkManager() const
sfx2::LinkManager * getLinkManager(bool bCreate=true)
static bool GetDisplayNames(const SvBaseLink *, OUString *pType, OUString *pFile=nullptr, OUString *pLink=nullptr, OUString *pFilter=nullptr)
void InsertDDELink(SvBaseLink *, const OUString &rServer, std::u16string_view rTopic, std::u16string_view rItem)
void Remove(SvBaseLink const *pLink)
const SvBaseLinks & GetLinks() const
const OUString & getString() const
OUString transliterate(const OUString &rStr, sal_Int32 nStart, sal_Int32 nLen) const
bool needLanguageForTheMode() const
const sal_uInt8 SC_DDE_IGNOREMODE
const sal_uInt8 SC_DDE_DEFAULT
EEHorizontalTextDirection
#define LANGUAGE_DONTKNOW
#define SAL_WARN(area, stream)
Reference< XComponentContext > getProcessComponentContext()
std::vector< tools::SvRef< SvBaseLink > > SvBaseLinks
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
@ UR_NOTHING
Reference not affected, no change at all.
OUString ScResId(TranslateId aId)
constexpr TypedWhichId< SfxUInt16Item > ATTR_PAGE_SCALE(175)
constexpr TypedWhichId< SvxLanguageItem > ATTR_CTL_FONT_LANGUAGE(120)
constexpr TypedWhichId< SvxLanguageItem > ATTR_LANGUAGE_FORMAT(147)
constexpr sal_uInt16 ATTR_PATTERN_START(100)
constexpr TypedWhichId< SfxUInt32Item > ATTR_VALUE_FORMAT(146)
constexpr TypedWhichId< SvxFrameDirectionItem > ATTR_WRITINGDIR(138)
constexpr TypedWhichId< SvxLanguageItem > ATTR_FONT_LANGUAGE(110)
constexpr TypedWhichId< SfxUInt16Item > ATTR_PAGE_SCALETOPAGES(176)
constexpr sal_uInt16 ATTR_PATTERN_END(155)
constexpr TypedWhichId< SvxLanguageItem > ATTR_CJK_FONT_LANGUAGE(115)
ScInterpreterContext * pContext
std::unique_ptr< ScRecursionHelper > xRecursionHelper
std::vector< DelayedSetNumberFormat > maDelayedSetNumberFormat
This is very similar to ScCellValue, except that it references the original value instead of copying ...
const EditTextObject * getEditText() const
const svl::SharedString * getSharedString() const
Store parameters used in the ScDocument::SetString() method.
void setTextInput()
Call this whenever you need to unconditionally set input as text, no matter what the input is.
::boost::intrusive_ptr< ScMatrix > ScMatrixRef