23#include <osl/diagnose.h>
28#include <document.hxx>
54 sal_uInt16 nNewLevel, sal_uInt16 nNewEntry,
bool bNewShow ) :
59 pUndoDoc(
std::move(pNewUndoDoc) ),
60 bColumns( bNewColumns ),
75 ScResId( STR_UNDO_REDOOUTLINE );
88 if ( nVisTab !=
nTab )
106 false ,
true ,
true ,
124 if ( nVisTab !=
nTab )
148 std::unique_ptr<ScOutlineTable> pNewUndoTab,
bool bNewColumns,
bool bNewMake ) :
150 aBlockStart( nStartX, nStartY, nStartZ ),
151 aBlockEnd( nEndX, nEndY, nEndZ ),
152 pUndoTable(
std::move(pNewUndoTab) ),
153 bColumns( bNewColumns ),
165 ScResId( STR_UNDO_MAKEOUTLINE ) :
166 ScResId( STR_UNDO_REMAKEOUTLINE );
182 if ( nVisTab != nTab )
191 false ,
true ,
true ,
237 bool bNewColumns, sal_uInt16 nNewLevel )
242 , xUndoDoc(
std::move(pNewUndoDoc))
243 , xUndoTable(
std::move(pNewUndoTab))
244 , bColumns(bNewColumns)
251 return ScResId( STR_UNDO_OUTLINELEVEL );
276 false ,
true ,
true ,
281 if ( nVisTab !=
nTab )
298 if ( nVisTab !=
nTab )
321 ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr<ScOutlineTable> pNewUndoTab,
bool bNewShow ) :
323 aBlockStart( nStartX, nStartY, nStartZ ),
324 aBlockEnd( nEndX, nEndY, nEndZ ),
325 xUndoDoc(
std::move(pNewUndoDoc)),
326 xUndoTable(
std::move(pNewUndoTab)),
334 ScResId( STR_UNDO_DOOUTLINEBLK ) :
335 ScResId( STR_UNDO_REDOOUTLINEBLK );
358 xUndoTable->GetColArray().FindTouchedLevel(nStartCol, nEndCol, nLevel);
359 xUndoTable->GetColArray().ExtendBlock(nLevel, nStartCol, nEndCol);
360 xUndoTable->GetRowArray().FindTouchedLevel(nStartRow, nEndRow, nLevel);
361 xUndoTable->GetRowArray().ExtendBlock(nLevel, nStartRow, nEndRow);
364 xUndoDoc->CopyToDocument(
static_cast<SCCOL>(nStartCol), 0, nTab,
371 false ,
true ,
true ,
376 if ( nVisTab != nTab )
426 , aBlockStart(nStartX, nStartY, nStartZ)
427 , aBlockEnd(nEndX, nEndY, nEndZ)
428 , xUndoDoc(
std::move(pNewUndoDoc))
429 , xUndoTable(
std::move(pNewUndoTab))
435 return ScResId( STR_UNDO_REMOVEALLOTLNS );
463 if ( nVisTab != nTab )
472 false ,
true ,
true ,
488 if ( nVisTab != nTab )
499 pViewTarget->GetViewShell()->RemoveAllOutlines();
512 , aBlockStart(nStartX, nStartY, nStartZ)
513 , aBlockEnd(nEndX, nEndY, nEndZ)
514 , xUndoDoc(
std::move(pNewUndoDoc))
515 , xUndoTable(
std::move(pNewUndoTab))
521 return ScResId( STR_UNDO_AUTOOUTLINE );
542 xUndoTable->GetColArray().GetRange(nStartCol, nEndCol);
543 xUndoTable->GetRowArray().GetRange(nStartRow, nEndRow);
545 xUndoDoc->CopyToDocument(
static_cast<SCCOL>(nStartCol), 0, nTab,
554 if ( nVisTab != nTab )
574 if ( nVisTab != nTab )
596 pViewTarget->GetViewShell()->AutoOutline();
607 std::unique_ptr<ScRangeName> pNewUndoRange, std::unique_ptr<ScDBCollection> pNewUndoDB)
609 rNewParam.nCol2, rNewParam.nRow2, nNewTab))
612 , nNewEndRow(nNewEndY)
613 , xUndoDoc(
std::move(pNewUndoDoc))
614 , xUndoTable(
std::move(pNewUndoTab))
615 , xUndoRange(
std::move(pNewUndoRange))
616 , xUndoDB(
std::move(pNewUndoDB))
622 return ScResId( STR_UNDO_SUBTOTALS );
651 xUndoTable->GetColArray().GetRange(nStartCol, nEndCol);
652 xUndoTable->GetRowArray().GetRange(nStartRow, nEndRow);
683 if ( nVisTab !=
nTab )
699 if ( nVisTab !=
nTab )
722 rParam.nCol2, rParam.nRow2, nNewTab ) ),
724 aQueryParam( rParam ),
725 xUndoDoc(
std::move(pNewUndoDoc) ),
726 xUndoDB(
std::move(pNewUndoDB) ),
727 bIsAdvanced( false ),
752 return ScResId( STR_UNDO_QUERY );
766 SCCOL nDestEndCol = 0;
767 SCROW nDestEndRow = 0;
778 pData->GetArea( aNewDest );
779 nDestEndCol = aNewDest.
aEnd.
Col();
780 nDestEndRow = aNewDest.
aEnd.
Row();
832 if ( nVisTab !=
nTab )
842 false ,
true ,
true ,
849 SCCOL nEndX = nDestEndCol;
850 SCROW nEndY = nDestEndRow;
878 if ( nVisTab !=
nTab )
901 OUString aName,
bool bSet ) :
914 return ScResId( STR_UNDO_QUERY );
944 pDBData->
GetArea( nRangeTab, nRangeX1, nRangeY1, nRangeX2, nRangeY2 );
979 std::unique_ptr<ScDBCollection> pNewUndoColl,
980 std::unique_ptr<ScDBCollection> pNewRedoColl ) :
982 pUndoColl(
std::move(pNewUndoColl) ),
983 pRedoColl(
std::move(pNewRedoColl) )
993 return ScResId( STR_UNDO_DBDATA );
1045 std::unique_ptr<ScDBData> pNewUndoData, std::unique_ptr<ScDBData> pNewRedoData ) :
1048 aImportParam( rParam ),
1049 nEndCol( nNewEndX ),
1050 nEndRow( nNewEndY ),
1051 xUndoDoc(
std::move(pNewUndoDoc)),
1052 xRedoDoc(
std::move(pNewRedoDoc)),
1053 xUndoDBData(
std::move(pNewUndoData)),
1054 xRedoDBData(
std::move(pNewRedoData)),
1055 nFormulaCols( nNewFormula ),
1056 bRedoFilled( false )
1063 return ScResId( STR_UNDO_IMPORTDATA );
1082 xRedoDBData->GetArea( nTable, nCol1, nRow1, nCol2, nRow2 );
1084 nCol1, nRow1, nCol2, nRow2);
1094 for (
SCCOL nCopyCol = nCol1; nCopyCol <= nCol2; nCopyCol++)
1119 rDoc.
FitBlock( aNew, aOld,
false );
1133 xUndoDBData->GetArea(nTable, nCol1, nRow1, nCol2, nRow2);
1138 if ( nVisTab !=
nTab )
1167 xUndoDBData->GetArea( nTable, nCol1, nRow1, nCol2, nRow2 );
1169 nCol1, nRow1, nCol2, nRow2);
1202 xRedoDBData->GetArea(nTable, nCol1, nRow1, nCol2, nRow2);
1207 if ( nVisTab !=
nTab )
1249 std::unique_ptr<ScRangeName> pNewUndoRange, std::unique_ptr<ScDBCollection> pNewUndoDB,
1252 aBlockStart( nStartX,nStartY,nNewTab ),
1253 aBlockEnd( nEndX,nEndY,nNewTab ),
1254 nNewEndRow( nResultEndRow ),
1255 aCursorPos( nCurX,nCurY,nNewTab ),
1256 xUndoDoc(
std::move(pNewUndoDoc)),
1257 xUndoTable(
std::move(pNewUndoTab)),
1258 xUndoRange(
std::move(pNewUndoRange)),
1259 xUndoDB(
std::move(pNewUndoDB)),
1262 if ( pOldQ && pNewQ )
1272 return ScResId( STR_UNDO_REPEATDB );
1289 SCCOL nFormulaCols = 0;
1292 while ( nCol <= rDoc.
MaxCol() &&
1299 if ( nFormulaCols > 0 )
1306 rDoc.
FitBlock( aNewForm, aOldForm,
false );
1332 xUndoTable->GetColArray().GetRange(nStartCol, nEndCol);
1333 xUndoTable->GetRowArray().GetRange(nStartRow, nEndRow);
1335 xUndoDoc->CopyToDocument(
static_cast<SCCOL>(nStartCol), 0, nTab,
1363 false ,
true ,
true ,
1367 if ( nVisTab != nTab )
1384 if ( nVisTab != nTab )
1399 pViewTarget->GetViewShell()->RepeatDB();
1411 , xOldUndoDoc(
std::move(pOldDoc))
1412 , xNewUndoDoc(
std::move(pNewDoc))
1413 , bAllowMove( bMove)
1425 pResId = STR_UNDO_PIVOT_MODIFY;
1427 pResId = STR_UNDO_PIVOT_NEW;
1429 pResId = STR_UNDO_PIVOT_DELETE;
1464 OSL_ENSURE(pDocObj,
"DPObject not found");
1529 OSL_ENSURE(pSourceObj,
"DPObject not found");
1551 bool bReference,
SCROW nInsCount, std::unique_ptr<ScOutlineTable> pTab,
1552 std::unique_ptr<ScDBData> pData )
1555 , xUndoDoc(
std::move(pNewUndoDoc))
1557 , bInsRef(bReference)
1558 , nInsertCount(nInsCount)
1559 , xUndoTab(
std::move(pTab))
1566 return ScResId( STR_UNDO_CONSOLIDATE );
1623 if ( aOldRange.
aEnd.
Col() > nEndX )
1625 if ( aOldRange.
aEnd.
Row() > nEndY )
1648 if ( nViewTab != nTab )
1690 const ScRange& rNew,
bool bColHdr,
bool bRowHdr,
1694 bOldColHeaders(false),
1695 bOldRowHeaders(false),
1696 bNewColHeaders( bColHdr ),
1697 bNewRowHeaders( bRowHdr ),
1711 bOldColHeaders(false),
1712 bOldRowHeaders(false),
1713 aNewRangeListRef(
std::move( xNew )),
1714 bNewColHeaders( bColHdr ),
1715 bNewRowHeaders( bRowHdr ),
1727 return ScResId( STR_UNDO_CHARTDATA );
1764 std::unique_ptr<ScRefUndoData> pRefData )
1767 , xUndoDoc(
std::move(pNewUndoDoc))
1768 , xRedoDoc(
std::move(pNewRedoDoc))
1769 , xRefUndoData(
std::move(pRefData))
1770 , bRedoFilled(false)
1785 return ScResId( STR_UNDO_PASTE );
1824 if (bCreateRedoData)
1829 bool bPaintAll =
false;
1853 sal_uInt16 nExtFlags = 0;
1858 OUString aOldString =
xUndoDoc->GetString(
1865 pWorkRefData->
DoUndo( &rDoc,
true );
1877 pChangeTrack->
Undo( 0, 0 );
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 ...
SfxApplication * SfxGetpApp()
std::unique_ptr< SdrUndoAction > pDrawUndo
SC_DLLPUBLIC void Undo(sal_uLong nStartAction, sal_uLong nEndAction, bool bMerge=false)
ScDBData * findByUpperName(const OUString &rName)
void GetArea(SCTAB &rTab, SCCOL &rCol1, SCROW &rRow1, SCCOL &rCol2, SCROW &rRow2) const
void SetAutoFilter(bool bSet)
bool DataPilotUpdate(ScDPObject *pOldObj, const ScDPObject *pNewObj, bool bRecord, bool bApi, bool bAllowMove=false)
ScDBData * GetDBData(bool bMarkArea=true, ScGetDBMode eMode=SC_DB_MAKE, ScGetDBSelection eSel=ScGetDBSelection::Keep)
void RemoveOutline(bool bColumns, bool bRecord=true)
void HideOutline(bool bColumns, sal_uInt16 nLevel, sal_uInt16 nEntry, bool bRecord=true, bool bPaint=true)
SC_DLLPUBLIC void Query(const ScQueryParam &rQueryParam, const ScRange *pAdvSource, bool bRecord)
void DoSubTotals(const ScSubTotalParam &rParam, bool bRecord=true, const ScSortParam *pForceNewSort=nullptr)
void OnLOKShowHideColRow(bool bColumns, SCCOLROW nStartRow)
void RepeatDB(bool bRecord=true)
void MakeOutline(bool bColumns, bool bRecord=true)
void ShowMarkedOutlines(bool bRecord=true)
void RemoveAllOutlines(bool bRecord=true)
void ShowOutline(bool bColumns, sal_uInt16 nLevel, sal_uInt16 nEntry, bool bRecord=true, bool bPaint=true)
bool ImportData(const ScImportParam &rParam)
void SelectLevel(bool bColumns, sal_uInt16 nLevel, bool bRecord=true)
void HideMarkedOutlines(bool bRecord=true)
SC_DLLPUBLIC ScDPObject * InsertNewTable(std::unique_ptr< ScDPObject > pDPObj)
void FreeTable(const ScDPObject *pDPObj)
void SetSaveData(const ScDPSaveData &rData)
void SetOutRange(const ScRange &rRange)
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)
void DoConsolidate(const ScConsolidateParam &rParam, bool bRecord=true)
SC_DLLPUBLIC bool RemoveFlagsTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, ScMF nFlags)
bool RefreshAutoFilter(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
void UpdatePageBreaks(SCTAB nTab, const ScRange *pUserArea=nullptr)
bool SetOutlineTable(SCTAB nTab, const ScOutlineTable *pNewOutline)
void SetRangeName(SCTAB nTab, std::unique_ptr< ScRangeName > pNew)
SC_DLLPUBLIC bool ExtendMerge(SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW &rEndRow, SCTAB nTab, bool bRefresh=false)
SC_DLLPUBLIC void CompileHybridFormula()
Call this immediately after updating named ranges.
void InvalidatePageBreaks(SCTAB nTab)
SC_DLLPUBLIC SCCOL MaxCol() const
const ScDBData * GetDBAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, ScDBDataPortion ePortion) const
SC_DLLPUBLIC SCROW MaxRow() const
SC_DLLPUBLIC void PreprocessDBDataUpdate()
SC_DLLPUBLIC bool ApplyFlagsTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, ScMF nFlags)
SC_DLLPUBLIC bool GetAutoCalc() const
SC_DLLPUBLIC bool SetString(SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString &rString, const ScSetStringParam *pParam=nullptr)
void DeleteRow(SCCOL nStartCol, SCTAB nStartTab, SCCOL nEndCol, SCTAB nEndTab, SCROW nStartRow, SCSIZE nSize, ScDocument *pRefUndoDoc=nullptr, bool *pUndoOutline=nullptr, const ScMarkData *pTabMark=nullptr)
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 ScDBCollection * GetDBCollection() const
SC_DLLPUBLIC ScDPObject * GetDPAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab) const
void FitBlock(const ScRange &rOld, const ScRange &rNew, bool bClear=true)
SC_DLLPUBLIC void SetAutoCalc(bool bNewAutoCalc)
void UpdateChartArea(const OUString &rChartName, const ScRange &rNewArea, bool bColHeaders, bool bRowHeaders, bool bAdd)
SC_DLLPUBLIC void DeleteAreaTab(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCTAB nTab, InsertDeleteFlags nDelFlag)
void SetDBCollection(std::unique_ptr< ScDBCollection > pNewDBCollection, bool bRemoveAutoFilter=false)
ScChangeTrack * GetChangeTrack() const
SC_DLLPUBLIC CellType GetCellType(SCCOL nCol, SCROW nRow, SCTAB nTab) const
void GetOldChartParameters(std::u16string_view rName, ScRangeList &rRanges, bool &rColHeaders, bool &rRowHeaders)
SC_DLLPUBLIC ScDBData * GetAnonymousDBData(SCTAB nTab)
void SetDirty(const ScRange &, bool bIncludeEmptyCells)
bool InsertRow(SCCOL nStartCol, SCTAB nStartTab, SCCOL nEndCol, SCTAB nEndTab, SCROW nStartRow, SCSIZE nSize, ScDocument *pRefUndoDoc=nullptr, const ScMarkData *pTabMark=nullptr)
SC_DLLPUBLIC ScDPCollection * GetDPCollection()
void BroadcastUno(const SfxHint &rHint)
SC_DLLPUBLIC SCTAB GetTableCount() const
static SC_DLLPUBLIC const CharClass & getCharClass()
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
void AutoOutline(const ScRange &rRange, bool bRecord)
void DoUndo(ScDocument *pDoc, bool bUndoRefFirst)
static void ShowTable(SCTAB nTab)
static void notifyAllViewsSheetGeomInvalidation(const SfxViewShell *pForViewShell, bool bColumns, bool bRows, bool bSizes, bool bHidden, bool bFiltered, bool bGroups, SCTAB nCurrentTabIndex)
Emits a LOK_CALLBACK_INVALIDATE_SHEET_GEOMETRY for all views whose current tab is equal to nCurrentTa...
static bool isAnyEditViewInRange(const SfxViewShell *pForViewShell, bool bColumns, SCCOLROW nStart, SCCOLROW nEnd)
static void notifyAllViewsHeaderInvalidation(const SfxViewShell *pForViewShell, HeaderType eHeaderType, SCTAB nCurrentTabIndex)
Emits a LOK_CALLBACK_INVALIDATE_HEADER for all views whose current tab is equal to nCurrentTabIndex.
static ScTabViewShell * GetActiveViewShell()
void DoneBlockMode(bool bContinue=false)
void MarkRange(const ScRange &rRange, bool bSetCursor=true, bool bContinue=false)
ScViewData & GetViewData()
SC_DLLPUBLIC void SetCursor(SCCOL nPosX, SCROW nPosY, bool bNew=false)
SC_DLLPUBLIC void CellContentChanged()
void UpdateScrollBars(HeaderType eHeaderType=BOTH_HEADERS)
SC_DLLPUBLIC void SetTabNo(SCTAB nTab, bool bNew=false, bool bExtendSelection=false, bool bSameTabButMoved=false)
virtual OUString GetComment() const override
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScUndoAutoFilter(ScDocShell *pNewDocShell, const ScRange &rRange, OUString aName, bool bSet)
virtual void Redo() override
virtual ~ScUndoAutoFilter() override
void DoChange(bool bUndo)
virtual void Undo() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Redo() override
std::unique_ptr< ScOutlineTable > xUndoTable
virtual OUString GetComment() const override
ScUndoAutoOutline(ScDocShell *pNewDocShell, SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr< ScOutlineTable > pNewUndoTab)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual void Undo() override
ScDocumentUniquePtr xUndoDoc
ScRangeListRef aOldRangeListRef
virtual OUString GetComment() const override
virtual void Redo() override
virtual void Undo() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
ScRangeListRef aNewRangeListRef
ScUndoChartData(ScDocShell *pNewDocShell, OUString aName, const ScRange &rNew, bool bColHdr, bool bRowHdr, bool bAdd)
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual ~ScUndoChartData() override
ScUndoConsolidate(ScDocShell *pNewDocShell, const ScArea &rArea, const ScConsolidateParam &rPar, ScDocumentUniquePtr pNewUndoDoc, bool bReference, SCROW nInsCount, std::unique_ptr< ScOutlineTable > pTab, std::unique_ptr< ScDBData > pData)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
std::unique_ptr< ScOutlineTable > xUndoTab
virtual OUString GetComment() const override
std::unique_ptr< ScDBData > xUndoData
virtual void Undo() override
virtual void Redo() override
ScDocumentUniquePtr xUndoDoc
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScConsolidateParam aParam
std::unique_ptr< ScDBCollection > pRedoColl
virtual void Undo() override
virtual void Redo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual ~ScUndoDBData() override
ScUndoDBData(ScDocShell *pNewDocShell, std::unique_ptr< ScDBCollection > pNewUndoColl, std::unique_ptr< ScDBCollection > pNewRedoColl)
virtual OUString GetComment() const override
std::unique_ptr< ScDBCollection > pUndoColl
virtual void Undo() override
std::unique_ptr< ScDPObject > xOldDPObject
ScUndoDataPilot(ScDocShell *pNewDocShell, ScDocumentUniquePtr pOldDoc, ScDocumentUniquePtr pNewDoc, const ScDPObject *pOldObj, const ScDPObject *pNewObj, bool bMove)
ScDocumentUniquePtr xOldUndoDoc
ScDocumentUniquePtr xNewUndoDoc
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Repeat(SfxRepeatTarget &rTarget) override
std::unique_ptr< ScDPObject > xNewDPObject
virtual void Redo() override
virtual OUString GetComment() const override
virtual ~ScUndoDoOutline() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScDocumentUniquePtr pUndoDoc
virtual void Undo() override
virtual OUString GetComment() const override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
ScUndoDoOutline(ScDocShell *pNewDocShell, SCCOLROW nNewStart, SCCOLROW nNewEnd, SCTAB nNewTab, ScDocumentUniquePtr pNewUndoDoc, bool bNewColumns, sal_uInt16 nNewLevel, sal_uInt16 nNewEntry, bool bNewShow)
virtual void Redo() override
ScDocumentUniquePtr xRedoDoc
std::unique_ptr< ScDBData > xRedoDBData
ScDocumentUniquePtr xUndoDoc
virtual void Redo() override
virtual OUString GetComment() const override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Undo() override
std::unique_ptr< ScDBData > xUndoDBData
ScUndoImportData(ScDocShell *pNewDocShell, SCTAB nNewTab, const ScImportParam &rParam, SCCOL nNewEndX, SCROW nNewEndY, SCCOL nNewFormula, ScDocumentUniquePtr pNewUndoDoc, ScDocumentUniquePtr pNewRedoDoc, std::unique_ptr< ScDBData > pNewUndoData, std::unique_ptr< ScDBData > pNewRedoData)
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScImportParam aImportParam
ScUndoMakeOutline(ScDocShell *pNewDocShell, SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, std::unique_ptr< ScOutlineTable > pNewUndoTab, bool bNewColumns, bool bNewMake)
Make or delete outline groups.
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Redo() override
virtual ~ScUndoMakeOutline() override
virtual OUString GetComment() const override
virtual void Undo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
std::unique_ptr< ScOutlineTable > pUndoTable
virtual OUString GetComment() const override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
ScDocumentUniquePtr xUndoDoc
virtual void Redo() override
std::unique_ptr< ScOutlineTable > xUndoTable
ScUndoOutlineBlock(ScDocShell *pNewDocShell, SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr< ScOutlineTable > pNewUndoTab, bool bNewShow)
show/hide outline over block marks
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual void Undo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual OUString GetComment() const override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Undo() override
std::unique_ptr< ScOutlineTable > xUndoTable
ScUndoOutlineLevel(ScDocShell *pNewDocShell, SCCOLROW nNewStart, SCCOLROW nNewEnd, SCTAB nNewTab, ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr< ScOutlineTable > pNewUndoTab, bool bNewColumns, sal_uInt16 nNewLevel)
ScDocumentUniquePtr xUndoDoc
virtual void Redo() override
virtual void Redo() override
std::unique_ptr< ScDBCollection > xUndoDB
virtual ~ScUndoQuery() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
std::unique_ptr< SdrUndoAction > pDrawUndo
ScDocumentUniquePtr xUndoDoc
virtual void Undo() override
virtual OUString GetComment() const override
ScUndoQuery(ScDocShell *pNewDocShell, SCTAB nNewTab, const ScQueryParam &rParam, ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr< ScDBCollection > pNewUndoDB, const ScRange *pOld, bool bSize, const ScRange *pAdvSrc)
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScDocumentUniquePtr xUndoDoc
virtual void Undo() override
virtual OUString GetComment() const override
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScUndoRemoveAllOutlines(ScDocShell *pNewDocShell, SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr< ScOutlineTable > pNewUndoTab)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Redo() override
std::unique_ptr< ScOutlineTable > xUndoTable
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScDocumentUniquePtr xUndoDoc
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
std::unique_ptr< ScRangeName > xUndoRange
ScUndoRepeatDB(ScDocShell *pNewDocShell, SCTAB nNewTab, SCCOL nStartX, SCROW nStartY, SCCOL nEndX, SCROW nEndY, SCROW nResultEndRow, SCCOL nCurX, SCROW nCurY, ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr< ScOutlineTable > pNewUndoTab, std::unique_ptr< ScRangeName > pNewUndoRange, std::unique_ptr< ScDBCollection > pNewUndoDB, const ScRange *pOldQ, const ScRange *pNewQ)
virtual void Undo() override
std::unique_ptr< ScDBCollection > xUndoDB
virtual OUString GetComment() const override
virtual void Redo() override
std::unique_ptr< ScOutlineTable > xUndoTable
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual OUString GetComment() const override
ScDocumentUniquePtr xUndoDoc
std::unique_ptr< ScDBCollection > xUndoDB
virtual void Redo() override
virtual void Undo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScUndoSubTotals(ScDocShell *pNewDocShell, SCTAB nNewTab, const ScSubTotalParam &rNewParam, SCROW nNewEndY, ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr< ScOutlineTable > pNewUndoTab, std::unique_ptr< ScRangeName > pNewUndoRange, std::unique_ptr< ScDBCollection > pNewUndoDB)
std::unique_ptr< ScRangeName > xUndoRange
std::unique_ptr< ScOutlineTable > xUndoTable
static ScDBData * GetOldDBData(const ScDBData *pUndoData, ScDocument *pDoc, SCTAB nTab, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2)
Search for Data base range in Document ("untitled" or by region) create new if not found.
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)
bool AdjustBlockHeight(bool bPaint=true, ScMarkData *pMarkData=nullptr)
SfxViewShell * GetViewShell() const
@ TOP_LEFT
top left cell of area
std::unique_ptr< ScDocument, o3tl::default_delete< ScDocument > > ScDocumentUniquePtr
@ NOTE
Strings (and string results if InsertDeleteFlags::FORMULA is not set).
constexpr OUStringLiteral STR_DB_LOCAL_NONAME
std::unique_ptr< sal_Int32[]> pData
OUString ScResId(TranslateId aId)
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
std::unique_ptr< SdrUndoAction > GetSdrUndoAction(ScDocument *pDoc)
void DoSdrUndoAction(SdrUndoAction *pUndoAction, ScDocument *pDoc)
void RedoSdrUndoAction(SdrUndoAction *pUndoAction)
void EnableDrawAdjust(ScDocument *pDoc, bool bEnable)