20#include <com/sun/star/drawing/FillStyle.hpp>
31#include <svx/strings.hrc>
48#include <osl/diagnose.h>
64 : rMod(rNewMod), m_nViewShellId(-1)
83 DBG_ASSERT(pV!=
nullptr,
"Repeat: SfxRepeatTarget that was handed over is not a SdrView");
134 for (std::unique_ptr<SdrUndoAction> & pAction :
maActions)
207 const OUString rStr {
SvxResId(pStrCacheID)};
209 const sal_Int32
nPos = rStr.indexOf(
"%1");
214 return rStr.replaceAt(
nPos, 2,
SvxResId(STR_ObjNameSingulPlural));
232 mxObj->getSdrModelFromSdrObject().Broadcast(aHint);
244 const OUString aParent(rSheet.
GetParent());
247 rStyleSheetPool.
Insert(&rSheet);
254 , bHaveToTakeRedoSet(true)
268 for(
size_t nObjNum = 0; nObjNum < nObjCount; ++nObjNum)
271 std::make_unique<SdrUndoAttrObj>(*pOL->
GetObj(nObjNum), bStyleSheet1));
275 if(bIsGroup && !bIs3DScene)
285 auto p =
mxObj->GetOutlinerParaObject();
322 auto p =
mxObj->GetOutlinerParaObject();
333 if(pSheet &&
mxObj->getSdrModelFromSdrObject().GetStyleSheetPool())
336 mxObj->SetStyleSheet(pSheet,
true);
340 OSL_ENSURE(
false,
"OOps, something went wrong in SdrUndoAttrObj (!)");
372 mxObj->ClearMergedItem(nWhich);
380 mxObj->ClearMergedItem();
387 if(aSnapRect !=
mxObj->GetSnapRect())
390 mxObj->NbcSetSnapRect(aLogicRect);
392 mxObj->NbcSetSnapRect(aSnapRect);
395 mxObj->GetProperties().BroadcastItemChange(aItemChange);
421 if(pSheet &&
mxObj->getSdrModelFromSdrObject().GetStyleSheetPool())
424 mxObj->SetStyleSheet(pSheet,
true);
428 OSL_ENSURE(
false,
"OOps, something went wrong in SdrUndoAttrObj (!)");
453 mxObj->ClearMergedItem(nWhich);
461 mxObj->ClearMergedItem();
468 if(aSnapRect !=
mxObj->GetSnapRect())
471 mxObj->NbcSetSnapRect(aLogicRect);
473 mxObj->NbcSetSnapRect(aSnapRect);
476 mxObj->GetProperties().BroadcastItemChange(aItemChange);
560 , mbSkipChangeLayout(false)
570 for (
size_t nObjNum = 0; nObjNum<nObjCount; ++nObjNum) {
571 pUndoGroup->AddAction(std::make_unique<SdrUndoGeoObj>(*pOL->
GetObj(nObjNum)));
597 mxObj->ActionChanged();
608 pTableObj->SetSkipChangeLayout(
false);
619 mxObj->ActionChanged();
638, m_aStartState(rStartState)
654 if(!
mxObj->isDiagram())
657 mxObj->getDiagramHelper()->applyDiagramDataState(
700 DBG_ASSERT(!
mxObj->IsInserted(),
"UndoRemoveObj: mxObj has already been inserted.");
701 if (
mxObj->IsInserted())
707 Point aOwnerAnchorPos(0, 0);
718 if(aOwnerAnchorPos.
X() || aOwnerAnchorPos.
Y())
720 mxObj->NbcSetAnchorPos(aOwnerAnchorPos);
726 DBG_ASSERT(
mxObj->IsInserted(),
"RedoRemoveObj: mxObj is not inserted.");
727 if (
mxObj->IsInserted())
748 DBG_ASSERT(
mxObj->IsInserted(),
"UndoInsertObj: mxObj is not inserted.");
749 if (
mxObj->IsInserted())
754 DBG_ASSERT(pChkObj.get()==
mxObj.get(),
"UndoInsertObj: RemoveObjNum!=mxObj");
760 DBG_ASSERT(!
mxObj->IsInserted(),
"RedoInsertObj: mxObj is already inserted");
761 if (!
mxObj->IsInserted())
766 Point aAnchorPos( 0, 0 );
770 aAnchorPos =
mxObj->GetAnchorPos();
776 if ( aAnchorPos.
X() || aAnchorPos.
Y() )
778 mxObj->NbcSetAnchorPos( aAnchorPos );
844 , mxNewObj(&rNewObj1)
858 DBG_ASSERT(!
mxObj->IsInserted(),
"SdrUndoReplaceObj::Undo(): Old object is already inserted!");
859 DBG_ASSERT(
mxNewObj->IsInserted(),
"SdrUndoReplaceObj::Undo(): New object is not inserted!");
885 , maOldLayer(aOldLayer)
886 , maNewLayer(aNewLayer)
905 , nOldOrdNum(nOldOrdNum1)
906 , nNewOrdNum(nNewOrdNum1)
918 OSL_FAIL(
"UndoObjOrdNum: mxObj does not have an ObjList.");
929 OSL_FAIL(
"RedoObjOrdNum: mxObj does not have an ObjList.");
944 ::std::vector<sal_Int32>
const& rSortOrder)
946 , m_OldSortOrder(rSortOrder.
size())
947 , m_NewSortOrder(rSortOrder)
948 , m_nPage(rPage.GetPageNum())
951 for (
size_t i = 0;
i < rSortOrder.size(); ++
i)
963 SAL_WARN(
"svx",
"SdrUndoSort size mismatch");
968 rPage.
sort(rSortOrder);
988 , bNewTextAvailable(false)
989 , bEmptyPresObj(false)
1030 OSL_ENSURE(
false,
"SdrUndoObjSetText::Undo with SdrObject not based on SdrTextObj (!)");
1072 OSL_ENSURE(
false,
"SdrUndoObjSetText::Redo with SdrObject not based on SdrTextObj (!)");
1125 for (
size_t nm=0; nm<
nCount; ++nm)
1129 if (pTextObj!=
nullptr)
1132 rView.
AddUndo(std::make_unique<SdrUndoObjSetText>(*pTextObj,0));
1157 , meObjStrAttr( eObjStrAttr )
1158 , msOldStr(
std::move( sOldStr ))
1159 , msNewStr(
std::move( sNewStr ))
1221 , m_WasDecorative(WasDecorative)
1247 , pLayer(rNewLayerAdmin.GetLayer(nLayerNum))
1248 , pLayerAdmin(&rNewLayerAdmin)
1264 DBG_ASSERT(!
bItsMine,
"SdrUndoNewLayer::Undo(): Layer already belongs to UndoAction.");
1268 assert(pCmpLayer ==
pLayer &&
"SdrUndoNewLayer::Undo(): Removed layer is != pLayer."); (void)pCmpLayer;
1273 DBG_ASSERT(
bItsMine,
"SdrUndoNewLayer::Undo(): Layer does not belong to UndoAction.");
1286 DBG_ASSERT(
bItsMine,
"SdrUndoDelLayer::Undo(): Layer does not belong to UndoAction.");
1293 DBG_ASSERT(!
bItsMine,
"SdrUndoDelLayer::Undo(): Layer already belongs to UndoAction.");
1297 assert(pCmpLayer ==
pLayer &&
"SdrUndoDelLayer::Redo(): Removed layer is != pLayer."); (void)pCmpLayer;
1316 DBG_ASSERT(!
mxPage->IsInserted(),
"SdrUndoPage::ImpInsertPage(): mxPage is already inserted.");
1317 if (!
mxPage->IsInserted())
1319 if (
mxPage->IsMasterPage())
1332 DBG_ASSERT(
mxPage->IsInserted(),
"SdrUndoPage::ImpRemovePage(): mxPage is not inserted.");
1333 if (!
mxPage->IsInserted())
1337 if (
mxPage->IsMasterPage())
1345 DBG_ASSERT(pChkPg==
mxPage,
"SdrUndoPage::ImpRemovePage(): RemovePage!=mxPage");
1350 DBG_ASSERT(
mxPage->IsInserted(),
"SdrUndoPage::ImpMovePage(): mxPage is not inserted.");
1351 if (
mxPage->IsInserted())
1353 if (
mxPage->IsMasterPage())
1383 , mbHasFillBitmap(false)
1386 if (
mxPage->IsMasterPage())
1400 if(!
mxPage->IsMasterPage())
1405 for(sal_uInt16 nPageNum2(0); nPageNum2 < nPageCnt; nPageNum2++)
1413 if(
mxPage.get() == &rMasterPage)
1473 mbHasFillBitmap = pItem->GetValue() == css::drawing::FillStyle_BITMAP;
1478 if (
mxPage->IsMasterPage())
1481 assert(
bool(pStyleSheet));
1501 if (
mxPage->IsMasterPage())
1504 assert(
bool(pStyleSheet));
1577 , mbOldHadMasterPage(mxPage->TRG_HasMasterPage())
1578 , maOldMasterPageNumber(0)
1588SdrUndoPageMasterPage::~SdrUndoPageMasterPage()
1608 mxPage->TRG_ClearMasterPage();
1618 , mbNewHadMasterPage(false)
1619 , maNewMasterPageNumber(0)
1626 if(
mxPage->TRG_HasMasterPage())
1636 mxPage->TRG_ClearMasterPage();
1647 mxPage->TRG_ClearMasterPage();
1665 return std::make_unique<SdrUndoMoveObj>( rObject, rDist );
1670 return std::make_unique<SdrUndoGeoObj>( rObject );
1676 return std::make_unique<SdrUndoDiagramModelData>( rObject, rStartState );
1681 return std::make_unique<SdrUndoAttrObj>( rObject, bStyleSheet1, bSaveText );
1686 return std::make_unique<SdrUndoRemoveObj>(rObject);
1691 return std::make_unique<SdrUndoInsertObj>( rObject, bOrdNumDirect );
1696 return std::make_unique<SdrUndoDelObj>( rObject, bOrdNumDirect );
1701 return std::make_unique<SdrUndoNewObj>( rObject, bOrdNumDirect );
1706 return std::make_unique<SdrUndoCopyObj>( rObject, bOrdNumDirect );
1711 return std::make_unique<SdrUndoObjOrdNum>( rObject, nOldOrdNum1, nNewOrdNum1 );
1716 return std::make_unique<SdrUndoSort>(rPage, rSortOrder);
1721 return std::make_unique<SdrUndoReplaceObj>( rOldObject, rNewObject );
1726 return std::make_unique<SdrUndoObjectLayerChange>( rObject, aOldLayer, aNewLayer );
1731 return std::make_unique<SdrUndoObjSetText>( rNewObj, nText );
1736 const OUString& sOldStr,
1737 const OUString& sNewStr )
1739 return std::make_unique<SdrUndoObjStrAttr>( rObject, eObjStrAttrType, sOldStr, sNewStr );
1743 SdrObject& rObject,
bool const WasDecorative)
1745 return std::make_unique<SdrUndoObjDecorative>(rObject, WasDecorative);
1752 return std::make_unique<SdrUndoNewLayer>( nLayerNum, rNewLayerAdmin, rNewModel );
1757 return std::make_unique<SdrUndoDelLayer>( nLayerNum, rNewLayerAdmin, rNewModel );
1763 return std::make_unique<SdrUndoDelPage>(rPage);
1768 return std::make_unique<SdrUndoNewPage>( rPage );
1773 return std::make_unique<SdrUndoCopyPage>( rPage );
1778 return std::make_unique<SdrUndoSetPageNum>( rNewPg, nOldPageNum1, nNewPageNum1 );
1783 return std::make_unique<SdrUndoPageRemoveMasterPage>( rChangedPage );
1788 return std::make_unique<SdrUndoPageChangeMasterPage>(rChangedPage);
Helper for 3d object changes affecting 2d geometry.
constexpr tools::Long Y() const
constexpr tools::Long X() const
bool IsConvertToPolyObjPossible() const
bool IsUnGroupPossible() const
bool IsUndoEnabled() const
void ConvertMarkedToPathObj(bool bLineToArea)
void ReverseOrderOfMarked()
bool IsConvertToPathObjPossible() const
bool IsDismantlePossible(bool bMakeLines=false) const
void AddUndo(std::unique_ptr< SdrUndoAction > pUndo)
bool IsCombinePossible(bool bNoPolyPoly=false) const
void DismantleMarkedObjects(bool bMakeLines=false)
bool IsImportMtfPossible() const
void DoImportMarkedMtf(SvdProgressInfo *pProgrInfo=nullptr)
bool IsReverseOrderPossible() const
void CombineMarkedObjects(bool bNoPolyPoly=true)
bool IsToTopPossible() const
void ConvertMarkedToPolyObj()
bool IsToBtmPossible() const
void MoveMarkedObj(const Size &rSiz, bool bCopy=false)
bool IsGroupPossible() const
std::unique_ptr< SdrLayer > RemoveLayer(sal_uInt16 nPos)
void InsertLayer(std::unique_ptr< SdrLayer > pLayer, sal_uInt16 nPos)
size_t GetMarkCount() const
SdrMark * GetMark(size_t nNum) const
const SdrMarkList & GetMarkedObjectList() const
bool AreObjectsMarked() const
bool MarkObj(const Point &rPnt, short nTol=-2, bool bToggle=false, bool bDeep=false)
SdrObject * GetMarkedSdrObj() const
virtual rtl::Reference< SdrPage > RemovePage(sal_uInt16 nPgNum)
virtual void InsertPage(SdrPage *pPage, sal_uInt16 nPos=0xFFFF)
virtual rtl::Reference< SdrPage > RemoveMasterPage(sal_uInt16 nPgNum)
virtual void MovePage(sal_uInt16 nPgNum, sal_uInt16 nNewPos)
SdrUndoFactory & GetSdrUndoFactory() const
returns the models undo factory.
virtual void InsertMasterPage(SdrPage *pPage, sal_uInt16 nPos=0xFFFF)
void MoveMasterPage(sal_uInt16 nPgNum, sal_uInt16 nNewPos)
const SdrPage * GetPage(sal_uInt16 nPgNum) const
sal_uInt16 GetPageCount() const
virtual rtl::Reference< SdrObject > ReplaceObject(SdrObject *pNewObj, size_t nObjNum)
Replace existing object by different one.
virtual SdrObject * SetObjectOrdNum(size_t nOldObjNum, size_t nNewObjNum)
Modify ZOrder of an SdrObject.
virtual void InsertObject(SdrObject *pObj, size_t nPos=SAL_MAX_SIZE)
SdrObject * GetObj(size_t nNum) const
size_t GetObjCount() const
void sort(std::vector< sal_Int32 > &sortOrder)
virtual rtl::Reference< SdrObject > RemoveObject(size_t nObjNum)
virtual SdrObject * getSdrObjectFromSdrObjList() const
const Point & GetAnchorPos() const
void ActionChanged() const
void SetOutlinerParaObject(std::optional< OutlinerParaObject > pTextObject)
void BroadcastObjectChange() const
virtual const std::shared_ptr< svx::diagram::IDiagramHelper > & getDiagramHelper() const
void SetEmptyPresObj(bool bEpt)
virtual SdrObjList * GetSubList() const
bool IsEmptyPresObj() const
virtual OUString TakeObjNameSingul() const
void PutItem(const SfxPoolItem &rItem)
void ClearItem(const sal_uInt16 nWhich=0)
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
SdrPage & TRG_GetMasterPage() const
sal_uInt16 GetPageNum() const
bool TRG_HasMasterPage() const
SdrPageView * GetSdrPageView() const
void NbcSetOutlinerParaObjectForText(std::optional< OutlinerParaObject > pTextObject, SdrText *pText)
virtual bool NbcAdjustTextFrameWidthAndHeight(bool bHgt=true, bool bWdt=true)
virtual SdrText * getText(sal_Int32 nIndex) const override
returns the nth available text.
OutlinerParaObject * GetOutlinerParaObject()
Abstract base class (ABC) for all UndoActions of DrawingEngine.
ViewShellId GetViewShellId() const override
See SfxUndoAction::GetViewShellId().
virtual void Repeat(SfxRepeatTarget &rView) override
virtual OUString GetRepeatComment(SfxRepeatTarget &rView) const override
virtual bool CanSdrRepeat(SdrView &rView) const
virtual OUString GetSdrRepeatComment() const
virtual void SdrRepeat(SdrView &rView)
virtual bool CanRepeat(SfxRepeatTarget &rView) const override
SdrUndoAction(SdrModel &rNewMod)
virtual ~SdrUndoAction() override
ViewShellId m_nViewShellId
std::unique_ptr< SdrUndoGroup > pUndoGroup
static void ensureStyleSheetInStyleSheetPool(SfxStyleSheetBasePool &rStyleSheetPool, SfxStyleSheet &rSheet)
std::optional< SfxItemSet > moRedoSet
virtual void Undo() override
std::optional< SfxItemSet > moUndoSet
virtual ~SdrUndoAttrObj() override
SdrUndoAttrObj(SdrObject &rNewObj, bool bStyleSheet1=false, bool bSaveText=false)
rtl::Reference< SfxStyleSheetBase > mxUndoStyleSheet
rtl::Reference< SfxStyleSheetBase > mxRedoStyleSheet
std::optional< OutlinerParaObject > pTextRedo
virtual void Redo() override
virtual OUString GetSdrRepeatComment() const override
virtual OUString GetComment() const override
std::optional< OutlinerParaObject > pTextUndo
virtual OUString GetComment() const override
virtual void SdrRepeat(SdrView &rView) override
virtual bool CanSdrRepeat(SdrView &rView) const override
virtual OUString GetComment() const override
virtual OUString GetSdrRepeatComment() const override
virtual OUString GetComment() const override
virtual void Redo() override
virtual void Undo() override
virtual void Redo() override
virtual OUString GetComment() const override
virtual void Undo() override
virtual void SdrRepeat(SdrView &rView) override
virtual bool CanSdrRepeat(SdrView &rView) const override
SdrUndoDelObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
virtual OUString GetSdrRepeatComment() const override
std::unique_ptr< SfxPoolItem > mpFillBitmapItem
virtual ~SdrUndoDelPage() override
virtual OUString GetComment() const override
virtual void SdrRepeat(SdrView &rView) override
SdrUndoDelPage(SdrPage &rNewPg)
virtual bool CanSdrRepeat(SdrView &rView) const override
void queryFillBitmap(const SfxItemSet &rItemSet)
virtual void Undo() override
virtual void Redo() override
std::unique_ptr< SdrUndoGroup > pUndoGroup
virtual OUString GetSdrRepeatComment() const override
virtual ~SdrUndoDiagramModelData() override
std::shared_ptr< svx::diagram::DiagramDataState > m_aStartState
void implUndoRedo(bool bUndo)
virtual OUString GetComment() const override
std::shared_ptr< svx::diagram::DiagramDataState > m_aEndState
SdrUndoDiagramModelData(SdrObject &rNewObj, std::shared_ptr< svx::diagram::DiagramDataState > &rStartState)
virtual void Undo() override
virtual void Redo() override
virtual ~SdrUndoFactory()
static std::unique_ptr< SdrUndoAction > CreateUndoSort(SdrPage &rPage, ::std::vector< sal_Int32 > const &rSortOrder)
virtual std::unique_ptr< SdrUndoAction > CreateUndoCopyPage(SdrPage &rPage)
virtual std::unique_ptr< SdrUndoAction > CreateUndoObjectOrdNum(SdrObject &rObject, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1)
virtual std::unique_ptr< SdrUndoAction > CreateUndoCopyObject(SdrObject &rObject, bool bOrdNumDirect=false)
virtual std::unique_ptr< SdrUndoAction > CreateUndoObjectSetText(SdrObject &rNewObj, sal_Int32 nText)
virtual std::unique_ptr< SdrUndoAction > CreateUndoReplaceObject(SdrObject &rOldObject, SdrObject &rNewObject)
static std::unique_ptr< SdrUndoAction > CreateUndoObjectStrAttr(SdrObject &rObject, SdrUndoObjStrAttr::ObjStrAttrType eObjStrAttrType, const OUString &sOldStr, const OUString &sNewStr)
virtual std::unique_ptr< SdrUndoAction > CreateUndoDeleteLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
virtual std::unique_ptr< SdrUndoAction > CreateUndoPageChangeMasterPage(SdrPage &rChangedPage)
virtual std::unique_ptr< SdrUndoAction > CreateUndoPageRemoveMasterPage(SdrPage &rChangedPage)
virtual std::unique_ptr< SdrUndoAction > CreateUndoDeletePage(SdrPage &rPage)
static std::unique_ptr< SdrUndoAction > CreateUndoObjectDecorative(SdrObject &rObject, bool const WasDecorative)
virtual std::unique_ptr< SdrUndoAction > CreateUndoNewPage(SdrPage &rPage)
virtual std::unique_ptr< SdrUndoAction > CreateUndoRemoveObject(SdrObject &rObject)
virtual std::unique_ptr< SdrUndoAction > CreateUndoDiagramModelData(SdrObject &rObject, std::shared_ptr< svx::diagram::DiagramDataState > &rStartState)
virtual std::unique_ptr< SdrUndoAction > CreateUndoNewObject(SdrObject &rObject, bool bOrdNumDirect=false)
virtual std::unique_ptr< SdrUndoAction > CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
virtual std::unique_ptr< SdrUndoAction > CreateUndoAttrObject(SdrObject &rObject, bool bStyleSheet1=false, bool bSaveText=false)
virtual std::unique_ptr< SdrUndoAction > CreateUndoInsertObject(SdrObject &rObject, bool bOrdNumDirect=false)
virtual std::unique_ptr< SdrUndoAction > CreateUndoDeleteObject(SdrObject &rObject, bool bOrdNumDirect=false)
virtual std::unique_ptr< SdrUndoAction > CreateUndoSetPageNum(SdrPage &rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
virtual std::unique_ptr< SdrUndoAction > CreateUndoMoveObject(SdrObject &rObject, const Size &rDist)
virtual std::unique_ptr< SdrUndoAction > CreateUndoObjectLayerChange(SdrObject &rObject, SdrLayerID aOldLayer, SdrLayerID aNewLayer)
virtual std::unique_ptr< SdrUndoAction > CreateUndoGeoObject(SdrObject &rObject)
std::unique_ptr< SdrUndoGroup > pUndoGroup
virtual void Redo() override
SdrUndoGeoObj(SdrObject &rNewObj)
virtual OUString GetComment() const override
std::unique_ptr< SdrObjGeoData > pUndoGeo
std::unique_ptr< SdrObjGeoData > pRedoGeo
bool mbSkipChangeLayout
If we have a table object, should its layout change?
virtual void Undo() override
virtual ~SdrUndoGeoObj() override
Aggregation of arbitrarily many UndoActions to a single UndoAction.
void AddAction(std::unique_ptr< SdrUndoAction > pAct)
virtual void Redo() override
virtual bool CanSdrRepeat(SdrView &rView) const override
virtual ~SdrUndoGroup() override
std::vector< std::unique_ptr< SdrUndoAction > > maActions
virtual OUString GetComment() const override
virtual void Undo() override
virtual OUString GetSdrRepeatComment() const override
virtual void SdrRepeat(SdrView &rView) override
SdrUndoGroup(SdrModel &rNewMod)
virtual void Redo() override
virtual void Undo() override
SdrLayerAdmin * pLayerAdmin
SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
virtual ~SdrUndoLayer() override
virtual void Undo() override
virtual void SdrRepeat(SdrView &rView) override
virtual OUString GetSdrRepeatComment() const override
virtual ~SdrUndoMoveObj() override
virtual void Redo() override
virtual bool CanSdrRepeat(SdrView &rView) const override
virtual OUString GetComment() const override
virtual void Redo() override
virtual void Undo() override
virtual OUString GetComment() const override
virtual OUString GetComment() const override
virtual void Undo() override
virtual void Redo() override
virtual void Redo() override
virtual void Undo() override
virtual OUString GetComment() const override
SdrUndoObjDecorative(SdrObject &rObj, bool const WasDecorative)
bool const m_WasDecorative
virtual void Redo() override
virtual void Undo() override
virtual OUString GetComment() const override
virtual ~SdrUndoObjList() override
SdrUndoObjList(SdrObject &rNewObj, bool bOrdNumDirect)
virtual OUString GetComment() const override
virtual void Redo() override
virtual void Undo() override
SdrUndoObjOrdNum(SdrObject &rNewObj, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1)
virtual void SdrRepeat(SdrView &rView) override
virtual OUString GetComment() const override
SdrUndoObjSetText(SdrObject &rNewObj, sal_Int32 nText)
virtual ~SdrUndoObjSetText() override
virtual OUString GetSdrRepeatComment() const override
virtual bool CanSdrRepeat(SdrView &rView) const override
virtual void Undo() override
std::optional< OutlinerParaObject > pNewText
virtual void Redo() override
std::optional< OutlinerParaObject > pOldText
virtual void Undo() override
virtual OUString GetComment() const override
SdrUndoObjStrAttr(SdrObject &rNewObj, const ObjStrAttrType eObjStrAttr, OUString sOldStr, OUString sNewStr)
const ObjStrAttrType meObjStrAttr
virtual void Redo() override
Abstract base class for all UndoActions that handle objects.
static OUString GetDescriptionStringForObject(const SdrObject &_rForObject, TranslateId pStrCacheID, bool bRepeat=false)
virtual ~SdrUndoObj() override
SdrUndoObj(SdrObject &rNewObj)
void ImpShowPageOfThisObject()
rtl::Reference< SdrObject > mxObj
OUString ImpGetDescriptionStr(TranslateId pStrCacheID, bool bRepeat=false) const
virtual void Redo() override
virtual void Undo() override
SdrUndoObjectLayerChange(SdrObject &rObj, SdrLayerID aOldLayer, SdrLayerID aNewLayer)
virtual void Undo() override
virtual void Redo() override
sal_uInt16 maNewMasterPageNumber
virtual OUString GetComment() const override
SdrUndoPageChangeMasterPage(SdrPage &rChangedPage)
ABC for manipulation of a PageList: New Page, DeletePage, MovePage (ChangePageNum).
virtual ~SdrUndoPageList() override
SdrUndoPageList(SdrPage &rNewPg)
ABC for all UndoActions that have something to do with MasterPage relationships.
SdrUndoPageMasterPage(SdrPage &rChangedPage)
sal_uInt16 maOldMasterPageNumber
ABC for all UndoActions that have something to do with SdrPages.
static OUString ImpGetDescriptionStr(TranslateId pStrCacheID)
SdrUndoPage(SdrPage &rNewPg)
void ImpInsertPage(sal_uInt16 nNum)
void ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum)
void ImpRemovePage(sal_uInt16 nNum)
rtl::Reference< SdrPage > mxPage
Removing an Object from an ObjectList.
virtual void Redo() override
virtual ~SdrUndoRemoveObj() override
virtual void Undo() override
SdrUndoReplaceObj(SdrObject &rOldObj1, SdrObject &rNewObj1)
rtl::Reference< SdrObject > mxNewObj
virtual void Redo() override
virtual void Undo() override
virtual ~SdrUndoReplaceObj() override
virtual void Redo() override
virtual OUString GetComment() const override
virtual void Undo() override
virtual void Redo() override
void Do(::std::vector< sal_Int32 > &rSortOrder)
::std::vector< sal_Int32 > m_NewSortOrder
SdrUndoSort(const SdrPage &rPage, ::std::vector< sal_Int32 > const &rSortOrder)
virtual OUString GetComment() const override
virtual void Undo() override
::std::vector< sal_Int32 > m_OldSortOrder
virtual void DeleteMarked()
size_t GetListenerCount() const
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
void Insert(SfxStyleSheetBase *)
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
virtual const OUString & GetParent() const
const OUString & GetName() const
SfxStyleFamily GetFamily() const
virtual SfxItemSet & GetItemSet()
virtual bool SetParent(const OUString &) override
static SAL_WARN_UNUSED_RESULT SfxViewShell * Current()
SfxItemState GetItemState(bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
constexpr tools::Long Height() const
constexpr tools::Long Width() const
void SetSkipChangeLayout(bool bSkipChangeLayout)
Next time layouting would be done, skip it (to layout at the end of multiple actions).
#define DBG_ASSERT(sCon, aError)
OUString SvxResId(TranslateId aId)
#define SAL_WARN(area, stream)
void ForAllViews(const SdrPage *pPage, std::function< void(SdrView *)> f)
std::shared_ptr< DiagramDataState > DiagramDataStatePtr
SdrTextObj * DynCastSdrTextObj(SdrObject *pObj)
E3dScene * DynCastE3dScene(SdrObject *pObj)
static void ImplUnmarkObject(SdrObject *pObj)
constexpr TypedWhichId< XFillBitmapItem > XATTR_FILLBITMAP(XATTR_FILL_FIRST+4)
constexpr TypedWhichId< XFillStyleItem > XATTR_FILLSTYLE(XATTR_FILL_FIRST)