20 #include <com/sun/star/drawing/FillStyle.hpp>
30 #include <svx/strings.hrc>
45 #include <osl/diagnose.h>
54 pView->MarkObj( pObj, pView->GetSdrPageView(), true );
59 : rMod(rNewMod), m_nViewShellId(-1)
78 DBG_ASSERT(pV!=
nullptr,
"Repeat: SfxRepeatTarget that was handed over is not a SdrView");
129 for (std::unique_ptr<SdrUndoAction> & pAction :
maActions)
200 const OUString rStr {
SvxResId(pStrCacheID)};
202 const sal_Int32
nPos = rStr.indexOf(
"%1");
207 return rStr.replaceAt(nPos, 2,
SvxResId(STR_ObjNameSingulPlural));
237 const OUString aParent(rSheet.
GetParent());
240 rStyleSheetPool.
Insert(&rSheet);
249 , bHaveToTakeRedoSet(true)
255 bool bIs3DScene(bIsGroup && dynamic_cast< E3dScene* >(
pObj) !=
nullptr);
263 for(
size_t nObjNum = 0; nObjNum < nObjCount; ++nObjNum)
266 std::make_unique<SdrUndoAttrObj>(*pOL->
GetObj(nObjNum), bStyleSheet1));
270 if(bIsGroup && !bIs3DScene)
298 bool bIs3DScene(dynamic_cast< E3dScene* >(
pObj) !=
nullptr);
335 OSL_ENSURE(
false,
"OOps, something went wrong in SdrUndoAttrObj (!)");
353 if(dynamic_cast<const SdrCaptionObj*>(
pObj) !=
nullptr)
365 if(SfxItemState::SET !=
pUndoSet->GetItemState(nWhich,
false))
384 if(dynamic_cast<const SdrObjCustomShape*>(
pObj))
407 bool bIs3DScene(dynamic_cast< E3dScene* >(
pObj) !=
nullptr);
423 OSL_ENSURE(
false,
"OOps, something went wrong in SdrUndoAttrObj (!)");
434 if(dynamic_cast<const SdrCaptionObj*>(
pObj) !=
nullptr)
446 if(SfxItemState::SET !=
pRedoSet->GetItemState(nWhich,
false))
465 if(dynamic_cast<const SdrObjCustomShape*>(
pObj))
555 , mbSkipChangeLayout(false)
558 if (pOL!=
nullptr && pOL->
GetObjCount() &&
dynamic_cast<const E3dScene*
>( &rNewObj) ==
nullptr)
565 for (
size_t nObjNum = 0; nObjNum<nObjCount; ++nObjNum) {
566 pUndoGroup->AddAction(std::make_unique<SdrUndoGeoObj>(*pOL->
GetObj(nObjNum)));
603 pTableObj->SetSkipChangeLayout(
false);
679 Point aOwnerAnchorPos(0, 0);
690 if(aOwnerAnchorPos.X() || aOwnerAnchorPos.Y())
738 Point aAnchorPos( 0, 0 );
748 if ( aAnchorPos.X() || aAnchorPos.Y() )
870 OSL_FAIL(
"SdrUndoReplaceObj::Undo(): Wrong IsMine flags. Did you call Undo twice?");
889 OSL_FAIL(
"SdrUndoReplaceObj::Redo(): Wrong IsMine flags. Did you call Redo twice?");
917 , maOldLayer(aOldLayer)
918 , maNewLayer(aNewLayer)
937 , nOldOrdNum(nOldOrdNum1)
938 , nNewOrdNum(nNewOrdNum1)
950 OSL_FAIL(
"UndoObjOrdNum: pObj does not have an ObjList.");
961 OSL_FAIL(
"RedoObjOrdNum: pObj does not have an ObjList.");
978 , bNewTextAvailable(false)
979 , bEmptyPresObj(false)
1020 OSL_ENSURE(
false,
"SdrUndoObjSetText::Undo with SdrObject not based on SdrTextObj (!)");
1045 if(dynamic_cast< sdr::table::SdrTableObj* >(pTarget) !=
nullptr)
1063 OSL_ENSURE(
false,
"SdrUndoObjSetText::Redo with SdrObject not based on SdrTextObj (!)");
1078 if(dynamic_cast< sdr::table::SdrTableObj* >(pTarget) !=
nullptr)
1117 for (
size_t nm=0; nm<nCount; ++nm)
1121 if (pTextObj!=
nullptr)
1124 rView.
AddUndo(std::make_unique<SdrUndoObjSetText>(*pTextObj,0));
1126 std::unique_ptr<OutlinerParaObject> pText1;
1149 const OUString& sOldStr,
1150 const OUString& sNewStr)
1152 , meObjStrAttr( eObjStrAttr )
1153 , msOldStr( sOldStr )
1154 , msNewStr( sNewStr )
1217 , pLayer(rNewLayerAdmin.GetLayer(nLayerNum))
1218 , pLayerAdmin(&rNewLayerAdmin)
1235 DBG_ASSERT(!
bItsMine,
"SdrUndoNewLayer::Undo(): Layer already belongs to UndoAction.");
1238 DBG_ASSERT(pCmpLayer==
pLayer,
"SdrUndoNewLayer::Undo(): Removed layer is != pLayer.");
1243 DBG_ASSERT(
bItsMine,
"SdrUndoNewLayer::Undo(): Layer does not belong to UndoAction.");
1256 DBG_ASSERT(
bItsMine,
"SdrUndoDelLayer::Undo(): Layer does not belong to UndoAction.");
1263 DBG_ASSERT(!
bItsMine,
"SdrUndoDelLayer::Undo(): Layer already belongs to UndoAction.");
1266 DBG_ASSERT(pCmpLayer==
pLayer,
"SdrUndoDelLayer::Redo(): Removed layer is != pLayer.");
1285 DBG_ASSERT(!
mxPage->IsInserted(),
"SdrUndoPage::ImpInsertPage(): mxPage is already inserted.");
1286 if (!
mxPage->IsInserted())
1288 if (
mxPage->IsMasterPage())
1301 DBG_ASSERT(
mxPage->IsInserted(),
"SdrUndoPage::ImpRemovePage(): mxPage is not inserted.");
1302 if (!
mxPage->IsInserted())
1306 if (
mxPage->IsMasterPage())
1314 DBG_ASSERT(pChkPg==
mxPage,
"SdrUndoPage::ImpRemovePage(): RemovePage!=mxPage");
1319 DBG_ASSERT(
mxPage->IsInserted(),
"SdrUndoPage::ImpMovePage(): mxPage is not inserted.");
1320 if (
mxPage->IsInserted())
1322 if (
mxPage->IsMasterPage())
1352 , mbHasFillBitmap(false)
1355 if (
mxPage->IsMasterPage())
1369 if(!
mxPage->IsMasterPage())
1374 for(sal_uInt16 nPageNum2(0); nPageNum2 < nPageCnt; nPageNum2++)
1382 if(
mxPage.get() == &rMasterPage)
1443 mbHasFillBitmap = static_cast<const XFillStyleItem*>(pItem)->GetValue() == css::drawing::FillStyle_BITMAP;
1448 if (
mxPage->IsMasterPage())
1451 assert(
bool(pStyleSheet));
1471 if (
mxPage->IsMasterPage())
1474 assert(
bool(pStyleSheet));
1547 , mbOldHadMasterPage(mxPage->TRG_HasMasterPage())
1548 , maOldMasterPageNumber(0)
1558 SdrUndoPageMasterPage::~SdrUndoPageMasterPage()
1578 mxPage->TRG_ClearMasterPage();
1588 , mbNewHadMasterPage(false)
1589 , maNewMasterPageNumber(0)
1596 if(
mxPage->TRG_HasMasterPage())
1606 mxPage->TRG_ClearMasterPage();
1617 mxPage->TRG_ClearMasterPage();
1635 return std::make_unique<SdrUndoMoveObj>( rObject, rDist );
1640 return std::make_unique<SdrUndoGeoObj>( rObject );
1645 return std::make_unique<SdrUndoAttrObj>( rObject, bStyleSheet1, bSaveText );
1650 return std::make_unique<SdrUndoRemoveObj>(rObject);
1655 return std::make_unique<SdrUndoInsertObj>( rObject, bOrdNumDirect );
1660 return std::make_unique<SdrUndoDelObj>( rObject, bOrdNumDirect );
1665 return std::make_unique<SdrUndoNewObj>( rObject, bOrdNumDirect );
1670 return std::make_unique<SdrUndoCopyObj>( rObject, bOrdNumDirect );
1675 return std::make_unique<SdrUndoObjOrdNum>( rObject, nOldOrdNum1, nNewOrdNum1 );
1680 return std::make_unique<SdrUndoReplaceObj>( rOldObject, rNewObject );
1685 return std::make_unique<SdrUndoObjectLayerChange>( rObject, aOldLayer, aNewLayer );
1690 return std::make_unique<SdrUndoObjSetText>( rNewObj, nText );
1695 const OUString& sOldStr,
1696 const OUString& sNewStr )
1698 return std::make_unique<SdrUndoObjStrAttr>( rObject, eObjStrAttrType, sOldStr, sNewStr );
1705 return std::make_unique<SdrUndoNewLayer>( nLayerNum, rNewLayerAdmin, rNewModel );
1710 return std::make_unique<SdrUndoDelLayer>( nLayerNum, rNewLayerAdmin, rNewModel );
1716 return std::make_unique<SdrUndoDelPage>(rPage);
1721 return std::make_unique<SdrUndoNewPage>( rPage );
1726 return std::make_unique<SdrUndoCopyPage>( rPage );
1731 return std::make_unique<SdrUndoSetPageNum>( rNewPg, nOldPageNum1, nNewPageNum1 );
1736 return std::make_unique<SdrUndoPageRemoveMasterPage>( rChangedPage );
1741 return std::make_unique<SdrUndoPageChangeMasterPage>(rChangedPage);
SdrPage & TRG_GetMasterPage() const
virtual rtl::Reference< SdrPage > RemoveMasterPage(sal_uInt16 nPgNum)
static OUString GetDescriptionStringForObject(const SdrObject &_rForObject, const char *pStrCacheID, bool bRepeat=false)
virtual void Redo() override
virtual void Undo() override
ViewShellId GetViewShellId() const override
See SfxUndoAction::GetViewShellId().
void MoveMasterPage(sal_uInt16 nPgNum, sal_uInt16 nNewPos)
void SetNewOwner(bool bNew)
std::unique_ptr< OutlinerParaObject > pOldText
static std::unique_ptr< SdrUndoAction > CreateUndoObjectStrAttr(SdrObject &rObject, SdrUndoObjStrAttr::ObjStrAttrType eObjStrAttrType, const OUString &sOldStr, const OUString &sNewStr)
virtual bool CanRepeat(SfxRepeatTarget &rView) const override
virtual OUString GetComment() const override
virtual ~SdrUndoAttrObj() override
size_t GetMarkCount() const
virtual OUString GetComment() const override
virtual bool NbcAdjustTextFrameWidthAndHeight(bool bHgt=true, bool bWdt=true)
std::unique_ptr< SfxItemSet > pUndoSet
virtual bool CanSdrRepeat(SdrView &rView) const override
OUString ImpGetDescriptionStr(const char *pStrCacheID, bool bRepeat=false) const
virtual void Redo() override
virtual void Redo() override
void ClearItem(const sal_uInt16 nWhich=0)
virtual std::unique_ptr< SdrUndoAction > CreateUndoPageChangeMasterPage(SdrPage &rChangedPage)
SdrUndoAction(SdrModel &rNewMod)
std::unique_ptr< OutlinerParaObject > pTextRedo
std::unique_ptr< OutlinerParaObject > pNewText
virtual void InsertMasterPage(SdrPage *pPage, sal_uInt16 nPos=0xFFFF)
virtual void SdrRepeat(SdrView &rView) override
virtual void Undo() override
void SetName(const OUString &rStr, const bool bSetChanged=true)
virtual SfxPoolItem * Clone(SfxItemPool *pPool=nullptr) const =0
SdrUndoLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
virtual OUString GetRepeatComment(SfxRepeatTarget &rView) const override
virtual SdrText * getText(sal_Int32 nIndex) const override
returns the nth available text.
void PutItem(const SfxPoolItem &rItem)
virtual bool CanSdrRepeat(SdrView &rView) const override
bool AreObjectsMarked() const
bool IsUndoEnabled() const
virtual ~SdrUndoGroup() override
virtual bool CanSdrRepeat(SdrView &rView) const
virtual ~SdrUndoMoveObj() override
ABC for all UndoActions that have something to do with SdrPages.
virtual void Redo() override
virtual void InsertPage(SdrPage *pPage, sal_uInt16 nPos=0xFFFF)
constexpr TypedWhichId< XFillStyleItem > XATTR_FILLSTYLE(XATTR_FILL_FIRST)
void SetStyleSheet(SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr)
SdrUndoGroup(SdrModel &rNewMod)
virtual OUString GetComment() const override
SdrUndoPage(SdrPage &rNewPg)
Abstract base class (ABC) for all UndoActions of DrawingEngine.
SdrObject * GetObj(size_t nNum) const
bool IsReverseOrderPossible() const
size_t GetObjCount() const
virtual ~SdrUndoDelPage() override
virtual const OUString & GetParent() const
SdrUndoObjList(SdrObject &rNewObj, bool bOrdNumDirect)
std::unique_ptr< SdrUndoGroup > pUndoGroup
virtual void Undo() override
virtual ~SdrUndoFactory()
virtual OUString TakeObjNameSingul() const
virtual OUString GetComment() const override
virtual ~SdrUndoPageList() override
SdrMark * GetMark(size_t nNum) const
virtual ~SdrUndoLayer() override
virtual void Redo() override
virtual SfxItemSet & GetItemSet()
virtual OUString GetComment() const override
void SetEmptyPresObj(bool bEpt)
SdrUndoDelObj(SdrObject &rNewObj, bool bOrdNumDirect=false)
virtual void SdrRepeat(SdrView &rView)
static void Free(SdrObject *&_rpObject)
virtual void Redo() override
virtual sdr::properties::BaseProperties & GetProperties() const
SfxStyleFamily GetFamily() const
ABC for manipulation of a PageList: New Page, DeletePage, MovePage (ChangePageNum).
virtual void InsertObject(SdrObject *pObj, size_t nPos=SAL_MAX_SIZE)
virtual SdrObjList * GetSubList() const
virtual void Redo() override
virtual bool CanSdrRepeat(SdrView &rView) const override
virtual ~SdrUndoRemoveObj() override
virtual void SdrRepeat(SdrView &rView) override
virtual const tools::Rectangle & GetSnapRect() const
virtual std::unique_ptr< SdrUndoAction > CreateUndoDeletePage(SdrPage &rPage)
virtual std::unique_ptr< SdrUndoAction > CreateUndoDeleteObject(SdrObject &rObject, bool bOrdNumDirect=false)
virtual void Redo() override
constexpr tools::Long Width() const
static void ImplUnmarkObject(SdrObject *pObj)
virtual OUString GetSdrRepeatComment() const override
SdrUndoObjStrAttr(SdrObject &rNewObj, const ObjStrAttrType eObjStrAttr, const OUString &sOldStr, const OUString &sNewStr)
virtual std::unique_ptr< SdrObjGeoData > GetGeoData() const
void ClearMergedItem(const sal_uInt16 nWhich=0)
std::unique_ptr< SdrLayer > RemoveLayer(sal_uInt16 nPos)
void SetOldOwner(bool bNew)
virtual OUString GetSdrRepeatComment() const
const OUString & GetName() const
SdrUndoObjSetText(SdrObject &rNewObj, sal_Int32 nText)
SdrPage * getSdrPageFromSdrObject() const
OUString SvxResId(const char *pId)
virtual void Redo() override
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
static void ensureStyleSheetInStyleSheetPool(SfxStyleSheetBasePool &rStyleSheetPool, SfxStyleSheet &rSheet)
ViewShellId m_nViewShellId
std::unique_ptr< SdrUndoGroup > pUndoGroup
std::unique_ptr< SfxItemSet > pRedoSet
virtual OUString GetComment() const override
virtual OUString GetComment() const override
static SfxViewShell * Current()
SdrUndoPageChangeMasterPage(SdrPage &rChangedPage)
SfxStyleSheet * GetStyleSheet() const
void ConvertMarkedToPolyObj()
void queryFillBitmap(const SfxItemSet &rItemSet)
virtual void Undo() override
virtual OUString GetComment() const override
void SetMergedItemSet(const SfxItemSet &rSet, bool bClearAllItems=false)
SdrUndoReplaceObj(SdrObject &rOldObj1, SdrObject &rNewObj1)
bool IsCombinePossible(bool bNoPolyPoly=false) const
virtual void Undo() override
virtual void Undo() override
void BroadcastItemChange(const ItemChangeBroadcaster &rChange)
virtual rtl::Reference< SdrPage > RemovePage(sal_uInt16 nPgNum)
virtual OUString GetSdrRepeatComment() const override
sal_uInt32 GetOrdNumDirect() const
virtual bool SetParent(const OUString &) override
virtual std::unique_ptr< SdrUndoAction > CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
bool IsConvertToPolyObjPossible() const
void ConvertMarkedToPathObj(bool bLineToArea)
virtual void Redo() override
bool IsToBtmPossible() const
virtual std::unique_ptr< SdrUndoAction > CreateUndoSetPageNum(SdrPage &rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1)
SdrObject * GetMarkedSdrObj() const
virtual ~SdrUndoObjList() override
virtual ~SdrUndoReplaceObj() override
virtual void Undo() override
virtual void Undo() override
void ImpMovePage(sal_uInt16 nOldNum, sal_uInt16 nNewNum)
void AddUndo(std::unique_ptr< SdrUndoAction > pUndo)
virtual void SetLayer(SdrLayerID nLayer)
bool mbSkipChangeLayout
If we have a table object, should its layout change?
SdrUndoPageList(SdrPage &rNewPg)
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
rtl::Reference< SdrPage > mxPage
virtual std::unique_ptr< SdrUndoAction > CreateUndoMoveObject(SdrObject &rObject, const Size &rDist)
virtual std::unique_ptr< SdrUndoAction > CreateUndoCopyPage(SdrPage &rPage)
virtual void Undo() override
std::unique_ptr< SfxPoolItem > mpFillBitmapItem
virtual std::unique_ptr< SdrUndoAction > CreateUndoObjectSetText(SdrObject &rNewObj, sal_Int32 nText)
virtual std::unique_ptr< SdrUndoAction > CreateUndoReplaceObject(SdrObject &rOldObject, SdrObject &rNewObject)
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
#define DBG_ASSERT(sCon, aError)
SdrUndoAttrObj(SdrObject &rNewObj, bool bStyleSheet1=false, bool bSaveText=false)
virtual void Undo() override
void AddAction(std::unique_ptr< SdrUndoAction > pAct)
constexpr TypedWhichId< XFillBitmapItem > XATTR_FILLBITMAP(XATTR_FILL_FIRST+4)
virtual OUString GetComment() const override
virtual std::unique_ptr< SdrUndoAction > CreateUndoCopyObject(SdrObject &rObject, bool bOrdNumDirect=false)
virtual void Redo() override
virtual std::unique_ptr< SdrUndoAction > CreateUndoRemoveObject(SdrObject &rObject)
std::unique_ptr< SdrObjGeoData > pUndoGeo
virtual ~SdrUndoAction() override
virtual std::unique_ptr< SdrUndoAction > CreateUndoInsertObject(SdrObject &rObject, bool bOrdNumDirect=false)
void BroadcastObjectChange() const
virtual OUString GetSdrRepeatComment() const override
Removing an Object from an ObjectList.
const SdrMarkList & GetMarkedObjectList() const
virtual void SetGeoData(const SdrObjGeoData &rGeo)
bool IsToTopPossible() const
const SdrPage * GetPage(sal_uInt16 nPgNum) const
void ActionChanged() const
virtual void Redo() override
virtual std::unique_ptr< SdrUndoAction > CreateUndoDeleteLayer(sal_uInt16 nLayerNum, SdrLayerAdmin &rNewLayerAdmin, SdrModel &rNewModel)
virtual void Repeat(SfxRepeatTarget &rView) override
void ImpInsertPage(sal_uInt16 nNum)
void CombineMarkedObjects(bool bNoPolyPoly=true)
SdrModel & getSdrModelFromSdrObject() const
sal_uInt32 GetOrdNum() const
The order number (aka ZOrder, aka z-index) determines whether a SdrObject is located above or below a...
SdrUndoPageMasterPage(SdrPage &rChangedPage)
virtual void Move(const Size &rSiz)
virtual void Redo() override
virtual void Undo() override
virtual OUString GetComment() const override
void ImpRemovePage(sal_uInt16 nNum)
bool TRG_HasMasterPage() const
const ObjStrAttrType meObjStrAttr
virtual void Undo() override
virtual SdrObject * RemoveObject(size_t nObjNum)
virtual bool CanSdrRepeat(SdrView &rView) const override
SdrUndoFactory & GetSdrUndoFactory() const
returns the models undo factory.
SdrUndoGeoObj(SdrObject &rNewObj)
virtual OUString GetComment() const override
virtual void Undo() override
sal_uInt16 maOldMasterPageNumber
virtual void Undo() override
virtual std::unique_ptr< SdrUndoAction > CreateUndoGeoObject(SdrObject &rObject)
Aggregation of arbitrarily many UndoActions to a single UndoAction.
virtual std::unique_ptr< SdrUndoAction > CreateUndoObjectLayerChange(SdrObject &rObject, SdrLayerID aOldLayer, SdrLayerID aNewLayer)
virtual OUString GetSdrRepeatComment() const override
std::unique_ptr< SdrObjGeoData > pRedoGeo
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
void InsertLayer(std::unique_ptr< SdrLayer > pLayer, sal_uInt16 nPos)
ABC for all UndoActions that have something to do with MasterPage relationships.
void Broadcast(const SfxHint &rHint)
Abstract base class for all UndoActions that handle objects.
virtual ~SdrUndoGeoObj() override
SdrLayerAdmin * pLayerAdmin
virtual void Undo() override
SdrUndoDelPage(SdrPage &rNewPg)
void ImpShowPageOfThisObject()
virtual SdrObject * ReplaceObject(SdrObject *pNewObj, size_t nObjNum)
Replace existing object by different one.
virtual OUString GetComment() const override
virtual void NbcSetSnapRect(const tools::Rectangle &rRect)
virtual void Undo() override
void DismantleMarkedObjects(bool bMakeLines=false)
constexpr tools::Long Height() const
bool IsGroupPossible() const
SdrUndoObjectLayerChange(SdrObject &rObj, SdrLayerID aOldLayer, SdrLayerID aNewLayer)
virtual std::unique_ptr< SdrUndoAction > CreateUndoNewPage(SdrPage &rPage)
SdrUndoObj(SdrObject &rNewObj)
SfxStyleSheetBasePool * GetStyleSheetPool() const
void NbcSetOutlinerParaObjectForText(std::unique_ptr< OutlinerParaObject > pTextObject, SdrText *pText)
const SfxItemSet & GetMergedItemSet() const
virtual void Redo() override
virtual void Undo() override
virtual void SdrRepeat(SdrView &rView) override
virtual void DeleteMarked()
virtual void Redo() override
sal_uInt16 maNewMasterPageNumber
void SetOutlinerParaObject(std::unique_ptr< OutlinerParaObject > pTextObject)
void SetDescription(const OUString &rStr)
bool IsUnGroupPossible() const
virtual void Undo() override
virtual void Redo() override
virtual OUString GetComment() const override
virtual OUString GetSdrRepeatComment() const override
virtual std::unique_ptr< SdrUndoAction > CreateUndoObjectOrdNum(SdrObject &rObject, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1)
static OUString ImpGetDescriptionStr(const char *pStrCacheID)
const Point & GetAnchorPos() const
void Insert(SfxStyleSheetBase *)
rtl::Reference< SfxStyleSheetBase > mxRedoStyleSheet
virtual void MovePage(sal_uInt16 nPgNum, sal_uInt16 nNewPos)
virtual ~SdrUndoObjSetText() override
Helper for 3d object changes affecting 2d geometry.
virtual void SdrRepeat(SdrView &rView) override
virtual void Undo() override
size_t GetListenerCount() const
virtual void NbcSetAnchorPos(const Point &rPnt)
virtual SdrObject * SetObjectOrdNum(size_t nOldObjNum, size_t nNewObjNum)
Modify ZOrder of an SdrObject.
std::vector< std::unique_ptr< SdrUndoAction > > maActions
virtual OUString GetComment() const override
void ReverseOrderOfMarked()
virtual const tools::Rectangle & GetLogicRect() const
SdrUndoObjOrdNum(SdrObject &rNewObj, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1)
virtual void SdrRepeat(SdrView &rView) override
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
virtual OUString GetComment() const override
SdrObjList * getParentSdrObjListFromSdrObject() const
OutlinerParaObject * GetOutlinerParaObject() const
bool IsConvertToPathObjPossible() const
bool IsImportMtfPossible() const
virtual std::unique_ptr< SdrUndoAction > CreateUndoAttrObject(SdrObject &rObject, bool bStyleSheet1=false, bool bSaveText=false)
virtual void Redo() override
virtual OUString GetSdrRepeatComment() const override
sal_uInt16 GetPageNum() const
virtual std::unique_ptr< SdrUndoAction > CreateUndoPageRemoveMasterPage(SdrPage &rChangedPage)
void SetSkipChangeLayout(bool bSkipChangeLayout)
Next time layouting would be done, skip it (to layout at the end of multiple actions).
void DoImportMarkedMtf(SvdProgressInfo *pProgrInfo=nullptr)
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
virtual void Redo() override
virtual OUString GetComment() const override
virtual SdrObject * getSdrObjectFromSdrObjList() const
virtual OutlinerParaObject * GetOutlinerParaObject() const
std::unique_ptr< OutlinerParaObject > pTextUndo
virtual OUString GetSdrRepeatComment() const override
virtual bool CanSdrRepeat(SdrView &rView) const override
void SetTitle(const OUString &rStr)
rtl::Reference< SfxStyleSheetBase > mxUndoStyleSheet
bool IsDismantlePossible(bool bMakeLines=false) const
virtual void Redo() override
virtual std::unique_ptr< SdrUndoAction > CreateUndoNewObject(SdrObject &rObject, bool bOrdNumDirect=false)
sal_uInt16 GetPageCount() const
virtual void SdrRepeat(SdrView &rView) override
std::unique_ptr< SdrUndoGroup > pUndoGroup
void MoveMarkedObj(const Size &rSiz, bool bCopy=false)
virtual OUString GetComment() const override
virtual bool CanSdrRepeat(SdrView &rView) const override
bool IsEmptyPresObj() const