Kaydet (Commit) 8ec5b1a2 authored tarafından Caolán McNamara's avatar Caolán McNamara

refactor MasterLayoutDialog::remove to SdPage::DestroyDefaultPresObj

Change-Id: If4edb16b2e94396249f3e2ba99381fcd8341d790
üst a6f3f05e
...@@ -176,6 +176,7 @@ public: ...@@ -176,6 +176,7 @@ public:
void EnsureMasterPageDefaultBackground(); void EnsureMasterPageDefaultBackground();
SdrObject* CreatePresObj(PresObjKind eObjKind, bool bVertical, const Rectangle& rRect, bool bInsert=false); SdrObject* CreatePresObj(PresObjKind eObjKind, bool bVertical, const Rectangle& rRect, bool bInsert=false);
SdrObject* CreateDefaultPresObj(PresObjKind eObjKind, bool bInsert); SdrObject* CreateDefaultPresObj(PresObjKind eObjKind, bool bInsert);
void DestroyDefaultPresObj(PresObjKind eObjKind);
SdrObject* GetPresObj(PresObjKind eObjKind, int nIndex = 1, bool bFuzzySearch = false ); SdrObject* GetPresObj(PresObjKind eObjKind, int nIndex = 1, bool bFuzzySearch = false );
PresObjKind GetPresObjKind(SdrObject* pObj) const; PresObjKind GetPresObjKind(SdrObject* pObj) const;
OUString GetPresObjText(PresObjKind eObjKind) const; OUString GetPresObjText(PresObjKind eObjKind) const;
......
...@@ -1019,6 +1019,25 @@ SdrObject* SdPage::CreateDefaultPresObj(PresObjKind eObjKind, bool bInsert) ...@@ -1019,6 +1019,25 @@ SdrObject* SdPage::CreateDefaultPresObj(PresObjKind eObjKind, bool bInsert)
} }
} }
void SdPage::DestroyDefaultPresObj(PresObjKind eObjKind)
{
SdrObject* pObject = GetPresObj( eObjKind );
if( pObject )
{
SdDrawDocument *pDoc = static_cast<SdDrawDocument*>(pModel);
const bool bUndo = pDoc->IsUndoEnabled();
if( bUndo )
pDoc->AddUndo(pDoc->GetSdrUndoFactory().CreateUndoDeleteObject(*pObject));
SdrObjList* pOL = pObject->GetObjList();
pOL->RemoveObject(pObject->GetOrdNumDirect());
if( !bUndo )
SdrObject::Free(pObject);
}
}
/************************************************************************* /*************************************************************************
|* |*
|* return title area |* return title area
......
...@@ -121,26 +121,14 @@ void MasterLayoutDialog::applyChanges() ...@@ -121,26 +121,14 @@ void MasterLayoutDialog::applyChanges()
mpDoc->EndUndo(); mpDoc->EndUndo();
} }
void MasterLayoutDialog::create( PresObjKind eKind ) void MasterLayoutDialog::create(PresObjKind eKind)
{ {
mpCurrentPage->CreateDefaultPresObj( eKind, true ); mpCurrentPage->CreateDefaultPresObj(eKind, true);
} }
void MasterLayoutDialog::remove( PresObjKind eKind ) void MasterLayoutDialog::remove( PresObjKind eKind )
{ {
SdrObject* pObject = mpCurrentPage->GetPresObj( eKind ); mpCurrentPage->DestroyDefaultPresObj(eKind);
if( pObject )
{
const bool bUndo = mpDoc->IsUndoEnabled();
if( bUndo )
mpDoc->AddUndo(mpDoc->GetSdrUndoFactory().CreateUndoDeleteObject(*pObject));
SdrObjList* pOL =pObject->GetObjList();
pOL->RemoveObject(pObject->GetOrdNumDirect());
if( !bUndo )
SdrObject::Free(pObject);
}
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment