32 #include <osl/diagnose.h>
35 #include <globstr.hrc>
41 #include <document.hxx>
50 #include <progress.hxx>
66 pUndoDoc (
std::move(pNewUndoDoc) ),
87 return ScResId( STR_UNDO_DELETECONTENTS );
111 sal_uInt16 nExtFlags = 0;
196 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
197 pViewTarget->GetViewShell()->DeleteContents(
nFlags );
212 aRange ( nStartX, nStartY, nStartZ, nEndX, nEndY, nEndZ ),
214 pUndoDoc (
std::move(pNewUndoDoc) ),
218 bMulti ( bNewMulti ),
219 bSkipEmpty ( bSkip ),
231 return ScResId( STR_FILL_TAB );
245 if (rTab >= nTabCount)
274 if (rTab >= nTabCount)
332 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
351 aRange ( nStartX, nStartY, nStartZ, nEndX, nEndY, nEndZ ),
353 pUndoDoc (
std::move(pNewUndoDoc) ),
396 sal_uInt16 nExtFlags = 0;
431 ScAddress aPos(pItem->GetCol(), pItem->GetRow(), pItem->GetTab());
437 if (pItem->GetOldData())
438 rDoc.
SetEditText(aPos, *pItem->GetOldData(),
nullptr);
444 if (pItem->GetNewData())
445 rDoc.
SetEditText(aPos, *pItem->GetNewData(),
nullptr);
468 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
487 double fNewStartValue,
double fNewStepValue,
double fNewMaxValue )
489 aSource ( rSourceArea ),
491 pUndoDoc (
std::move(pNewUndoDoc) ),
492 eFillDir ( eNewFillDir ),
493 eFillCmd ( eNewFillCmd ),
494 eFillDateCmd ( eNewFillDateCmd ),
495 fStartValue ( fNewStartValue ),
496 fStepValue ( fNewStepValue ),
497 fMaxValue ( fNewMaxValue )
508 return ScResId( STR_UNDO_AUTOFILL );
530 if (rTab >= nTabCount)
536 sal_uInt16 nExtFlags = 0;
598 nProgCount *= nCount;
600 ScResId(STR_FILL_SERIES_PROGRESS), nProgCount, true );
621 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
638 bool bMergeContents,
ScDocumentUniquePtr pUndoDoc, std::unique_ptr<SdrUndoAction> pDrawUndo)
641 , mbMergeContents(bMergeContents)
642 , mxUndoDoc(
std::move(pUndoDoc))
643 , mpDrawUndo(
std::move(pDrawUndo))
654 return ScResId( STR_UNDO_MERGE );
722 bool bDidPaint =
false;
754 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
769 const ScMarkData& rMark,
bool bNewSize, sal_uInt16 nNewFormatNo )
771 pUndoDoc (
std::move(pNewUndoDoc) ),
774 nFormatNo ( nNewFormatNo )
784 return ScResId( STR_UNDO_AUTOFORMAT );
812 pUndoDoc->CopyToDocument( nStartX, 0, 0, nEndX, rDoc.
MaxRow(), nTabCount-1,
814 pUndoDoc->CopyToDocument( 0, nStartY, 0, rDoc.MaxCol(), nEndY, nTabCount-1,
863 for (
SCTAB nTab=nStartZ; nTab<=nEndZ; nTab++)
867 aDestMark.SetMarkArea(
ScRange( nStartX, nStartY, nTab, nEndX, nEndY, nTab ) );
868 aDestMark.MarkToMulti();
871 for (
SCROW nRow=nStartY; nRow<=nEndY; nRow++)
874 bool bHidden = rDoc.
RowHidden(nRow, nTab);
876 rDoc.
SetRowFlags( nRow, nTab, nOld & ~CRFlags::ManualSize );
881 for (
SCCOL nCol=nStartX; nCol<=nEndX; nCol++)
885 pVirtDev, nPPTX, nPPTY, aZoomX, aZoomY,
false,
888 rDoc.
ShowCol( nCol, nTab,
true );
908 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
909 pViewTarget->GetViewShell()->AutoFormat(
nFormatNo );
922 aCursorPos ( nCurX, nCurY, nCurZ ),
924 aUndoStr ( rNewUndoStr ),
925 pUndoDoc (
std::move(pNewUndoDoc) )
958 pChangeTrack->
Append( pContent );
968 return ScResId( STR_UNDO_REPLACE );
982 OSL_ENSURE(
pSearchItem->GetCommand() == SvxSearchCmd::REPLACE_ALL,
983 "ScUndoReplace:: Wrong Mode");
996 nUndoFlags,
false, rDoc,
nullptr,
false );
1000 pSearchItem->GetCommand() == SvxSearchCmd::REPLACE)
1002 OUString aTempStr =
pSearchItem->GetSearchString();
1015 else if (
pSearchItem->GetCellType() == SvxSearchCellType::NOTE)
1018 OSL_ENSURE( pNote,
"ScUndoReplace::Undo - cell does not contain a note" );
1028 if (
aUndoStr.indexOf(
'\n') != -1 )
1069 pSearchItem->GetCommand() == SvxSearchCmd::REPLACE)
1087 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
1088 pViewTarget->GetViewShell()->SearchAndReplace(
pSearchItem.get(),
true,
false );
1106 aRange ( nStartX, nStartY, nStartZ, nEndX, nEndY, nEndZ ),
1107 pUndoDoc (
std::move(pNewUndoDoc) ),
1108 theFormulaCell ( rFormulaCell ),
1109 theFormulaEnd ( rFormulaEnd ),
1110 theRowCell ( rRowCell ),
1111 theColCell ( rColCell ),
1122 return ScResId( STR_UNDO_TABOP );
1131 sal_uInt16 nExtFlags = 0;
1156 pViewShell->
TabOp( aParam,
false);
1177 aCursorPos( nCurX, nCurY, nCurZ ),
1178 pUndoDoc(
std::move(pNewUndoDoc) ),
1179 aNewCursorPos( nNewX, nNewY, nNewZ ),
1180 pRedoDoc(
std::move(pNewRedoDoc) ),
1181 maConvParam( rConvParam )
1203 OSL_FAIL(
"ScUndoConversion::SetChangeTrack: no UndoDoc" );
1219 default: OSL_FAIL(
"ScUndoConversion::GetComment - unknown conversion type" );
1248 OSL_FAIL(
"no Un-/RedoDoc for Un-/RedoSpelling");
1272 if(
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget) )
1273 pViewTarget->GetViewShell()->DoSheetConversion(
maConvParam );
1285 aMarkData ( rMark ),
1286 pUndoDoc (
std::move(pNewUndoDoc) ),
1287 pRedoDoc (
std::move(pNewRedoDoc) ),
1288 aRange ( aMarkRange ),
1289 bMulti ( bNewMulti )
1303 return ScResId( STR_UNDO_ENTERDATA );
1358 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
1359 pViewTarget->GetViewShell()->DoRefConversion();
1370 , xUndoDoc(
std::move(pNewUndoDoc))
1376 return ScResId( STR_UNDO_UPDATELINK );
1390 for (
SCTAB nTab=0; nTab<nCount; nTab++)
1397 xRedoDoc->InitUndo(rDoc, nTab, nTab,
true,
true);
1399 xRedoDoc->AddUndoTab(nTab, nTab,
true,
true);
1417 xUndoDoc->GetLinkRefreshDelay(nTab) );
1429 OSL_ENSURE(
xRedoDoc,
"No RedoDoc for ScUndoRefreshLink::Redo");
1435 for (
SCTAB nTab=0; nTab<nCount; nTab++)
1448 xRedoDoc->GetLinkRefreshDelay(nTab) );
1469 std::u16string_view rFlt, std::u16string_view rOpt,
1470 std::u16string_view rSrc,
const ScRange& rDest )
1472 const ::sfx2::SvBaseLinks& rLinks = pLinkManager->
GetLinks();
1474 for (sal_uInt16
i=0;
i<nCount;
i++)
1477 if (
auto pAreaLink = dynamic_cast<ScAreaLink*>( pBase))
1478 if ( pAreaLink->IsEqual( rDoc, rFlt, rOpt, rSrc, rDest ) )
1482 OSL_FAIL(
"ScAreaLink not found");
1487 const OUString& rDoc,
1488 const OUString& rFlt,
const OUString& rOpt,
1489 const OUString& rArea,
const ScRange& rDestRange,
1495 aAreaName ( rArea ),
1496 aRange ( rDestRange ),
1497 nRefreshDelay ( nRefresh )
1507 return ScResId( STR_UNDO_INSERTAREALINK );
1518 pLinkManager->
Remove( pLink );
1550 const OUString& rDoc,
const OUString& rFlt,
const OUString& rOpt,
1551 const OUString& rArea,
const ScRange& rDestRange,
1557 aAreaName ( rArea ),
1558 aRange ( rDestRange ),
1559 nRefreshDelay ( nRefresh )
1569 return ScResId( STR_UNDO_REMOVELINK );
1596 pLinkManager->
Remove( pLink );
1612 const OUString& rOldD,
const OUString& rOldF,
const OUString& rOldO,
1614 const OUString& rNewD,
const OUString& rNewF,
const OUString& rNewO,
1622 aOldRange ( rOldR ),
1627 aNewRange ( rNewR ),
1628 xUndoDoc (
std::move(pUndo) ),
1629 xRedoDoc (
std::move(pRedo) ),
1630 nOldRefresh ( nOldRD ),
1631 nNewRefresh ( nNewRD ),
1632 bWithInsert ( bDoInsert )
1639 return ScResId( STR_UNDO_UPDATELINK );
SC_DLLPUBLIC OUString GetLinkDoc(SCTAB nTab) const
void FillTabMarked(SCTAB nSrcTab, const ScMarkData &rMark, InsertDeleteFlags nFlags, ScPasteFunc nFunction, bool bSkipEmpty, bool bAsLink)
ScDocumentUniquePtr mxUndoDoc
ScDocumentUniquePtr pRedoDoc
OUString GetLinkOpt(SCTAB nTab) const
virtual ~ScUndoFillTable() override
void RemoveMerge(SCCOL nCol, SCROW nRow, SCTAB nTab)
SC_DLLPUBLIC void ShowCol(SCCOL nCol, SCTAB nTab, bool bShow)
constexpr sal_Int32 STD_EXTRA_WIDTH
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual OUString GetComment() const override
void FitBlock(const ScRange &rOld, const ScRange &rNew, bool bClear=true)
virtual ~ScUndoRemoveAreaLink() override
bool AdjustBlockHeight(bool bPaint=true, ScMarkData *pMarkData=nullptr)
virtual void Redo() override
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
SC_DLLPUBLIC ScLinkMode GetLinkMode(SCTAB nTab) const
void SetText(const ScAddress &rPos, const OUString &rText)
Changes the caption text of this note.
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
OUString ScResId(TranslateId aId)
virtual void Repeat(SfxRepeatTarget &rTarget) override
bool AdjustRowHeight(SCROW nStartRow, SCROW nEndRow, SCTAB nTab)
merge with docfunc
std::unique_ptr< SdrUndoAction > GetSdrUndoAction(ScDocument *pDoc)
ScUndoInsertAreaLink(ScDocShell *pShell, const OUString &rDocName, const OUString &rFltName, const OUString &rOptions, const OUString &rAreaName, const ScRange &rDestRange, sal_uLong nRefreshDelay)
const Fraction & GetZoomX() const
ScDocumentUniquePtr xUndoDoc
void SetSource(const OUString &rDoc, const OUString &rFlt, const OUString &rOpt, const OUString &rArea)
SC_DLLPUBLIC void SetTabBgColor(SCTAB nTab, const Color &rColor)
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)
SC_DLLPUBLIC void SetDrawPageSize(SCTAB nTab)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual OUString GetComment() const override
virtual OUString GetComment() const override
void InsertFileLink(sfx2::SvBaseLink &, SvBaseLinkObjectType nFileType, std::u16string_view rFileNm, const OUString *pFilterNm=nullptr, const OUString *pRange=nullptr)
ScDocumentUniquePtr pUndoDoc
ScDocumentUniquePtr pUndoDoc
virtual void Undo() override
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 ContentProperties & rData
ScRefAddress theFormulaCell
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScUndoDeleteContents(ScDocShell *pNewDocShell, const ScMarkData &rMark, const ScRange &rRange, ScDocumentUniquePtr &&pNewUndoDoc, bool bNewMulti, InsertDeleteFlags nNewFlags, bool bObjects)
virtual void Redo() override
sal_uLong nStartChangeAction
ScDocumentUniquePtr pUndoDoc
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
bool SetViewMarkData(const ScMarkData &rMarkData)
SC_DLLPUBLIC void SetValue(SCCOL nCol, SCROW nRow, SCTAB nTab, const double &rVal)
virtual ~ScUndoReplace() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
void Remove(const SfxPoolItem &)
SC_DLLPUBLIC void ApplyAttr(SCCOL nCol, SCROW nRow, SCTAB nTab, const SfxPoolItem &rAttr)
ScUndoMerge(ScDocShell *pNewDocShell, const ScCellMergeOption &rOption, bool bMergeContents, ScDocumentUniquePtr pUndoDoc, std::unique_ptr< SdrUndoAction > pDrawUndo)
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 ~ScUndoTabOp() override
sal_uLong GetActionMax() const
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual void Undo() override
SC_DLLPUBLIC bool HasAttrib(SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, HasAttrFlags nMask) const
virtual void Undo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
static void ShowTable(SCTAB nTab)
ScDocumentUniquePtr xUndoDoc
SC_DLLPUBLIC void MoveCursorAbs(SCCOL nCurX, SCROW nCurY, ScFollowMode eMode, bool bShift, bool bControl, bool bKeepOld=false, bool bKeepSel=false)
SfxApplication * SfxGetpApp()
Internal use only (d&d undo): do not delete caption objects of cell notes.
SC_DLLPUBLIC ScDocumentPool * GetPool()
::std::set< SCTAB > maTabs
virtual void Undo() override
Store arbitrary cell value of any kind.
void DoChange(ScDocument *pRefDoc, const ScAddress &rCursorPos)
Conversion type and parameters.
SC_DLLPUBLIC ScPostIt * GetNote(const ScAddress &rPos)
virtual void Undo() override
ScDocumentUniquePtr xRedoDoc
void DoChange(const bool bUndo)
ScRefAddress theFormulaEnd
virtual void Redo() override
void FillSeries(FillDir eDir, FillCmd eCmd, FillDateCmd eDateCmd, double fStart, double fStep, double fMax)
void UpdatePaintExt(sal_uInt16 &rExtFlags, SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab, SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab)
SC_DLLPUBLIC SCROW MaxRow() const
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
SC_DLLPUBLIC SCTAB GetTableCount() const
Additional class containing cell annotation data.
SC_DLLPUBLIC void SetColWidth(SCCOL nCol, SCTAB nTab, sal_uInt16 nNewWidth)
bool IsMultiMarked() const
void DoChange(const bool bUndo) const
void AppendContentsIfInRefDoc(ScDocument &rRefDoc, sal_uLong &nStartAction, sal_uLong &nEndAction)
virtual ~ScUndoConversion() override
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)
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)
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)
void RedoSdrUndoAction(SdrUndoAction *pUndoAction)
Copy flags for auto/series fill functions: do not touch notes and drawing objects.
bool SearchAndReplace(const SvxSearchItem *pSearchItem, bool bAddUndo, bool bIsApi)
void DoneBlockMode(bool bContinue=false)
virtual void Redo() override
ScUndoConversion(ScDocShell *pNewDocShell, const ScMarkData &rMark, SCCOL nCurX, SCROW nCurY, SCTAB nCurZ, ScDocumentUniquePtr pNewUndoDoc, SCCOL nNewX, SCROW nNewY, SCTAB nNewZ, ScDocumentUniquePtr pNewRedoDoc, const ScConversionParam &rConvParam)
const Fraction & GetZoomY() const
void ReplaceStyle(const SvxSearchItem &rSearchItem, SCCOL nCol, SCROW nRow, SCTAB nTab, const ScMarkData &rMark)
ScViewData & GetViewData()
ScChangeTrack * GetChangeTrack() const
static void PaintMore(ScDocShell *pDocShell, const ScRange &rRange)
SC_DLLPUBLIC void Undo(sal_uLong nStartAction, sal_uLong nEndAction, bool bMerge=false)
void SetDestArea(const ScRange &rNew)
ScUndoUpdateAreaLink(ScDocShell *pShell, const OUString &rOldD, const OUString &rOldF, const OUString &rOldO, const OUString &rOldA, const ScRange &rOldR, sal_uLong nOldRD, const OUString &rNewD, const OUString &rNewF, const OUString &rNewO, const OUString &rNewA, const ScRange &rNewR, sal_uLong nNewRD, ScDocumentUniquePtr pUndo, ScDocumentUniquePtr pRedo, bool bDoInsert)
SC_DLLPUBLIC bool SetEditText(const ScAddress &rPos, std::unique_ptr< EditTextObject > pEditText)
This method manages the lifecycle of the passed edit text object.
void SetMarkArea(const ScRange &rRange)
SC_DLLPUBLIC bool SetString(SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString &rString, const ScSetStringParam *pParam=nullptr)
sal_uLong nEndChangeAction
SC_DLLPUBLIC SCCOL MaxCol() const
SC_DLLPUBLIC bool ColHidden(SCCOL nCol, SCTAB nTab, SCCOL *pFirstCol=nullptr, SCCOL *pLastCol=nullptr) const
Parameter for data table aka multiple operations.
sal_uLong nEndChangeAction
SC_DLLPUBLIC CellType GetCellType(SCCOL nCol, SCROW nRow, SCTAB nTab) const
void SetTextCurrentDefaults(const EditTextObject &rTextObject)
SetText and apply defaults already set.
std::unique_ptr< SdrUndoAction > mpDrawUndo
const SvBaseLinks & GetLinks() const
ScRange getSingleRange(SCTAB nTab) const
virtual void Redo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
void Remove(SvBaseLink const *pLink)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
sal_uLong nStartChangeAction
std::unique_ptr< ScDocument, o3tl::default_delete< ScDocument > > ScDocumentUniquePtr
SC_DLLPUBLIC void DeleteSelection(InsertDeleteFlags nDelFlag, const ScMarkData &rMark, bool bBroadcast=true)
virtual void Repeat(SfxRepeatTarget &rTarget) override
constexpr TypedWhichId< SvxVerJustifyItem > ATTR_VER_JUSTIFY(132)
virtual void Undo() override
static SC_DLLPUBLIC double nScreenPPTY
Vertical pixel per twips factor.
sal_uLong nStartChangeAction
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)
Parameters for conversion.
ScSheetLimits & GetSheetLimits() const
SC_DLLPUBLIC void SetTabNo(SCTAB nTab, bool bNew=false, bool bExtendSelection=false, bool bSameTabButMoved=false)
virtual void Repeat(SfxRepeatTarget &rTarget) override
std::unique_ptr< EditTextObject > CreateTextObject()
sal_uLong nEndChangeAction
void SelectOneTable(SCTAB nTab)
virtual void Undo() override
ScPatternAttr * pApplyPattern
void SetLink(SCTAB nTab, ScLinkMode nMode, const OUString &rDoc, const OUString &rFilter, const OUString &rOptions, const OUString &rTabName, sal_uLong nRefreshDelay)
void DoSdrUndoAction(SdrUndoAction *pUndoAction, ScDocument *pDoc)
virtual void Undo() override
void Append(ScChangeAction *pAppend, sal_uLong nAction)
ScGridWindow * GetActiveWin()
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
sal_uLong nStartChangeAction
OUString GetLinkFlt(SCTAB nTab) const
void ApplySelectionPattern(const ScPatternAttr &rAttr, bool bCursorOnly=false)
virtual OUString GetComment() const override
void DoChange(ScDocument *pRefDoc)
virtual ~ScUndoDeleteContents() override
virtual OUString GetComment() const override
virtual ~ScUndoAutoFill() override
ScDocumentUniquePtr xRedoDoc
virtual void Repeat(SfxRepeatTarget &rTarget) override
static ScViewData * GetViewData()
void AppendContentRange(const ScRange &rRange, ScDocument *pRefDoc, sal_uLong &nStartAction, sal_uLong &nEndAction, ScChangeActionClipMode eMode=SC_CACM_NONE)
void PostPaint(SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab, SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab, PaintPartFlags nPart, sal_uInt16 nExtFlags=0)
ScConversionType GetType() const
SC_DLLPUBLIC bool ExtendMerge(SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW &rEndRow, SCTAB nTab, bool bRefresh=false)
ScDocumentUniquePtr pUndoDoc
sal_uLong nEndChangeAction
SfxViewShell * GetViewShell() const
ScUndoReplace(ScDocShell *pNewDocShell, const ScMarkData &rMark, SCCOL nCurX, SCROW nCurY, SCTAB nCurZ, const OUString &rNewUndoStr, ScDocumentUniquePtr pNewUndoDoc, const SvxSearchItem *pItem)
sal_uLong nStartChangeAction
void BroadcastCells(const ScRange &rRange, SfxHintId nHint, bool bBroadcastSingleBroadcasters=true)
sal_uLong nEndChangeAction
virtual void Undo() override
void SetOldValue(const ScCellValue &rCell, const ScDocument *pFromDoc, ScDocument *pToDoc, sal_uLong nFormat)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Redo() override
virtual OUString GetComment() const override
void SetNewValue(const ScCellValue &rCell, ScDocument *pDoc)
ScUndoRemoveAreaLink(ScDocShell *pShell, const OUString &rDocName, const OUString &rFltName, const OUString &rOptions, const OUString &rAreaName, const ScRange &rDestRange, sal_uLong nRefreshDelay)
SC_DLLPUBLIC Color GetTabBgColor(SCTAB nTab) const
virtual OUString GetComment() const override
sal_uLong nEndChangeAction
SC_DLLPUBLIC bool SetOptimalHeight(sc::RowHeightContext &rCxt, SCROW nStartRow, SCROW nEndRow, SCTAB nTab, bool bApi)
virtual OUString GetComment() const override
void ApplyPatternLines(const ScPatternAttr &rAttr, const SvxBoxItem &rNewOuter, const SvxBoxInfoItem *pNewInner)
bool MergeCells(bool bApi, bool &rDoContents, bool bCenter)
virtual OUString GetComment() const override
void ChangeEditData(const bool bUndo)
virtual void Redo() override
sal_uLong nStartChangeAction
static ScTabViewShell * GetActiveViewShell()
ScCellMergeOption maOption
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
void AutoFormat(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, sal_uInt16 nFormatNo, const ScMarkData &rMark)
void DoChange(const bool bUndo)
void DoChange(const bool bUndo)
ScTabOpParam::Mode meMode
void DoChange(bool bUndo) const
SC_DLLPUBLIC void DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, const ScMarkData &rMark, InsertDeleteFlags nDelFlag, bool bBroadcast=true, sc::ColumnSpanSet *pBroadcastSpans=nullptr)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
void assign(const ScDocument &rDoc, const ScAddress &rPos)
Take cell value from specified position in specified document.
sal_uLong GetLinkRefreshDelay(SCTAB nTab) const
Dates, times, datetime values.
SC_DLLPUBLIC void ApplySelectionPattern(const ScPatternAttr &rAttr, const ScMarkData &rMark, ScEditDataArray *pDataArray=nullptr, bool *pIsChanged=nullptr)
const T & Put(std::unique_ptr< T > xItem, sal_uInt16 nWhich=0)
constexpr TypedWhichId< SvxHorJustifyItem > ATTR_HOR_JUSTIFY(129)
virtual OUString GetComment() const override
SC_DLLPUBLIC void FillSimple(FillDir eDir)
virtual OUString GetComment() const override
ScDocumentUniquePtr pUndoDoc
SC_DLLPUBLIC void DoMergeContents(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
static SC_DLLPUBLIC double nScreenPPTX
Horizontal pixel per twips factor.
SC_DLLPUBLIC OUString GetLinkTab(SCTAB nTab) const
const ScDocument & GetDocument() const
virtual OUString GetComment() const override
virtual void Redo() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual OUString GetComment() const override
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)
ScDocumentUniquePtr pUndoDoc
void NotifyIfChangesListeners(const ScDocShell &rDocShell, const ScRange &rRange, const OUString &rType=OUString("cell-change"))
std::unique_ptr< ScEditDataArray > mpDataArray
void SetRefreshDelay(sal_Int32 nSeconds)
SC_DLLPUBLIC bool RowHidden(SCROW nRow, SCTAB nTab, SCROW *pFirstRow=nullptr, SCROW *pLastRow=nullptr) 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)
void SetEmptyCell(const ScAddress &rPos)
std::unique_ptr< SvxSearchItem > pSearchItem
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual ~ScUndoSelectionAttr() override
virtual void Undo() override
void SetInCreate(bool bSet)
void BroadcastChanges(const ScRange &rRange)
SvxBoxInfoItem * pLineInner
ScConversionParam maConvParam
void SetDataSpans(const std::shared_ptr< DataSpansType > &pSpans)
SfxObjectShell * GetDocumentShell() const
virtual ~ScUndoRefConversion() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
std::unique_ptr< SdrUndoAction > pDrawUndo
bool AdjustRowHeight(SCROW nStartRow, SCROW nEndRow, bool bApi)
bool GetTableSelect(SCTAB nTab) const
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
SC_DLLPUBLIC void SetRowFlags(SCROW nRow, SCTAB nTab, CRFlags nNewFlags)
ScEditDataArray * GetDataArray()
ScDocumentUniquePtr pRedoDoc
virtual void Undo() override
virtual ~ScUndoMerge() override
void ApplySelectionFrame(const ScMarkData &rMark, const SvxBoxItem &rLineOuter, const SvxBoxInfoItem *pLineInner)
SC_DLLPUBLIC void DeleteAreaTab(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCTAB nTab, InsertDeleteFlags nDelFlag)
std::shared_ptr< DataSpansType > mpDataSpans
SC_DLLPUBLIC sfx2::LinkManager * GetLinkManager()
virtual void Redo() override
virtual ~ScUndoInsertAreaLink() override
ScUndoRefConversion(ScDocShell *pNewDocShell, const ScRange &aMarkRange, const ScMarkData &rMark, ScDocumentUniquePtr pNewUndoDoc, ScDocumentUniquePtr pNewRedoDoc, bool bNewMulti)
ScDocumentUniquePtr pUndoDoc
virtual void Undo() override
SC_DLLPUBLIC void CellContentChanged()
SC_DLLPUBLIC void DoMerge(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, bool bDeleteCaptions=true)
virtual void Redo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScDocumentUniquePtr pUndoDoc
Strings (and string results if InsertDeleteFlags::FORMULA is not set).
SC_DLLPUBLIC ScFieldEditEngine & GetEditEngine()
void DeleteSelectionTab(SCTAB nTab, InsertDeleteFlags nDelFlag, const ScMarkData &rMark)
virtual void Undo() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
ScUndoRefreshLink(ScDocShell *pNewDocShell, ScDocumentUniquePtr pNewUndoDoc)
SC_DLLPUBLIC CRFlags GetRowFlags(SCROW nRow, SCTAB nTab) const
virtual void Redo() override
bool m_bDetectedRangeSegmentation false
virtual void Redo() override
void TabOp(const ScTabOpParam &rParam, bool bRecord=true)
virtual void Redo() override
Sheet / outlining (grouping) information.