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:
void EnsureMasterPageDefaultBackground();
SdrObject* CreatePresObj(PresObjKind eObjKind, bool bVertical, const Rectangle& rRect, bool bInsert=false);
SdrObject* CreateDefaultPresObj(PresObjKind eObjKind, bool bInsert);
void DestroyDefaultPresObj(PresObjKind eObjKind);
SdrObject* GetPresObj(PresObjKind eObjKind, int nIndex = 1, bool bFuzzySearch = false );
PresObjKind GetPresObjKind(SdrObject* pObj) const;
OUString GetPresObjText(PresObjKind eObjKind) const;
......
......@@ -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
......
......@@ -121,26 +121,14 @@ void MasterLayoutDialog::applyChanges()
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 )
{
SdrObject* pObject = mpCurrentPage->GetPresObj( 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);
}
mpCurrentPage->DestroyDefaultPresObj(eKind);
}
/* 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