summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svdundo.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/svdraw/svdundo.cxx')
-rw-r--r--svx/source/svdraw/svdundo.cxx114
1 files changed, 106 insertions, 8 deletions
diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx
index ab9c73ef8e..896e4d4aee 100644
--- a/svx/source/svdraw/svdundo.cxx
+++ b/svx/source/svdraw/svdundo.cxx
@@ -1,7 +1,7 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
+ *
* Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
@@ -682,8 +682,8 @@ void SdrUndoGeoObj::Undo()
// #97172#
// only repaint, no objectchange
pObj->ActionChanged();
- }
- else
+ }
+ else
{
if (pRedoGeo!=NULL) delete pRedoGeo;
pRedoGeo=pObj->GetGeoData();
@@ -789,7 +789,7 @@ void SdrUndoRemoveObj::Undo()
void SdrUndoRemoveObj::Redo()
{
DBG_ASSERT(pObj->IsInserted(),"RedoRemoveObj: pObj ist nicht Inserted");
- if (pObj->IsInserted())
+ if (pObj->IsInserted())
{
ImplUnmarkObject( pObj );
E3DModifySceneSnapRectUpdater aUpdater(pObj);
@@ -808,7 +808,7 @@ void SdrUndoInsertObj::Undo()
ImpShowPageOfThisObject();
DBG_ASSERT(pObj->IsInserted(),"UndoInsertObj: pObj ist nicht Inserted");
- if (pObj->IsInserted())
+ if (pObj->IsInserted())
{
ImplUnmarkObject( pObj );
@@ -987,7 +987,7 @@ void SdrUndoReplaceObj::Redo()
DBG_ASSERT(pObj->IsInserted(),"SdrUndoReplaceObj::Redo(): Altes Objekt ist nicht inserted!");
SetOldOwner(TRUE);
SetNewOwner(FALSE);
-
+
ImplUnmarkObject( pObj );
pObjList->ReplaceObject(pNewObj,nOrdNum);
@@ -1146,7 +1146,7 @@ void SdrUndoObjSetText::Redo()
{
// Text fuer Undo kopieren, denn SetOutlinerParaObject() ist Eigentumsuebereignung
OutlinerParaObject* pText1 = pNewText;
-
+
if(pText1)
pText1 = new OutlinerParaObject(*pText1);
@@ -1193,7 +1193,7 @@ void SdrUndoObjSetText::SdrRepeat(SdrView& rView)
{
SdrObject* pObj2=rML.GetMark(nm)->GetMarkedSdrObj();
SdrTextObj* pTextObj=PTR_CAST(SdrTextObj,pObj2);
- if (pTextObj!=NULL)
+ if (pTextObj!=NULL)
{
if( bUndo )
rView.AddUndo(new SdrUndoObjSetText(*pTextObj,0));
@@ -1219,6 +1219,95 @@ bool SdrUndoObjSetText::CanSdrRepeat(SdrView& rView) const
return bOk;
}
+// --> OD 2009-07-09 #i73249#
+SdrUndoObjStrAttr::SdrUndoObjStrAttr( SdrObject& rNewObj,
+ const ObjStrAttrType eObjStrAttr,
+ const String& sOldStr,
+ const String& sNewStr)
+ : SdrUndoObj( rNewObj ),
+ meObjStrAttr( eObjStrAttr ),
+ msOldStr( sOldStr ),
+ msNewStr( sNewStr )
+{
+}
+
+void SdrUndoObjStrAttr::Undo()
+{
+ ImpShowPageOfThisObject();
+
+ switch ( meObjStrAttr )
+ {
+ case OBJ_NAME:
+ {
+ pObj->SetName( msOldStr );
+ }
+ break;
+ case OBJ_TITLE:
+ {
+ pObj->SetTitle( msOldStr );
+ }
+ break;
+ case OBJ_DESCRIPTION:
+ {
+ pObj->SetDescription( msOldStr );
+ }
+ break;
+ }
+}
+
+void SdrUndoObjStrAttr::Redo()
+{
+ switch ( meObjStrAttr )
+ {
+ case OBJ_NAME:
+ {
+ pObj->SetName( msNewStr );
+ }
+ break;
+ case OBJ_TITLE:
+ {
+ pObj->SetTitle( msNewStr );
+ }
+ break;
+ case OBJ_DESCRIPTION:
+ {
+ pObj->SetDescription( msNewStr );
+ }
+ break;
+ }
+
+ ImpShowPageOfThisObject();
+}
+
+String SdrUndoObjStrAttr::GetComment() const
+{
+ String aStr;
+ switch ( meObjStrAttr )
+ {
+ case OBJ_NAME:
+ {
+ ImpTakeDescriptionStr( STR_UndoObjName, aStr );
+ aStr += sal_Unicode(' ');
+ aStr += sal_Unicode('\'');
+ aStr += msNewStr;
+ aStr += sal_Unicode('\'');
+ }
+ break;
+ case OBJ_TITLE:
+ {
+ ImpTakeDescriptionStr( STR_UndoObjTitle, aStr );
+ }
+ break;
+ case OBJ_DESCRIPTION:
+ {
+ ImpTakeDescriptionStr( STR_UndoObjDescription, aStr );
+ }
+ break;
+ }
+
+ return aStr;
+}
+
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//
@@ -1726,6 +1815,15 @@ SdrUndoAction* SdrUndoFactory::CreateUndoObjectSetText( SdrObject& rNewObj, sal_
return new SdrUndoObjSetText( rNewObj, nText );
}
+SdrUndoAction* SdrUndoFactory::CreateUndoObjectStrAttr( SdrObject& rObject,
+ SdrUndoObjStrAttr::ObjStrAttrType eObjStrAttrType,
+ String sOldStr,
+ String sNewStr )
+{
+ return new SdrUndoObjStrAttr( rObject, eObjStrAttrType, sOldStr, sNewStr );
+}
+
+
// layer
SdrUndoAction* SdrUndoFactory::CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel)
{