23 #include <osl/diagnose.h>
28 #include <document.hxx>
34 #include <globstr.hrc>
53 sal_uInt16 nNewLevel, sal_uInt16 nNewEntry,
bool bNewShow ) :
58 pUndoDoc(
std::move(pNewUndoDoc) ),
59 bColumns( bNewColumns ),
74 ScResId( STR_UNDO_REDOOUTLINE );
87 if ( nVisTab !=
nTab )
105 false ,
true ,
true ,
123 if ( nVisTab !=
nTab )
147 std::unique_ptr<ScOutlineTable> pNewUndoTab,
bool bNewColumns,
bool bNewMake ) :
149 aBlockStart( nStartX, nStartY, nStartZ ),
150 aBlockEnd( nEndX, nEndY, nEndZ ),
151 pUndoTable(
std::move(pNewUndoTab) ),
152 bColumns( bNewColumns ),
164 ScResId( STR_UNDO_MAKEOUTLINE ) :
165 ScResId( STR_UNDO_REMAKEOUTLINE );
181 if ( nVisTab != nTab )
190 false ,
true ,
true ,
217 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
236 bool bNewColumns, sal_uInt16 nNewLevel )
241 , xUndoDoc(
std::move(pNewUndoDoc))
242 , xUndoTable(
std::move(pNewUndoTab))
243 , bColumns(bNewColumns)
250 return ScResId( STR_UNDO_OUTLINELEVEL );
275 false ,
true ,
true ,
280 if ( nVisTab != nTab )
297 if ( nVisTab !=
nTab )
307 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
320 ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr<ScOutlineTable> pNewUndoTab,
bool bNewShow ) :
322 aBlockStart( nStartX, nStartY, nStartZ ),
323 aBlockEnd( nEndX, nEndY, nEndZ ),
324 xUndoDoc(
std::move(pNewUndoDoc)),
325 xUndoTable(
std::move(pNewUndoTab)),
333 ScResId( STR_UNDO_DOOUTLINEBLK ) :
334 ScResId( STR_UNDO_REDOOUTLINEBLK );
357 xUndoTable->GetColArray().FindTouchedLevel(nStartCol, nEndCol, nLevel);
358 xUndoTable->GetColArray().ExtendBlock(nLevel, nStartCol, nEndCol);
359 xUndoTable->GetRowArray().FindTouchedLevel(nStartRow, nEndRow, nLevel);
360 xUndoTable->GetRowArray().ExtendBlock(nLevel, nStartRow, nEndRow);
363 xUndoDoc->CopyToDocument(static_cast<SCCOL>(nStartCol), 0, nTab,
370 false ,
true ,
true ,
375 if ( nVisTab != nTab )
404 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
425 , aBlockStart(nStartX, nStartY, nStartZ)
426 , aBlockEnd(nEndX, nEndY, nEndZ)
427 , xUndoDoc(
std::move(pNewUndoDoc))
428 , xUndoTable(
std::move(pNewUndoTab))
434 return ScResId( STR_UNDO_REMOVEALLOTLNS );
462 if ( nVisTab != nTab )
471 false ,
true ,
true ,
487 if ( nVisTab != nTab )
497 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
498 pViewTarget->GetViewShell()->RemoveAllOutlines();
511 , aBlockStart(nStartX, nStartY, nStartZ)
512 , aBlockEnd(nEndX, nEndY, nEndZ)
513 , xUndoDoc(
std::move(pNewUndoDoc))
514 , xUndoTable(
std::move(pNewUndoTab))
520 return ScResId( STR_UNDO_AUTOOUTLINE );
541 xUndoTable->GetColArray().GetRange(nStartCol, nEndCol);
542 xUndoTable->GetRowArray().GetRange(nStartRow, nEndRow);
544 xUndoDoc->CopyToDocument(static_cast<SCCOL>(nStartCol), 0, nTab,
553 if ( nVisTab != nTab )
573 if ( nVisTab != nTab )
580 aFunc.AutoOutline( aRange,
false );
594 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
595 pViewTarget->GetViewShell()->AutoOutline();
606 std::unique_ptr<ScRangeName> pNewUndoRange, std::unique_ptr<ScDBCollection> pNewUndoDB)
608 rNewParam.nCol2, rNewParam.nRow2, nNewTab))
611 , nNewEndRow(nNewEndY)
612 , xUndoDoc(
std::move(pNewUndoDoc))
613 , xUndoTable(
std::move(pNewUndoTab))
614 , xUndoRange(
std::move(pNewUndoRange))
615 , xUndoDB(
std::move(pNewUndoDB))
621 return ScResId( STR_UNDO_SUBTOTALS );
650 xUndoTable->GetColArray().GetRange(nStartCol, nEndCol);
651 xUndoTable->GetRowArray().GetRange(nStartRow, nEndRow);
653 xUndoDoc->CopyToDocument(static_cast<SCCOL>(nStartCol), 0,
nTab,
682 if ( nVisTab !=
nTab )
698 if ( nVisTab !=
nTab )
721 rParam.nCol2, rParam.nRow2, nNewTab ) ),
723 aQueryParam( rParam ),
724 xUndoDoc(
std::move(pNewUndoDoc) ),
725 xUndoDB(
std::move(pNewUndoDB) ),
726 bIsAdvanced(
false ),
751 return ScResId( STR_UNDO_QUERY );
765 SCCOL nDestEndCol = 0;
766 SCROW nDestEndRow = 0;
778 nDestEndCol = aNewDest.
aEnd.
Col();
779 nDestEndRow = aNewDest.
aEnd.
Row();
831 if ( nVisTab !=
nTab )
841 false ,
true ,
true ,
848 SCCOL nEndX = nDestEndCol;
849 SCROW nEndY = nDestEndRow;
877 if ( nVisTab !=
nTab )
900 const OUString& rName,
bool bSet ) :
913 return ScResId( STR_UNDO_QUERY );
943 pDBData->
GetArea( nRangeTab, nRangeX1, nRangeY1, nRangeX2, nRangeY2 );
978 std::unique_ptr<ScDBCollection> pNewUndoColl,
979 std::unique_ptr<ScDBCollection> pNewRedoColl ) :
981 pUndoColl(
std::move(pNewUndoColl) ),
982 pRedoColl(
std::move(pNewRedoColl) )
992 return ScResId( STR_UNDO_DBDATA );
1044 std::unique_ptr<ScDBData> pNewUndoData, std::unique_ptr<ScDBData> pNewRedoData ) :
1047 aImportParam( rParam ),
1048 nEndCol( nNewEndX ),
1049 nEndRow( nNewEndY ),
1050 xUndoDoc(
std::move(pNewUndoDoc)),
1051 xRedoDoc(
std::move(pNewRedoDoc)),
1052 xUndoDBData(
std::move(pNewUndoData)),
1053 xRedoDBData(
std::move(pNewRedoData)),
1054 nFormulaCols( nNewFormula ),
1055 bRedoFilled(
false )
1062 return ScResId( STR_UNDO_IMPORTDATA );
1081 xRedoDBData->GetArea( nTable, nCol1, nRow1, nCol2, nRow2 );
1083 nCol1, nRow1, nCol2, nRow2);
1093 for (
SCCOL nCopyCol = nCol1; nCopyCol <= nCol2; nCopyCol++)
1118 rDoc.
FitBlock( aNew, aOld,
false );
1132 xUndoDBData->GetArea(nTable, nCol1, nRow1, nCol2, nRow2);
1137 if ( nVisTab !=
nTab )
1166 xUndoDBData->GetArea( nTable, nCol1, nRow1, nCol2, nRow2 );
1168 nCol1, nRow1, nCol2, nRow2);
1201 xRedoDBData->GetArea(nTable, nCol1, nRow1, nCol2, nRow2);
1206 if ( nVisTab !=
nTab )
1221 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
1248 std::unique_ptr<ScRangeName> pNewUndoRange, std::unique_ptr<ScDBCollection> pNewUndoDB,
1251 aBlockStart( nStartX,nStartY,nNewTab ),
1252 aBlockEnd( nEndX,nEndY,nNewTab ),
1253 nNewEndRow( nResultEndRow ),
1254 aCursorPos( nCurX,nCurY,nNewTab ),
1255 xUndoDoc(
std::move(pNewUndoDoc)),
1256 xUndoTable(
std::move(pNewUndoTab)),
1257 xUndoRange(
std::move(pNewUndoRange)),
1258 xUndoDB(
std::move(pNewUndoDB)),
1261 if ( pOldQ && pNewQ )
1271 return ScResId( STR_UNDO_REPEATDB );
1288 SCCOL nFormulaCols = 0;
1291 while ( nCol <= rDoc.
MaxCol() &&
1298 if ( nFormulaCols > 0 )
1305 rDoc.
FitBlock( aNewForm, aOldForm,
false );
1331 xUndoTable->GetColArray().GetRange(nStartCol, nEndCol);
1332 xUndoTable->GetRowArray().GetRange(nStartRow, nEndRow);
1334 xUndoDoc->CopyToDocument(static_cast<SCCOL>(nStartCol), 0, nTab,
1362 false ,
true ,
true ,
1366 if ( nVisTab != nTab )
1383 if ( nVisTab != nTab )
1397 if (
auto pViewTarget = dynamic_cast<ScTabViewTarget*>( &rTarget))
1398 pViewTarget->GetViewShell()->RepeatDB();
1410 , xOldUndoDoc(
std::move(pOldDoc))
1411 , xNewUndoDoc(
std::move(pNewDoc))
1412 , bAllowMove( bMove)
1424 pResId = STR_UNDO_PIVOT_MODIFY;
1426 pResId = STR_UNDO_PIVOT_NEW;
1428 pResId = STR_UNDO_PIVOT_DELETE;
1463 OSL_ENSURE(pDocObj,
"DPObject not found");
1528 OSL_ENSURE(pSourceObj,
"DPObject not found");
1550 bool bReference,
SCROW nInsCount, std::unique_ptr<ScOutlineTable> pTab,
1551 std::unique_ptr<ScDBData> pData )
1554 , xUndoDoc(
std::move(pNewUndoDoc))
1556 , bInsRef(bReference)
1557 , nInsertCount(nInsCount)
1558 , xUndoTab(
std::move(pTab))
1559 , xUndoData(
std::move(pData))
1565 return ScResId( STR_UNDO_CONSOLIDATE );
1597 xUndoDoc->CopyToDocument(aOldRange, InsertDeleteFlags::ALL,
false, rDoc);
1622 if ( aOldRange.
aEnd.
Col() > nEndX )
1624 if ( aOldRange.
aEnd.
Row() > nEndY )
1647 if ( nViewTab != nTab )
1689 const ScRange& rNew,
bool bColHdr,
bool bRowHdr,
1692 aChartName( rName ),
1693 bOldColHeaders(
false),
1694 bOldRowHeaders(
false),
1695 bNewColHeaders( bColHdr ),
1696 bNewRowHeaders( bRowHdr ),
1709 aChartName( rName ),
1710 bOldColHeaders(
false),
1711 bOldRowHeaders(
false),
1712 aNewRangeListRef( rNew ),
1713 bNewColHeaders( bColHdr ),
1714 bNewRowHeaders( bRowHdr ),
1726 return ScResId( STR_UNDO_CHARTDATA );
1763 std::unique_ptr<ScRefUndoData> pRefData )
1766 , xUndoDoc(
std::move(pNewUndoDoc))
1767 , xRedoDoc(
std::move(pNewRedoDoc))
1768 , xRefUndoData(
std::move(pRefData))
1769 , bRedoFilled(
false)
1784 return ScResId( STR_UNDO_PASTE );
1813 return (dynamic_cast<const ScTabViewTarget*>( &rTarget) !=
nullptr);
1823 if (bCreateRedoData)
1828 bool bPaintAll =
false;
1852 sal_uInt16 nExtFlags = 0;
1857 OUString aOldString =
xUndoDoc->GetString(
1864 pWorkRefData->
DoUndo( &rDoc,
true );
1876 pChangeTrack->
Undo( 0, 0 );
std::unique_ptr< SdrUndoAction > pDrawUndo
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
SC_DLLPUBLIC ScDPObject * GetDPAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab) const
std::unique_ptr< ScDBCollection > pUndoColl
void UpdatePageBreaks(SCTAB nTab, const ScRange *pUserArea=nullptr)
std::unique_ptr< ScOutlineTable > xUndoTable
void DeleteRow(SCCOL nStartCol, SCTAB nStartTab, SCCOL nEndCol, SCTAB nEndTab, SCROW nStartRow, SCSIZE nSize, ScDocument *pRefUndoDoc=nullptr, bool *pUndoOutline=nullptr, const ScMarkData *pTabMark=nullptr)
bool RefreshAutoFilter(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab)
std::unique_ptr< ScDBCollection > xUndoDB
std::unique_ptr< ScOutlineTable > xUndoTable
void FitBlock(const ScRange &rOld, const ScRange &rNew, bool bClear=true)
SC_DLLPUBLIC ScDBCollection * GetDBCollection() const
ScDBData * GetDBData(bool bMarkArea=true, ScGetDBMode eMode=SC_DB_MAKE, ScGetDBSelection eSel=ScGetDBSelection::Keep)
virtual OUString GetComment() const override
bool AdjustBlockHeight(bool bPaint=true, ScMarkData *pMarkData=nullptr)
virtual ~ScUndoChartData() override
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
ScUndoChartData(ScDocShell *pNewDocShell, const OUString &rName, const ScRange &rNew, bool bColHdr, bool bRowHdr, bool bAdd)
OUString ScResId(TranslateId aId)
ScDocumentUniquePtr xUndoDoc
SC_DLLPUBLIC ScDBData * GetAnonymousDBData(SCTAB nTab)
std::unique_ptr< SdrUndoAction > GetSdrUndoAction(ScDocument *pDoc)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
ScDocumentUniquePtr pUndoDoc
virtual OUString GetComment() const override
void MarkRange(const ScRange &rRange, bool bSetCursor=true, bool bContinue=false)
std::unique_ptr< sal_Int32[]> pData
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Undo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
SC_DLLPUBLIC void CompileHybridFormula()
Call this immediately after updating named ranges.
virtual void Undo() override
virtual void Redo() override
SC_DLLPUBLIC bool ApplyFlagsTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, ScMF nFlags)
virtual ~ScUndoQuery() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual OUString GetComment() const override
SC_DLLPUBLIC ScDPCollection * GetDPCollection()
void SetOutRange(const ScRange &rRange)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
ScDocumentUniquePtr xRedoDoc
virtual ~ScUndoMakeOutline() override
ScDocumentUniquePtr xUndoDoc
void MakeOutline(bool bColumns, bool bRecord=true)
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)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Undo() override
bool ImportData(const ScImportParam &rParam)
std::unique_ptr< ScOutlineTable > xUndoTable
virtual void Redo() override
virtual void Undo() override
virtual OUString GetComment() const override
std::unique_ptr< SdrUndoAction > pDrawUndo
virtual ~ScUndoDoOutline() override
SC_DLLPUBLIC void SetCursor(SCCOL nPosX, SCROW nPosY, bool bNew=false)
virtual void Repeat(SfxRepeatTarget &rTarget) override
std::unique_ptr< ScDBCollection > xUndoDB
void UpdateChartArea(const OUString &rChartName, const ScRange &rNewArea, bool bColHeaders, bool bRowHeaders, bool bAdd)
std::unique_ptr< ScOutlineTable > xUndoTable
virtual OUString GetComment() const override
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...
void HideMarkedOutlines(bool bRecord=true)
static void ShowTable(SCTAB nTab)
virtual void Redo() override
ScUndoDataPilot(ScDocShell *pNewDocShell, ScDocumentUniquePtr pOldDoc, ScDocumentUniquePtr pNewDoc, const ScDPObject *pOldObj, const ScDPObject *pNewObj, bool bMove)
ScUndoDoOutline(ScDocShell *pNewDocShell, SCCOLROW nNewStart, SCCOLROW nNewEnd, SCTAB nNewTab, ScDocumentUniquePtr pNewUndoDoc, bool bNewColumns, sal_uInt16 nNewLevel, sal_uInt16 nNewEntry, bool bNewShow)
SfxApplication * SfxGetpApp()
std::unique_ptr< ScOutlineTable > xUndoTable
std::unique_ptr< ScDBData > xRedoDBData
void ShowOutline(bool bColumns, sal_uInt16 nLevel, sal_uInt16 nEntry, bool bRecord=true, bool bPaint=true)
ScRangeListRef aNewRangeListRef
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual OUString GetComment() const override
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual void Repeat(SfxRepeatTarget &rTarget) override
void UpdatePaintExt(sal_uInt16 &rExtFlags, SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab, SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab)
virtual void Repeat(SfxRepeatTarget &rTarget) override
SC_DLLPUBLIC SCROW MaxRow() const
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 ...
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
SC_DLLPUBLIC SCTAB GetTableCount() const
ScDocumentUniquePtr xOldUndoDoc
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)
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)
void DoSubTotals(const ScSubTotalParam &rParam, bool bRecord=true, const ScSortParam *pForceNewSort=nullptr)
virtual ~ScUndoAutoFilter() override
void GetOldChartParameters(std::u16string_view rName, ScRangeList &rRanges, bool &rColHeaders, bool &rRowHeaders)
void push_back(const ScRange &rRange)
virtual void Repeat(SfxRepeatTarget &rTarget) override
std::unique_ptr< ScRangeName > xUndoRange
void RedoSdrUndoAction(SdrUndoAction *pUndoAction)
ScConsolidateParam aParam
virtual void Undo() override
std::unique_ptr< ScDPObject > xNewDPObject
std::unique_ptr< ScDBCollection > pRedoColl
void DoneBlockMode(bool bContinue=false)
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)
bool SetOutlineTable(SCTAB nTab, const ScOutlineTable *pNewOutline)
ScDocumentUniquePtr xUndoDoc
ScDocumentUniquePtr xUndoDoc
std::unique_ptr< ScDBCollection > xUndoDB
ScDocumentUniquePtr xUndoDoc
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScViewData & GetViewData()
ScChangeTrack * GetChangeTrack() const
SC_DLLPUBLIC void Undo(sal_uLong nStartAction, sal_uLong nEndAction, bool bMerge=false)
virtual void Undo() override
std::unique_ptr< ScOutlineTable > xUndoTable
virtual void Undo() override
SC_DLLPUBLIC bool SetString(SCCOL nCol, SCROW nRow, SCTAB nTab, const OUString &rString, const ScSetStringParam *pParam=nullptr)
std::unique_ptr< ScOutlineTable > xUndoTab
SC_DLLPUBLIC SCCOL MaxCol() const
void RepeatDB(bool bRecord=true)
void InvalidatePageBreaks(SCTAB nTab)
void SetDBCollection(std::unique_ptr< ScDBCollection > pNewDBCollection, bool bRemoveAutoFilter=false)
SC_DLLPUBLIC CellType GetCellType(SCCOL nCol, SCROW nRow, SCTAB nTab) const
virtual void Undo() override
virtual OUString GetComment() const override
std::unique_ptr< ScDocument, o3tl::default_delete< ScDocument > > ScDocumentUniquePtr
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual OUString GetComment() const override
bool DataPilotUpdate(ScDPObject *pOldObj, const ScDPObject *pNewObj, bool bRecord, bool bApi, bool bAllowMove=false)
void OnLOKShowHideColRow(bool bColumns, SCCOLROW nStartRow)
SC_DLLPUBLIC void SetAutoCalc(bool bNewAutoCalc)
std::unique_ptr< ScDBData > xUndoDBData
void SetSaveData(const ScDPSaveData &rData)
static SC_DLLPUBLIC const CharClass & getCharClass()
ScDocumentUniquePtr xUndoDoc
virtual void Redo() override
virtual void Redo() override
bool InsertRow(SCCOL nStartCol, SCTAB nStartTab, SCCOL nEndCol, SCTAB nEndTab, SCROW nStartRow, SCSIZE nSize, ScDocument *pRefUndoDoc=nullptr, const ScMarkData *pTabMark=nullptr)
SC_DLLPUBLIC void SetTabNo(SCTAB nTab, bool bNew=false, bool bExtendSelection=false, bool bSameTabButMoved=false)
virtual void Redo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
void DoSdrUndoAction(SdrUndoAction *pUndoAction, ScDocument *pDoc)
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 void Repeat(SfxRepeatTarget &rTarget) override
std::unique_ptr< ScOutlineTable > pUndoTable
ScUndoAutoFilter(ScDocShell *pNewDocShell, const ScRange &rRange, const OUString &rName, bool bSet)
ScUndoRemoveAllOutlines(ScDocShell *pNewDocShell, SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr< ScOutlineTable > pNewUndoTab)
virtual void Redo() override
void BroadcastUno(const SfxHint &rHint)
SC_DLLPUBLIC ScDPObject * InsertNewTable(std::unique_ptr< ScDPObject > pDPObj)
virtual OUString GetComment() const override
void RemoveAllOutlines(bool bRecord=true)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
void SelectLevel(bool bColumns, sal_uInt16 nLevel, bool bRecord=true)
constexpr OUStringLiteral STR_DB_LOCAL_NONAME
virtual void Undo() override
void ShowMarkedOutlines(bool bRecord=true)
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...
virtual ~ScUndoDBData() override
void PostPaint(SCCOL nStartCol, SCROW nStartRow, SCTAB nStartTab, SCCOL nEndCol, SCROW nEndRow, SCTAB nEndTab, PaintPartFlags nPart, sal_uInt16 nExtFlags=0)
void GetArea(SCTAB &rTab, SCCOL &rCol1, SCROW &rRow1, SCCOL &rCol2, SCROW &rRow2) const
SC_DLLPUBLIC bool ExtendMerge(SCCOL nStartCol, SCROW nStartRow, SCCOL &rEndCol, SCROW &rEndRow, SCTAB nTab, bool bRefresh=false)
SfxViewShell * GetViewShell() const
void UpdateScrollBars(HeaderType eHeaderType=BOTH_HEADERS)
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
ScDocumentUniquePtr xUndoDoc
virtual void Repeat(SfxRepeatTarget &rTarget) override
ScDBData * findByUpperName(const OUString &rName)
std::unique_ptr< ScDBData > xUndoData
ScDocumentUniquePtr xUndoDoc
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
void SetDirty(const ScRange &, bool bIncludeEmptyCells)
virtual void Undo() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
ScUndoDBData(ScDocShell *pNewDocShell, std::unique_ptr< ScDBCollection > pNewUndoColl, std::unique_ptr< ScDBCollection > pNewRedoColl)
static ScTabViewShell * GetActiveViewShell()
virtual void Undo() override
void HideOutline(bool bColumns, sal_uInt16 nLevel, sal_uInt16 nEntry, bool bRecord=true, bool bPaint=true)
ScImportParam aImportParam
void DoUndo(ScDocument *pDoc, bool bUndoRefFirst)
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...
SC_DLLPUBLIC bool RemoveFlagsTab(SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, SCTAB nTab, ScMF nFlags)
ScDocumentUniquePtr xNewUndoDoc
std::unique_ptr< ScRangeName > xUndoRange
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
const ScDocument & GetDocument() const
SC_DLLPUBLIC void PreprocessDBDataUpdate()
void DoChange(bool bUndo)
ScUndoAutoOutline(ScDocShell *pNewDocShell, SCCOL nStartX, SCROW nStartY, SCTAB nStartZ, SCCOL nEndX, SCROW nEndY, SCTAB nEndZ, ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr< ScOutlineTable > pNewUndoTab)
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 void Redo() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual OUString GetComment() const override
static bool isAnyEditViewInRange(const SfxViewShell *pForViewShell, bool bColumns, SCCOLROW nStart, SCCOLROW nEnd)
void SetRangeName(SCTAB nTab, std::unique_ptr< ScRangeName > pNew)
virtual void Redo() override
virtual OUString GetComment() const override
void DoConsolidate(const ScConsolidateParam &rParam, bool bRecord=true)
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual void Redo() override
virtual OUString GetComment() const override
virtual void Redo() override
virtual void Repeat(SfxRepeatTarget &rTarget) override
SC_DLLPUBLIC void Query(const ScQueryParam &rQueryParam, const ScRange *pAdvSource, bool bRecord)
void RemoveOutline(bool bColumns, bool bRecord=true)
virtual void Redo() override
virtual OUString GetComment() const override
const ScDBData * GetDBAtCursor(SCCOL nCol, SCROW nRow, SCTAB nTab, ScDBDataPortion ePortion) const
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Undo() override
virtual OUString GetComment() const override
SC_DLLPUBLIC void DeleteAreaTab(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, SCTAB nTab, InsertDeleteFlags nDelFlag)
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 Undo() override
virtual bool CanRepeat(SfxRepeatTarget &rTarget) const override
virtual void Redo() override
ScDocumentUniquePtr xUndoDoc
ScUndoOutlineLevel(ScDocShell *pNewDocShell, SCCOLROW nNewStart, SCCOLROW nNewEnd, SCTAB nNewTab, ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr< ScOutlineTable > pNewUndoTab, bool bNewColumns, sal_uInt16 nNewLevel)
SC_DLLPUBLIC void CellContentChanged()
ScUndoQuery(ScDocShell *pNewDocShell, SCTAB nNewTab, const ScQueryParam &rParam, ScDocumentUniquePtr pNewUndoDoc, std::unique_ptr< ScDBCollection > pNewUndoDB, const ScRange *pOld, bool bSize, const ScRange *pAdvSrc)
virtual OUString GetComment() const override
virtual void Undo() override
std::unique_ptr< ScDPObject > xOldDPObject
Strings (and string results if InsertDeleteFlags::FORMULA is not set).
void EnableDrawAdjust(ScDocument *pDoc, bool bEnable)
void SetAutoFilter(bool bSet)
SC_DLLPUBLIC bool GetAutoCalc() const
void FreeTable(const ScDPObject *pDPObj)
bool m_bDetectedRangeSegmentation false
virtual void Redo() override
ScRangeListRef aOldRangeListRef
virtual void Repeat(SfxRepeatTarget &rTarget) override
virtual void Redo() override