33#include <osl/diagnose.h>
42#include <document.hxx>
51#include <progress.hxx>
67 pUndoDoc (
std::move(pNewUndoDoc) ),
88 return ScResId( STR_UNDO_DELETECONTENTS );
112 sal_uInt16 nExtFlags = 0;
198 pViewTarget->GetViewShell()->DeleteContents(
nFlags );
213 aRange ( nStartX, nStartY, nStartZ, nEndX, nEndY, nEndZ ),
215 pUndoDoc (
std::move(pNewUndoDoc) ),
219 bMulti ( bNewMulti ),
220 bSkipEmpty ( bSkip ),
232 return ScResId( STR_FILL_TAB );
246 if (rTab >= nTabCount)
275 if (rTab >= nTabCount)
352 aRange ( nStartX, nStartY, nStartZ, nEndX, nEndY, nEndZ ),
354 pUndoDoc (
std::move(pNewUndoDoc) ),
397 sal_uInt16 nExtFlags = 0;
432 ScAddress aPos(pItem->GetCol(), pItem->GetRow(), pItem->GetTab());
438 if (pItem->GetOldData())
439 rDoc.
SetEditText(aPos, *pItem->GetOldData(),
nullptr);
445 if (pItem->GetNewData())
446 rDoc.
SetEditText(aPos, *pItem->GetNewData(),
nullptr);
488 double fNewStartValue,
double fNewStepValue,
double fNewMaxValue )
490 aSource ( rSourceArea ),
492 pUndoDoc (
std::move(pNewUndoDoc) ),
493 eFillDir ( eNewFillDir ),
494 eFillCmd ( eNewFillCmd ),
495 eFillDateCmd ( eNewFillDateCmd ),
496 fStartValue ( fNewStartValue ),
497 fStepValue ( fNewStepValue ),
498 fMaxValue ( fNewMaxValue )
509 return ScResId( STR_UNDO_AUTOFILL );
531 if (rTab >= nTabCount)
537 sal_uInt16 nExtFlags = 0;
601 ScResId(STR_FILL_SERIES_PROGRESS), nProgCount,
true );
639 bool bMergeContents,
ScDocumentUniquePtr pUndoDoc, std::unique_ptr<SdrUndoAction> pDrawUndo)
641 , maOption(
std::move(aOption))
642 , mbMergeContents(bMergeContents)
643 , mxUndoDoc(
std::move(pUndoDoc))
644 , mpDrawUndo(
std::move(pDrawUndo))
655 return ScResId( STR_UNDO_MERGE );
723 bool bDidPaint =
false;
770 const ScMarkData& rMark,
bool bNewSize, sal_uInt16 nNewFormatNo )
772 pUndoDoc (
std::move(pNewUndoDoc) ),
775 nFormatNo ( nNewFormatNo )
785 return ScResId( STR_UNDO_AUTOFORMAT );
813 pUndoDoc->CopyToDocument( nStartX, 0, 0, nEndX, rDoc.
MaxRow(), nTabCount-1,
815 pUndoDoc->CopyToDocument( 0, nStartY, 0, rDoc.
MaxCol(), nEndY, nTabCount-1,
864 for (
SCTAB nTab=nStartZ; nTab<=nEndZ; nTab++)
872 for (
SCROW nRow=nStartY; nRow<=nEndY; nRow++)
875 bool bHidden = rDoc.
RowHidden(nRow, nTab);
882 for (
SCCOL nCol=nStartX; nCol<=nEndX; nCol++)
886 pVirtDev,
nPPTX,
nPPTY, aZoomX, aZoomY,
false,
889 rDoc.
ShowCol( nCol, nTab,
true );
910 pViewTarget->GetViewShell()->AutoFormat(
nFormatNo );
923 aCursorPos ( nCurX, nCurY, nCurZ ),
925 aUndoStr (
std::move( aNewUndoStr )),
926 pUndoDoc (
std::move(pNewUndoDoc) )
959 pChangeTrack->
Append( pContent );
969 return ScResId( STR_UNDO_REPLACE );
983 OSL_ENSURE(
pSearchItem->GetCommand() == SvxSearchCmd::REPLACE_ALL,
984 "ScUndoReplace:: Wrong Mode");
997 nUndoFlags,
false, rDoc,
nullptr, false );
1001 pSearchItem->GetCommand() == SvxSearchCmd::REPLACE)
1003 OUString aTempStr =
pSearchItem->GetSearchString();
1016 else if (
pSearchItem->GetCellType() == SvxSearchCellType::NOTE)
1019 OSL_ENSURE( pNote,
"ScUndoReplace::Undo - cell does not contain a note" );
1029 if (
aUndoStr.indexOf(
'\n') != -1 )
1070 pSearchItem->GetCommand() == SvxSearchCmd::REPLACE)
1089 pViewTarget->GetViewShell()->SearchAndReplace(
pSearchItem.get(),
true,
false );
1107 aRange ( nStartX, nStartY, nStartZ, nEndX, nEndY, nEndZ ),
1108 pUndoDoc (
std::move(pNewUndoDoc) ),
1109 theFormulaCell ( rFormulaCell ),
1110 theFormulaEnd ( rFormulaEnd ),
1111 theRowCell ( rRowCell ),
1112 theColCell ( rColCell ),
1123 return ScResId( STR_UNDO_TABOP );
1132 sal_uInt16 nExtFlags = 0;
1157 pViewShell->
TabOp( aParam,
false);
1178 aCursorPos( nCurX, nCurY, nCurZ ),
1179 pUndoDoc(
std::move(pNewUndoDoc) ),
1180 aNewCursorPos( nNewX, nNewY, nNewZ ),
1181 pRedoDoc(
std::move(pNewRedoDoc) ),
1182 maConvParam(
std::move( aConvParam ))
1204 OSL_FAIL(
"ScUndoConversion::SetChangeTrack: no UndoDoc" );
1220 default: OSL_FAIL(
"ScUndoConversion::GetComment - unknown conversion type" );
1245 pViewData->GetActiveWin()->ResetAutoSpell();
1250 OSL_FAIL(
"no Un-/RedoDoc for Un-/RedoSpelling");
1275 pViewTarget->GetViewShell()->DoSheetConversion(
maConvParam );
1288pUndoDoc (
std::move(pNewUndoDoc) ),
1289pRedoDoc (
std::move(pNewRedoDoc) ),
1290aRange ( aMarkRange ),
1305 return ScResId( STR_UNDO_ENTERDATA );
1361 pViewTarget->GetViewShell()->DoRefConversion();
1372 , xUndoDoc(
std::move(pNewUndoDoc))
1378 return ScResId( STR_UNDO_UPDATELINK );
1399 xRedoDoc->InitUndo(rDoc, nTab, nTab,
true,
true);
1401 xRedoDoc->AddUndoTab(nTab, nTab,
true,
true);
1419 xUndoDoc->GetLinkRefreshDelay(nTab) );
1431 OSL_ENSURE(
xRedoDoc,
"No RedoDoc for ScUndoRefreshLink::Redo");
1450 xRedoDoc->GetLinkRefreshDelay(nTab) );
1471 std::u16string_view rFlt, std::u16string_view rOpt,
1472 std::u16string_view rSrc,
const ScRange& rDest )
1474 const ::sfx2::SvBaseLinks& rLinks = pLinkManager->
GetLinks();
1479 if (
auto pAreaLink =
dynamic_cast<ScAreaLink*
>( pBase))
1480 if ( pAreaLink->IsEqual( rDoc, rFlt, rOpt, rSrc, rDest ) )
1484 OSL_FAIL(
"ScAreaLink not found");
1490 OUString aFlt, OUString aOpt,
1491 OUString aArea,
const ScRange& rDestRange,
1494 aDocName (
std::move( aDoc )),
1495 aFltName (
std::move( aFlt )),
1496 aOptions (
std::move( aOpt )),
1497 aAreaName (
std::move( aArea )),
1498 aRange ( rDestRange ),
1499 nRefreshDelay ( nRefresh )
1509 return ScResId( STR_UNDO_INSERTAREALINK );
1532 pLink->SetInCreate(
true );
1536 pLink->SetInCreate(
false );
1552 OUString aDoc, OUString aFlt, OUString aOpt,
1553 OUString aArea,
const ScRange& rDestRange,
1556 aDocName (
std::move( aDoc )),
1557 aFltName (
std::move( aFlt )),
1558 aOptions (
std::move( aOpt )),
1559 aAreaName (
std::move( aArea )),
1560 aRange ( rDestRange ),
1561 nRefreshDelay ( nRefresh )
1571 return ScResId( STR_UNDO_REMOVELINK );
1581 pLink->SetInCreate(
true );
1585 pLink->SetInCreate(
false );
1614 OUString aOldD, OUString aOldF, OUString aOldO,
1616 OUString aNewD, OUString aNewF, OUString aNewO,
1620 aOldDoc (
std::move( aOldD )),
1621 aOldFlt (
std::move( aOldF )),
1622 aOldOpt (
std::move( aOldO )),
1623 aOldArea (
std::move( aOldA )),
1624 aOldRange ( rOldR ),
1625 aNewDoc (
std::move( aNewD )),
1626 aNewFlt (
std::move( aNewF )),
1627 aNewOpt (
std::move( aNewO )),
1628 aNewArea (
std::move( aNewA )),
1629 aNewRange ( rNewR ),
1630 xUndoDoc (
std::move(pUndo) ),
1631 xRedoDoc (
std::move(pRedo) ),
1632 nOldRefresh ( nOldRD ),
1633 nNewRefresh ( nNewRD ),
1634 bWithInsert ( bDoInsert )
1641 return ScResId( STR_UNDO_UPDATELINK );
SfxApplication * SfxGetpApp()
std::unique_ptr< EditTextObject > CreateTextObject()
void SetOldValue(const ScCellValue &rCell, const ScDocument *pFromDoc, ScDocument *pToDoc, sal_uLong nFormat)
void SetNewValue(const ScCellValue &rCell, ScDocument *pDoc)
void Append(ScChangeAction *pAppend, sal_uLong nAction)
void AppendContentsIfInRefDoc(ScDocument &rRefDoc, sal_uLong &nStartAction, sal_uLong &nEndAction)
void AppendContentRange(const ScRange &rRange, ScDocument *pRefDoc, sal_uLong &nStartAction, sal_uLong &nEndAction, ScChangeActionClipMode eMode=SC_CACM_NONE)
sal_uLong GetActionMax() const
SC_DLLPUBLIC void Undo(sal_uLong nStartAction, sal_uLong nEndAction, bool bMerge=false)
Parameters for conversion.
ScConversionType GetType() const
const ScDocument & GetDocument() const
void UpdatePaintExt(sal_uInt16 &rExtFlags, SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab, SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab)
void PostPaint(SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab, SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab, PaintPartFlags nPart, sal_uInt16 nExtFlags=0)
static ScViewData * GetViewData()
bool AdjustRowHeight(SCROW nStartRow, SCROW nEndRow, SCTAB nTab)
merge with docfunc
void SetEmptyCell(const ScAddress &rPos)
SC_DLLPUBLIC bool SetEditText(const ScAddress &rPos, std::unique_ptr< EditTextObject > pEditText)
This method manages the lifecycle of the passed edit text object.
ScSheetLimits & GetSheetLimits() const
SC_DLLPUBLIC OUString GetLinkTab(SCTAB nTab) const
SC_DLLPUBLIC void Fill(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScProgress *pProgress, const ScMarkData &rMark, sal_uInt64 nFillCount, FillDir eFillDir=FILL_TO_BOTTOM, FillCmd eFillCmd=FILL_LINEAR, FillDateCmd eFillDateCmd=FILL_DAY, double nStepValue=1.0, double nMaxValue=1E307)
SC_DLLPUBLIC bool ExtendMerge(SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW &rEndRow, SCTAB nTab, bool bRefresh=false)
SC_DLLPUBLIC Color GetTabBgColor(SCTAB nTab) const
SC_DLLPUBLIC SCCOL MaxCol() const
SC_DLLPUBLIC void DoMergeContents(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
OUString GetLinkOpt(SCTAB nTab) const
SC_DLLPUBLIC bool SetOptimalHeight(sc::RowHeightContext &rCxt, SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bApi)
void FillTabMarked(SCTAB nSrcTab, const ScMarkData &rMark, InsertDeleteFlags nFlags, ScPasteFunc nFunction, bool bSkipEmpty, bool bAsLink)
SC_DLLPUBLIC ScDocumentPool * GetPool()
SC_DLLPUBLIC SCROW MaxRow() const
SC_DLLPUBLIC ScFieldEditEngine & GetEditEngine()
SC_DLLPUBLIC void DoMerge(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, bool bDeleteCaptions=true)
void BroadcastCells(const ScRange &rRange, SfxHintId nHint, bool bBroadcastSingleBroadcasters=true)
SC_DLLPUBLIC ScPostIt * GetNote(const ScAddress &rPos)
SC_DLLPUBLIC void DeleteSelection(InsertDeleteFlags nDelFlag, const ScMarkData &rMark, bool bBroadcast=true)
void RemoveMerge(SCCOL nCol, SCROW nRow, SCTAB nTab)
SC_DLLPUBLIC void ShowCol(SCCOL nCol, SCTAB nTab, bool bShow)
SC_DLLPUBLIC bool SetString(SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString &rString, const ScSetStringParam *pParam=nullptr)
void ReplaceStyle(const SvxSearchItem &rSearchItem, SCCOL nCol, SCROW nRow, SCTAB nTab, const ScMarkData &rMark)
void DeleteSelectionTab(SCTAB nTab, InsertDeleteFlags nDelFlag, const ScMarkData &rMark)
SC_DLLPUBLIC void DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, InsertDeleteFlags nDelFlag, bool bBroadcast=true, sc::ColumnSpanSet *pBroadcastSpans=nullptr)
SC_DLLPUBLIC void SetDrawPageSize(SCTAB nTab)
SC_DLLPUBLIC void ApplySelectionPattern(const ScPatternAttr &rAttr, const ScMarkData &rMark, ScEditDataArray *pDataArray=nullptr, bool *pIsChanged=nullptr)
sal_uInt16 GetOptimalColWidth(SCCOL nCol, SCTAB nTab, OutputDevice *pDev, double nPPTX, double nPPTY, const Fraction &rZoomX, const Fraction &rZoomY, bool bFormula, const ScMarkData *pMarkData=nullptr, const ScColWidthParam *pParam=nullptr)
SC_DLLPUBLIC bool RowHidden(SCROW nRow, SCTAB nTab, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) const
SC_DLLPUBLIC CRFlags GetRowFlags(SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC ScLinkMode GetLinkMode(SCTAB nTab) const
SC_DLLPUBLIC bool HasAttrib(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, HasAttrFlags nMask) const
void CopyToDocument(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, InsertDeleteFlags nFlags, bool bMarked, ScDocument &rDestDoc, const ScMarkData *pMarks=nullptr, bool bColRowFlags=true)
SC_DLLPUBLIC void SetValue(SCCOL nCol, SCROW nRow, SCTAB nTab, const double &rVal)
void ApplySelectionFrame(const ScMarkData &rMark, const SvxBoxItem &rLineOuter, const SvxBoxInfoItem *pLineInner)
void FitBlock(const ScRange &rOld, const ScRange &rNew, bool bClear=true)
SC_DLLPUBLIC void ApplyAttr(SCCOL nCol, SCROW nRow, SCTAB nTab, const SfxPoolItem &rAttr)
SfxObjectShell * GetDocumentShell() const
sal_uLong GetLinkRefreshDelay(SCTAB nTab) const
void SetLink(SCTAB nTab, ScLinkMode nMode, const OUString &rDoc, const OUString &rFilter, const OUString &rOptions, const OUString &rTabName, sal_uLong nRefreshDelay)
SC_DLLPUBLIC void SetRowFlags(SCROW nRow, SCTAB nTab, CRFlags nNewFlags)
SC_DLLPUBLIC bool ColHidden(SCCOL nCol, SCTAB nTab, SCCOL *pFirstCol=nullptr, SCCOL *pLastCol=nullptr) const
void AutoFormat(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, sal_uInt16 nFormatNo, const ScMarkData &rMark)
SC_DLLPUBLIC void DeleteAreaTab(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCTAB nTab, InsertDeleteFlags nDelFlag)
SC_DLLPUBLIC OUString GetLinkDoc(SCTAB nTab) const
SC_DLLPUBLIC void SetColWidth(SCCOL nCol, SCTAB nTab, sal_uInt16 nNewWidth)
ScChangeTrack * GetChangeTrack() const
SC_DLLPUBLIC CellType GetCellType(SCCOL nCol, SCROW nRow, SCTAB nTab) const
SC_DLLPUBLIC sfx2::LinkManager * GetLinkManager()
SC_DLLPUBLIC void SetTabBgColor(SCTAB nTab, const Color &rColor)
OUString GetLinkFlt(SCTAB nTab) const
SC_DLLPUBLIC SCTAB GetTableCount() const
void SetTextCurrentDefaults(const EditTextObject &rTextObject)
SetText and apply defaults already set.
static SC_DLLPUBLIC double nScreenPPTX
Horizontal pixel per twips factor.
static SC_DLLPUBLIC double nScreenPPTY
Vertical pixel per twips factor.
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
void SelectOneTable(SCTAB nTab)
bool IsMultiMarked() const
bool GetTableSelect(SCTAB nTab) const
void SetMarkArea(const ScRange &rRange)
Additional class containing cell annotation data.
void SetText(const ScAddress &rPos, const OUString &rText)
Changes the caption text of this note.
void BroadcastChanges(const ScRange &rRange)
static void ShowTable(SCTAB nTab)
bool SetViewMarkData(const ScMarkData &rMarkData)
static ScTabViewShell * GetActiveViewShell()
void DoneBlockMode(bool bContinue=false)
SC_DLLPUBLIC void MoveCursorAbs(SCCOL nCurX, SCROW nCurY, ScFollowMode eMode, bool bShift, bool bControl, bool bKeepOld=false, bool bKeepSel=false)
ScViewData & GetViewData()
SC_DLLPUBLIC void CellContentChanged()
SC_DLLPUBLIC void SetTabNo(SCTAB nTab, bool bNew=false, bool bExtendSelection=false, bool bSameTabButMoved=false)
ScDocumentUniquePtr pUndoDoc
sal_uLong nEndChangeAction
ScUndoAutoFill(ScDocShell *pNewDocShell, const ScRange &rRange, const ScRange &rSourceArea, ScDocumentUniquePtr pNewUndoDoc, const ScMarkData &rMark, FillDir eNewFillDir, FillCmd eNewFillCmd, FillDateCmd eNewFillDateCmd, double fNewStartValue, double fNewStepValue, double fNewMaxValue)
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual void Redo() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual OUString GetComment() const override
virtual void Undo() override
virtual ~ScUndoAutoFill() override
sal_uLong nStartChangeAction
ScDocumentUniquePtr pRedoDoc
void DoChange(ScDocument *pRefDoc, const ScAddress &rCursorPos)
Conversion type and parameters.
ScDocumentUniquePtr pUndoDoc
virtual void Undo() override
virtual OUString GetComment() const override
sal_uLong nStartChangeAction
ScUndoConversion(ScDocShell *pNewDocShell, const ScMarkData &rMark, SCCOL nCurX, SCROW nCurY, SCTAB nCurZ, ScDocumentUniquePtr pNewUndoDoc, SCCOL nNewX, SCROW nNewY, SCTAB nNewZ, ScDocumentUniquePtr pNewRedoDoc, ScConversionParam aConvParam)
sal_uLong nEndChangeAction
ScConversionParam maConvParam
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Redo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual ~ScUndoConversion() override
void DoChange(const bool bUndo)
sal_uLong nStartChangeAction
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
ScDocumentUniquePtr pUndoDoc
virtual void Redo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
std::shared_ptr< DataSpansType > mpDataSpans
virtual void Undo() override
virtual ~ScUndoDeleteContents() override
sal_uLong nEndChangeAction
std::unique_ptr< SdrUndoAction > pDrawUndo
virtual OUString GetComment() const override
void SetDataSpans(const std::shared_ptr< DataSpansType > &pSpans)
ScUndoDeleteContents(ScDocShell *pNewDocShell, const ScMarkData &rMark, const ScRange &rRange, ScDocumentUniquePtr &&pNewUndoDoc, bool bNewMulti, InsertDeleteFlags nNewFlags, bool bObjects)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScDocumentUniquePtr pUndoDoc
virtual ~ScUndoFillTable() override
virtual void Undo() override
virtual void Redo() override
ScUndoFillTable(ScDocShell *pNewDocShell, const ScMarkData &rMark, SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, ScDocumentUniquePtr pNewUndoDoc, bool bNewMulti, SCTAB nSrc, InsertDeleteFlags nFlg, ScPasteFunc nFunc, bool bSkip, bool bLink)
void DoChange(const bool bUndo)
sal_uLong nStartChangeAction
virtual OUString GetComment() const override
sal_uLong nEndChangeAction
virtual void Undo() override
virtual OUString GetComment() const override
virtual void Redo() override
ScUndoInsertAreaLink(ScDocShell *pShell, OUString aDocName, OUString aFltName, OUString aOptions, OUString aAreaName, const ScRange &rDestRange, sal_uLong nRefreshDelay)
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual ~ScUndoInsertAreaLink() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual ~ScUndoMerge() override
ScCellMergeOption maOption
virtual void Redo() override
ScDocumentUniquePtr mxUndoDoc
virtual OUString GetComment() const override
ScUndoMerge(ScDocShell *pNewDocShell, ScCellMergeOption aOption, bool bMergeContents, ScDocumentUniquePtr pUndoDoc, std::unique_ptr< SdrUndoAction > pDrawUndo)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
void DoChange(bool bUndo) const
virtual void Undo() override
std::unique_ptr< SdrUndoAction > mpDrawUndo
virtual void Redo() override
virtual OUString GetComment() const override
sal_uLong nEndChangeAction
ScDocumentUniquePtr pUndoDoc
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScDocumentUniquePtr pRedoDoc
void DoChange(ScDocument *pRefDoc)
virtual void Undo() override
sal_uLong nStartChangeAction
ScUndoRefConversion(ScDocShell *pNewDocShell, const ScRange &aMarkRange, const ScMarkData &rMark, ScDocumentUniquePtr pNewUndoDoc, ScDocumentUniquePtr pNewRedoDoc, bool bNewMulti)
virtual ~ScUndoRefConversion() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual void Redo() override
ScUndoRefreshLink(ScDocShell *pNewDocShell, ScDocumentUniquePtr pNewUndoDoc)
virtual void Undo() override
virtual OUString GetComment() const override
ScDocumentUniquePtr xRedoDoc
ScDocumentUniquePtr xUndoDoc
virtual ~ScUndoRemoveAreaLink() override
virtual void Redo() override
virtual OUString GetComment() const override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScUndoRemoveAreaLink(ScDocShell *pShell, OUString aDocName, OUString aFltName, OUString aOptions, OUString aAreaName, const ScRange &rDestRange, sal_uLong nRefreshDelay)
virtual void Undo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual OUString GetComment() const override
virtual void Redo() override
std::unique_ptr< SvxSearchItem > pSearchItem
sal_uLong nStartChangeAction
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual ~ScUndoReplace() override
ScDocumentUniquePtr pUndoDoc
ScUndoReplace(ScDocShell *pNewDocShell, const ScMarkData &rMark, SCCOL nCurX, SCROW nCurY, SCTAB nCurZ, OUString aNewUndoStr, ScDocumentUniquePtr pNewUndoDoc, const SvxSearchItem *pItem)
virtual void Undo() override
sal_uLong nEndChangeAction
virtual void Redo() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
ScUndoSelectionAttr(ScDocShell *pNewDocShell, const ScMarkData &rMark, SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, ScDocumentUniquePtr pNewUndoDoc, bool bNewMulti, const ScPatternAttr *pNewApply, const SvxBoxItem *pNewOuter=nullptr, const SvxBoxInfoItem *pNewInner=nullptr, const ScRange *pRangeCover=nullptr)
SvxBoxInfoItem * pLineInner
virtual OUString GetComment() const override
virtual ~ScUndoSelectionAttr() override
std::unique_ptr< ScEditDataArray > mpDataArray
ScPatternAttr * pApplyPattern
virtual void Undo() override
void DoChange(const bool bUndo)
ScDocumentUniquePtr pUndoDoc
void ChangeEditData(const bool bUndo)
ScEditDataArray * GetDataArray()
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual OUString GetComment() const override
virtual ~ScUndoTabOp() override
ScTabOpParam::Mode meMode
ScUndoTabOp(ScDocShell *pNewDocShell, SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, ScDocumentUniquePtr pNewUndoDoc, const ScRefAddress &rFormulaCell, const ScRefAddress &rFormulaEnd, const ScRefAddress &rRowCell, const ScRefAddress &rColCell, ScTabOpParam::Mode eMode)
virtual void Redo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScDocumentUniquePtr pUndoDoc
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
ScRefAddress theFormulaEnd
ScRefAddress theFormulaCell
virtual void Undo() override
void DoChange(const bool bUndo) const
virtual void Undo() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Redo() override
ScDocumentUniquePtr xRedoDoc
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScUndoUpdateAreaLink(ScDocShell *pShell, OUString aOldD, OUString aOldF, OUString aOldO, OUString aOldA, const ScRange &rOldR, sal_uLong nOldRD, OUString aNewD, OUString aNewF, OUString aNewO, OUString aNewA, const ScRange &rNewR, sal_uLong nNewRD, ScDocumentUniquePtr pUndo, ScDocumentUniquePtr pRedo, bool bDoInsert)
ScDocumentUniquePtr xUndoDoc
virtual OUString GetComment() const override
static void PaintMore(ScDocShell *pDocShell, const ScRange &rRange)
static void MarkSimpleBlock(const ScDocShell *pDocShell, SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ)
Mark Block (invisible - has to be repainted)
const Fraction & GetZoomY() const
const Fraction & GetZoomX() const
void TabOp(const ScTabOpParam &rParam, bool bRecord=true)
SC_DLLPUBLIC void FillSimple(FillDir eDir)
void FillSeries(FillDir eDir, FillCmd eCmd, FillDateCmd eDateCmd, double fStart, double fStep, double fMax)
void ApplyPatternLines(const ScPatternAttr &rAttr, const SvxBoxItem &rNewOuter, const SvxBoxInfoItem *pNewInner)
void ApplySelectionPattern(const ScPatternAttr &rAttr, bool bCursorOnly=false)
bool MergeCells(bool bApi, bool &rDoContents, bool bCenter)
bool AdjustBlockHeight(bool bPaint=true, ScMarkData *pMarkData=nullptr)
bool SearchAndReplace(const SvxSearchItem *pSearchItem, bool bAddUndo, bool bIsApi)
bool AdjustRowHeight(SCROW nStartRow, SCROW nEndRow, bool bApi)
const T & Put(std::unique_ptr< T > xItem, sal_uInt16 nWhich=0)
void Remove(const SfxPoolItem &)
SfxViewShell * GetViewShell() const
void InsertFileLink(sfx2::SvBaseLink &, SvBaseLinkObjectType nFileType, std::u16string_view rFileNm, const OUString *pFilterNm=nullptr, const OUString *pRange=nullptr)
void Remove(SvBaseLink const *pLink)
const SvBaseLinks & GetLinks() const
std::unique_ptr< ScDocument, o3tl::default_delete< ScDocument > > ScDocumentUniquePtr
@ SPARKLINES
Sheet / outlining (grouping) information.
@ NOTE
Strings (and string results if InsertDeleteFlags::FORMULA is not set).
@ NOCAPTIONS
Sparklines in a cell.
@ EDITATTR
Drawing objects.
@ AUTOFILL
Copy flags for auto/series fill functions: do not touch notes and drawing objects.
@ STRING
Dates, times, datetime values.
@ ATTRIB
Internal use only (d&d undo): do not delete caption objects of cell notes.
constexpr sal_Int32 STD_EXTRA_WIDTH
void NotifyIfChangesListeners(const ScDocShell &rDocShell, const ScRange &rRange, const OUString &rType=OUString("cell-change"))
OUString ScResId(TranslateId aId)
constexpr TypedWhichId< SvxHorJustifyItem > ATTR_HOR_JUSTIFY(129)
constexpr TypedWhichId< SvxVerJustifyItem > ATTR_VER_JUSTIFY(132)
@ SC_CONVERSION_CHINESE_TRANSL
Hangul-Hanja converter.
@ SC_CONVERSION_SPELLCHECK
@ SC_CONVERSION_HANGULHANJA
Spell checker.
ScRange getSingleRange(SCTAB nTab) const
::std::set< SCTAB > maTabs
Store arbitrary cell value of any kind.
void assign(const ScDocument &rDoc, const ScAddress &rPos)
Take cell value from specified position in specified document.
Parameter for data table aka multiple operations.
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
static ScAreaLink * lcl_FindAreaLink(const sfx2::LinkManager *pLinkManager, std::u16string_view rDoc, std::u16string_view rFlt, std::u16string_view rOpt, std::u16string_view rSrc, const ScRange &rDest)
std::unique_ptr< SdrUndoAction > GetSdrUndoAction(ScDocument *pDoc)
void DoSdrUndoAction(SdrUndoAction *pUndoAction, ScDocument *pDoc)
void RedoSdrUndoAction(SdrUndoAction *pUndoAction)