You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by al...@apache.org on 2012/06/07 19:08:12 UTC

svn commit: r1347716 [3/6] - in /incubator/ooo/branches/alg/aw080/main: basctl/source/dlged/ basctl/source/inc/ chart2/source/controller/main/ cui/source/tabpages/ filter/source/msfilter/ reportdesign/source/core/sdr/ reportdesign/source/ui/inc/ report...

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape2d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape2d.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape2d.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape2d.cxx Thu Jun  7 17:08:07 2012
@@ -1801,7 +1801,6 @@ void EnhancedCustomShape2d::CreateSubPat
 				aClosedPolyPolygon.setClosed(true);
 				SdrPathObj* pFill = new SdrPathObj(
 					pCustomShapeObj->getSdrModelFromSdrObject(),
-					OBJ_POLY, 
 					aClosedPolyPolygon);
 				SfxItemSet aTempSet(*this);
 				aTempSet.Put(SdrOnOffItem(SDRATTR_SHADOW, sal_False));
@@ -1818,7 +1817,6 @@ void EnhancedCustomShape2d::CreateSubPat
 				// Thus, use a type that fits the polygon
 				SdrPathObj* pStroke = new SdrPathObj(
 					pCustomShapeObj->getSdrModelFromSdrObject(),
-					aNewB2DPolyPolygon.isClosed() ? OBJ_POLY : OBJ_PLIN, 
 					aNewB2DPolyPolygon);
 				SfxItemSet aTempSet(*this);
 				aTempSet.Put(SdrOnOffItem(SDRATTR_SHADOW, sal_False));
@@ -1838,7 +1836,6 @@ void EnhancedCustomShape2d::CreateSubPat
 				// see comment above about OBJ_PLIN
 				pObj = new SdrPathObj(
 					pCustomShapeObj->getSdrModelFromSdrObject(),
-					aNewB2DPolyPolygon.isClosed() ? OBJ_POLY : OBJ_PLIN, 
 					aNewB2DPolyPolygon);
 				aTempSet.Put(XFillStyleItem(XFILL_NONE));
 			}
@@ -1847,7 +1844,6 @@ void EnhancedCustomShape2d::CreateSubPat
 				aNewB2DPolyPolygon.setClosed(true);
 				pObj = new SdrPathObj(
 					pCustomShapeObj->getSdrModelFromSdrObject(),
-					OBJ_POLY, 
 					aNewB2DPolyPolygon);
 			}
 
@@ -1886,7 +1882,7 @@ void CorrectCalloutArrows( MSO_SPT eSpTy
 			for ( i = 0; i < vObjectList.size(); i++ )
 			{
 				SdrPathObj* pObj( vObjectList[ i ] );
-				if(pObj->IsLine())
+				if(pObj->isLine())
 				{
 					nLine++;
 					if ( nLine == nLineObjectCount )
@@ -1910,7 +1906,7 @@ void CorrectCalloutArrows( MSO_SPT eSpTy
 			for ( i = 0; i < vObjectList.size(); i++ )
 			{
 				SdrPathObj* pObj( vObjectList[ i ] );
-				if(pObj->IsLine())
+				if(pObj->isLine())
 				{
 					nLine++;
 					if ( nLine == 1 )
@@ -1937,7 +1933,7 @@ void CorrectCalloutArrows( MSO_SPT eSpTy
 			for ( i = 0; i < vObjectList.size(); i++ )
 			{
 				SdrPathObj* pObj( vObjectList[ i ] );
-				if(pObj->IsLine())
+				if(pObj->isLine())
 				{
 					if ( nLine )
 					{
@@ -1958,7 +1954,7 @@ void CorrectCalloutArrows( MSO_SPT eSpTy
 void EnhancedCustomShape2d::AdaptObjColor(SdrPathObj& rObj, const SfxItemSet& rCustomShapeSet, 
                                           sal_uInt32& nColorIndex, sal_uInt32 nColorCount)
 {
-    if ( !rObj.IsLine() )
+    if ( !rObj.isLine() )
     {
         const XFillStyle eFillStyle = ((const XFillStyleItem&)rObj.GetMergedItem(XATTR_FILLSTYLE)).GetValue();
         switch( eFillStyle )
@@ -2097,7 +2093,7 @@ SdrObject* EnhancedCustomShape2d::Create
 			{
 				SdrPathObj* pObj( vObjectList[ i ] );
 
-				if(pObj->IsLine())
+				if(pObj->isLine())
 				{
 					nLineObjectCount++;
 				}
@@ -2122,7 +2118,7 @@ SdrObject* EnhancedCustomShape2d::Create
 				{
 					SdrPathObj* pObj( vObjectList[ i ] );
 
-					if ( !pObj->IsLine() )
+					if ( !pObj->isLine() )
 					{
 						vTempList.push_back(pObj);
 					}
@@ -2132,7 +2128,7 @@ SdrObject* EnhancedCustomShape2d::Create
 				{
 					SdrPathObj* pObj( vObjectList[ i ] );
 
-					if ( pObj->IsLine() )
+					if ( pObj->isLine() )
 					{
 						vTempList.push_back(pObj);
 					}

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShapeEngine.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShapeEngine.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShapeEngine.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShapeEngine.cxx Thu Jun  7 17:08:07 2012
@@ -49,6 +49,7 @@
 #include <basegfx/polygon/b2dpolypolygontools.hxx>
 #include <com/sun/star/document/XActionLockable.hpp>
 #include <svx/svdlegacy.hxx>
+#include <svx/sdrobjectfactory.hxx>
 
 // ---------------------------
 // - EnhancedCustomShapeEngine -
@@ -171,8 +172,7 @@ SdrObject* EnhancedCustomShapeEngine::Im
 			// #i37011# also create a text object and add at rPos + 1
 			SdrTextObj* pTextObj = (SdrTextObj*)SdrObjFactory::MakeNewObject(	
 				pCustoObj->getSdrModelFromSdrObject(), 
-				pCustoObj->GetObjInventor(), 
-				OBJ_TEXT);
+                SdrObjectCreationInfo(OBJ_TEXT, pCustoObj->GetObjInventor()));
 
 			// Copy text content
 			OutlinerParaObject* pParaObj = pCustoObj->GetOutlinerParaObject();
@@ -359,8 +359,10 @@ REF( com::sun::star::drawing::XShape ) S
 		if ( pRenderedShape )
 		{
 			aCustomShape2d.ApplyGluePoints( pRenderedShape );
-			xShape = SvxDrawPage::CreateShapeByTypeAndInventor( pRenderedShape->GetObjIdentifier(),
-				pRenderedShape->GetObjInventor(), pRenderedShape, NULL );
+			xShape = SvxDrawPage::CreateShapeBySvxShapeKind( 
+                SdrObjectCreatorInventorToSvxShapeKind(pRenderedShape->GetObjIdentifier(), pRenderedShape->GetObjInventor()),
+                pRenderedShape, 
+                0);
 		}
 		SetTemporary( xShape );
 	}

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx Thu Jun  7 17:08:07 2012
@@ -835,7 +835,6 @@ SdrObject* CreateSdrObjectFromParagraphO
 					{
 						SdrObject* pPathObj = new SdrPathObj( 
 							pCustomShape->getSdrModelFromSdrObject(),
-							OBJ_POLY, 
 							aOutlineIter->getB2DPolyPolygon() );
 						pRet->InsertObjectToSdrObjList(*pPathObj);
 						aOutlineIter++;

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/dialog/_contdlg.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/dialog/_contdlg.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/dialog/_contdlg.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/dialog/_contdlg.cxx Thu Jun  7 17:08:07 2012
@@ -762,14 +762,14 @@ IMPL_LINK( SvxSuperContourDlg, Tbx1Click
 		case( TBI_RECT ):
 		{
 			pTbx->CheckItem( nNewItemId, sal_True );
-			aContourWnd.SetObjKind( OBJ_RECT );
+			aContourWnd.setSdrObjectCreationInfo(SdrObjectCreationInfo(OBJ_RECT));
 		}
 		break;
 
 		case( TBI_CIRCLE ):
 		{
 			pTbx->CheckItem( nNewItemId, sal_True );
-			aContourWnd.SetObjKind( OBJ_CIRC );
+			aContourWnd.setSdrObjectCreationInfo(SdrObjectCreationInfo(OBJ_CIRC));
 
 		}
 		break;
@@ -777,14 +777,20 @@ IMPL_LINK( SvxSuperContourDlg, Tbx1Click
 		case( TBI_POLY ):
 		{
 			pTbx->CheckItem( nNewItemId, sal_True );
-			aContourWnd.SetObjKind( OBJ_POLY );
+			aContourWnd.setSdrObjectCreationInfo(SdrObjectCreationInfo(OBJ_POLY));
 		}
 		break;
 
 		case( TBI_FREEPOLY ):
 		{
 			pTbx->CheckItem( nNewItemId, sal_True );
-			aContourWnd.SetObjKind( OBJ_FREEFILL );
+            
+            SdrObjectCreationInfo aSdrObjectCreationInfo(OBJ_POLY);
+
+            aSdrObjectCreationInfo.setSdrPathObjType(PathType_ClosedBezier);
+            aSdrObjectCreationInfo.setFreehandMode(true);
+
+			aContourWnd.setSdrObjectCreationInfo(aSdrObjectCreationInfo);
 		}
 		break;
 

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/dialog/contwnd.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/dialog/contwnd.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/dialog/contwnd.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/dialog/contwnd.cxx Thu Jun  7 17:08:07 2012
@@ -97,7 +97,7 @@ void ContourWindow::SetPolyPolygon( cons
 	{
 		basegfx::B2DPolyPolygon aPolyPolygon;
 		aPolyPolygon.append(aPolyPoly[ i ].getB2DPolygon());
-		SdrPathObj* pPathObj = new SdrPathObj( *pModel, OBJ_PATHFILL, aPolyPolygon );
+		SdrPathObj* pPathObj = new SdrPathObj( *pModel, aPolyPolygon );
 
 		if ( pPathObj )
 		{

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/dialog/dlgctrl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/dialog/dlgctrl.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/dialog/dlgctrl.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/dialog/dlgctrl.cxx Thu Jun  7 17:08:07 2012
@@ -2077,8 +2077,7 @@ SvxXLinePreview::SvxXLinePreview( Window
 	basegfx::B2DPolygon aPolygonA;
 	aPolygonA.append(aPointA1);
 	aPolygonA.append(aPointA2);
-	mpLineObjA = new SdrPathObj(getModel(), OBJ_LINE, basegfx::B2DPolyPolygon(aPolygonA));
-	//mpLineObjA->SetModel(&getModel());
+	mpLineObjA = new SdrPathObj(getModel(), basegfx::B2DPolyPolygon(aPolygonA));
 
 	// create DrawObectB
 	const sal_Int32 aYPosB1((aOutputSize.Height() * 3) / 4);
@@ -2090,8 +2089,7 @@ SvxXLinePreview::SvxXLinePreview( Window
 	aPolygonB.append(aPointB1);
 	aPolygonB.append(aPointB2);
 	aPolygonB.append(aPointB3);
-	mpLineObjB = new SdrPathObj(getModel(), OBJ_PLIN, basegfx::B2DPolyPolygon(aPolygonB));
-	//mpLineObjB->SetModel(&getModel());
+	mpLineObjB = new SdrPathObj(getModel(), basegfx::B2DPolyPolygon(aPolygonB));
 	
 	// create DrawObectC
 	const basegfx::B2DPoint aPointC1( aPointB3.getX() + nDistance,  aYPosB1);
@@ -2101,8 +2099,7 @@ SvxXLinePreview::SvxXLinePreview( Window
 	aPolygonC.append(aPointC1);
 	aPolygonC.append(aPointC2);
 	aPolygonC.append(aPointC3);
-	mpLineObjC = new SdrPathObj(getModel(), OBJ_PLIN, basegfx::B2DPolyPolygon(aPolygonC));
-	//mpLineObjC->SetModel(&getModel());
+	mpLineObjC = new SdrPathObj(getModel(), basegfx::B2DPolyPolygon(aPolygonC));
 }
 
 SvxXLinePreview::~SvxXLinePreview()

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/dialog/fontwork.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/dialog/fontwork.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/dialog/fontwork.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/dialog/fontwork.cxx Thu Jun  7 17:08:07 2012
@@ -1075,7 +1075,7 @@ void SvxFontWorkDialog::CreateStdFormObj
 			
 			pNewObj = new SdrCircObj(
 				rOldObj.getSdrModelFromSdrObject(),
-				OBJ_CARC, 
+				CircleType_Arc, 
 				basegfx::tools::createScaleTranslateB2DHomMatrix(
 					aRange.getRange(),
 					aRange.getMinimum()),
@@ -1119,7 +1119,7 @@ void SvxFontWorkDialog::CreateStdFormObj
 			aPolyPolygon.append(aLine);
 			aPolyPolygon.append(aBottomArc);
 
-			pNewObj = new SdrPathObj(rOldObj.getSdrModelFromSdrObject(), OBJ_PATHFILL, aPolyPolygon);
+			pNewObj = new SdrPathObj(rOldObj.getSdrModelFromSdrObject(), aPolyPolygon);
 			eAdjust = XFT_CENTER;
 			break;
 		}
@@ -1207,7 +1207,7 @@ void SvxFontWorkDialog::CreateStdFormObj
 				aPolyPolygon.append(aLine);
 			}
 
-			pNewObj = new SdrPathObj(rOldObj.getSdrModelFromSdrObject(), OBJ_PATHFILL, aPolyPolygon);
+			pNewObj = new SdrPathObj(rOldObj.getSdrModelFromSdrObject(), aPolyPolygon);
 			break;
         }
         default: ; //prevent warning

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/dialog/graphctl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/dialog/graphctl.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/dialog/graphctl.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/dialog/graphctl.cxx Thu Jun  7 17:08:07 2012
@@ -90,7 +90,7 @@ GraphCtrl::GraphCtrl( Window* pParent, c
 			Control			( pParent, nWinBits ),
             SfxListener     ( ),
 			aMap100			( MAP_100TH_MM ),
-            eObjKind        ( OBJ_NONE ),
+            maSdrObjectCreationInfo(OBJ_NONE),
 			nPolyEdit		( 0 ),
 			bEditMode		( sal_False ),
 			bSdrMode		( sal_False ),
@@ -119,7 +119,7 @@ GraphCtrl::GraphCtrl( Window* pParent, c
             SfxListener     ( ),
 			aMap100			( MAP_100TH_MM ),
             nWinStyle       ( 0 ),
-            eObjKind        ( OBJ_NONE ),
+            maSdrObjectCreationInfo(OBJ_NONE),
 			nPolyEdit		( 0 ),
             bEditMode       ( sal_False ),
             bSdrMode        ( sal_False ),
@@ -884,8 +884,8 @@ void GraphCtrl::SetEditMode( const sal_B
 	{
         bEditMode = _bEditMode;
 		pView->SetViewEditMode(bEditMode ? SDREDITMODE_EDIT : SDREDITMODE_CREATE);
-        eObjKind = OBJ_NONE;
-		pView->SetCurrentObj( sal::static_int_cast< sal_uInt16 >( eObjKind ) );
+        maSdrObjectCreationInfo.setIdent(OBJ_NONE);
+		pView->setSdrObjectCreationInfo(maSdrObjectCreationInfo);
 	}
 	else
 		bEditMode = sal_False;
@@ -916,17 +916,19 @@ void GraphCtrl::SetPolyEditMode( const s
 |*
 \************************************************************************/
 
-void GraphCtrl::SetObjKind( const SdrObjKind _eObjKind )
+void GraphCtrl::setSdrObjectCreationInfo( const SdrObjectCreationInfo& rSdrObjectCreationInfo )
 {
 	if ( bSdrMode )
 	{
         bEditMode = false;
-		pView->SetViewEditMode(bEditMode ? SDREDITMODE_EDIT : SDREDITMODE_CREATE);
-        eObjKind = _eObjKind;
-		pView->SetCurrentObj( sal::static_int_cast< sal_uInt16 >( eObjKind ) );
+		pView->SetViewEditMode(SDREDITMODE_CREATE);
+        maSdrObjectCreationInfo = rSdrObjectCreationInfo;
+		pView->setSdrObjectCreationInfo(maSdrObjectCreationInfo);
 	}
 	else
-		eObjKind = OBJ_NONE;
+    {
+        maSdrObjectCreationInfo.setIdent(OBJ_NONE);
+    }
 }
 
 

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/dialog/imapdlg.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/dialog/imapdlg.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/dialog/imapdlg.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/dialog/imapdlg.cxx Thu Jun  7 17:08:07 2012
@@ -514,7 +514,7 @@ IMPL_LINK( SvxIMapDlg, TbxClickHdl, Tool
 		case( TBI_RECT ):
 		{
 			pTbx->CheckItem( nNewItemId, sal_True );
-			pIMapWnd->SetObjKind( OBJ_RECT );
+			pIMapWnd->setSdrObjectCreationInfo(SdrObjectCreationInfo(OBJ_RECT));
 			if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
 			{
 				pIMapWnd->CreateDefaultObject();
@@ -526,7 +526,7 @@ IMPL_LINK( SvxIMapDlg, TbxClickHdl, Tool
 		case( TBI_CIRCLE ):
 		{
 			pTbx->CheckItem( nNewItemId, sal_True );
-			pIMapWnd->SetObjKind( OBJ_CIRC );
+			pIMapWnd->setSdrObjectCreationInfo(SdrObjectCreationInfo(OBJ_CIRC));
 			if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
 			{
 				pIMapWnd->CreateDefaultObject();
@@ -538,7 +538,7 @@ IMPL_LINK( SvxIMapDlg, TbxClickHdl, Tool
 		case( TBI_POLY ):
 		{
 			pTbx->CheckItem( nNewItemId, sal_True );
-			pIMapWnd->SetObjKind( OBJ_POLY );
+			pIMapWnd->setSdrObjectCreationInfo(SdrObjectCreationInfo(OBJ_POLY));
 			if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
 			{
 				pIMapWnd->CreateDefaultObject();
@@ -550,8 +550,15 @@ IMPL_LINK( SvxIMapDlg, TbxClickHdl, Tool
 		case( TBI_FREEPOLY ):
 		{
 			pTbx->CheckItem( nNewItemId, sal_True );
-			pIMapWnd->SetObjKind( OBJ_FREEFILL );
-			if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
+            
+            SdrObjectCreationInfo aSdrObjectCreationInfo(OBJ_POLY);
+
+            aSdrObjectCreationInfo.setSdrPathObjType(PathType_ClosedBezier);
+            aSdrObjectCreationInfo.setFreehandMode(true);
+
+            pIMapWnd->setSdrObjectCreationInfo(aSdrObjectCreationInfo);
+			
+            if( pTbx->IsKeyEvent() && ((pTbx->GetKeyModifier() & KEY_MOD1) != 0) )
 			{
 				pIMapWnd->CreateDefaultObject();
 				pIMapWnd->GrabFocus();

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/dialog/imapwnd.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/dialog/imapwnd.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/dialog/imapwnd.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/dialog/imapwnd.cxx Thu Jun  7 17:08:07 2012
@@ -275,7 +275,7 @@ SdrObject* IMapWindow::CreateObj( const 
 
 			pSdrObj = new SdrCircObj(
 				*GetSdrModel(),
-				OBJ_CIRC, 
+				CircleType_Circle, 
 				basegfx::tools::createScaleTranslateB2DHomMatrix(aCircle.getWidth(), aCircle.getHeight(), aCircle.Left(), aCircle.Top()));
 			pCloneIMapObj.reset((IMapObject*) new IMapCircleObject( *pIMapCircleObj ));
 		}
@@ -296,7 +296,7 @@ SdrObject* IMapWindow::CreateObj( const 
 
 				pSdrObj = new SdrCircObj(
 					*GetSdrModel(),
-					OBJ_CIRC, 
+					CircleType_Circle, 
 					basegfx::tools::createScaleTranslateB2DHomMatrix(aDrawRect.getWidth(), aDrawRect.getHeight(), aDrawRect.Left(), aDrawRect.Top()));
 			}
 			else
@@ -311,7 +311,6 @@ SdrObject* IMapWindow::CreateObj( const 
 				aPolygon.append(aDrawPoly.getB2DPolygon());
 				pSdrObj = new SdrPathObj(
 					*GetSdrModel(),
-					OBJ_POLY, 
 					basegfx::B2DPolyPolygon(aPolygon));
 			}
 
@@ -403,9 +402,6 @@ void IMapWindow::SdrObjCreated( const Sd
 		break;
 
 		case( OBJ_POLY ):
-		case( OBJ_FREEFILL ):
-		case( OBJ_PATHPOLY ):
-		case( OBJ_PATHFILL ):
 		{
 			SdrPathObj* pPathObj = (SdrPathObj*) &rObj;
 			const basegfx::B2DPolyPolygon aXPolyPoly = pPathObj->getB2DPolyPolygonInObjectCoordinates();
@@ -477,9 +473,6 @@ void IMapWindow::SdrObjChanged( const Sd
 			break;
 
 			case( OBJ_POLY ):
-			case( OBJ_FREEFILL ):
-			case( OBJ_PATHPOLY ):
-			case( OBJ_PATHFILL ):
 			{
 				const SdrPathObj& rPathObj = (const SdrPathObj&) rObj;
 				const basegfx::B2DPolyPolygon aXPolyPoly = rPathObj.getB2DPolyPolygonInObjectCoordinates();
@@ -974,43 +967,47 @@ void IMapWindow::CreateDefaultObject()
 		const basegfx::B2DRange aNewObjectRange(aPagePos, aPagePos + aDefaultObjectScale);
 		SdrObject* pObj = SdrObjFactory::MakeNewObject(	
 			pView->getSdrModelFromSdrView(),
-			pView->GetCurrentObjInventor(), 
-			pView->GetCurrentObjIdentifier());
+            pView->getSdrObjectCreationInfo());
 
 		sdr::legacy::SetLogicRange(*pObj, aNewObjectRange);
 
-		switch( pObj->GetObjIdentifier() )
-		{
-		case OBJ_POLY:
-		case OBJ_PATHPOLY:
-			{
-				basegfx::B2DPolygon aInnerPoly;
-
-				aInnerPoly.append(basegfx::B2DPoint(aNewObjectRange.getMinX(), aNewObjectRange.getMaxY()));
-				aInnerPoly.append(aNewObjectRange.getMinimum());
-				aInnerPoly.append(basegfx::B2DPoint(aNewObjectRange.getCenterX(), aNewObjectRange.getMinY()));
-				aInnerPoly.append(aNewObjectRange.getCenter());
-				aInnerPoly.append(basegfx::B2DPoint(aNewObjectRange.getMaxX(), aNewObjectRange.getCenterY()));
-				aInnerPoly.append(aNewObjectRange.getMaximum());
-				aInnerPoly.setClosed(true);
-
-				static_cast< SdrPathObj* >(pObj)->setB2DPolyPolygonInObjectCoordinates(basegfx::B2DPolyPolygon(aInnerPoly));
-				break;
-			}
-		case OBJ_FREEFILL:
-		case OBJ_PATHFILL:
-			{
-				const basegfx::B2DPolygon aInnerPoly(
-					basegfx::tools::createPolygonFromEllipse(
-						aNewObjectRange.getCenter(),
-						aNewObjectRange.getWidth() * 0.5,
-						aNewObjectRange.getHeight() * 0.5));
-
-				static_cast< SdrPathObj* >(pObj)->setB2DPolyPolygonInObjectCoordinates(basegfx::B2DPolyPolygon(aInnerPoly));
-				break;
-			}
-
-		}
+        if(OBJ_POLY == pView->getSdrObjectCreationInfo().getIdent())
+        {
+            SdrPathObj* pSdrPathObj = dynamic_cast< SdrPathObj* >(pObj);
+
+            if(pSdrPathObj)
+            {
+                switch(pSdrPathObj->getSdrPathObjType())
+                {
+                    case PathType_ClosedPolygon:
+                    {
+				        basegfx::B2DPolygon aInnerPoly;
+
+				        aInnerPoly.append(basegfx::B2DPoint(aNewObjectRange.getMinX(), aNewObjectRange.getMaxY()));
+				        aInnerPoly.append(aNewObjectRange.getMinimum());
+				        aInnerPoly.append(basegfx::B2DPoint(aNewObjectRange.getCenterX(), aNewObjectRange.getMinY()));
+				        aInnerPoly.append(aNewObjectRange.getCenter());
+				        aInnerPoly.append(basegfx::B2DPoint(aNewObjectRange.getMaxX(), aNewObjectRange.getCenterY()));
+				        aInnerPoly.append(aNewObjectRange.getMaximum());
+				        aInnerPoly.setClosed(true);
+
+				        pSdrPathObj->setB2DPolyPolygonInObjectCoordinates(basegfx::B2DPolyPolygon(aInnerPoly));
+                        break;
+                    }
+                    case PathType_ClosedBezier:
+                    {
+				        const basegfx::B2DPolygon aInnerPoly(
+					        basegfx::tools::createPolygonFromEllipse(
+						        aNewObjectRange.getCenter(),
+						        aNewObjectRange.getWidth() * 0.5,
+						        aNewObjectRange.getHeight() * 0.5));
+
+				        pSdrPathObj->setB2DPolyPolygonInObjectCoordinates(basegfx::B2DPolyPolygon(aInnerPoly));
+                        break;
+                    }
+                }
+            }
+        }
 
 		pView->InsertObjectAtView(*pObj);
 		SdrObjCreated( *pObj );

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/extrud3d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/extrud3d.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/extrud3d.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/extrud3d.cxx Thu Jun  7 17:08:07 2012
@@ -257,7 +257,6 @@ SdrAttrObj* E3dExtrudeObj::GetBreakObj()
 	    basegfx::B2DPolyPolygon aPoly = TransformToScreenCoor(aBackSide);
 		SdrPathObj* pPathObj = new SdrPathObj(
 			getSdrModelFromSdrObject(),
-			OBJ_PLIN, 
 			aPoly);
 
 		if(pPathObj)

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/lathe3d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/lathe3d.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/lathe3d.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/lathe3d.cxx Thu Jun  7 17:08:07 2012
@@ -262,7 +262,6 @@ SdrAttrObj* E3dLatheObj::GetBreakObj()
 	basegfx::B2DPolyPolygon aTransPoly(TransformToScreenCoor(aLathePoly3D));
 	SdrPathObj* pPathObj = new SdrPathObj(
 		getSdrModelFromSdrObject(),
-		OBJ_PLIN, 
 		aTransPoly);
 
 	if(pPathObj)

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/objfac3d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/objfac3d.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/objfac3d.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/objfac3d.cxx Thu Jun  7 17:08:07 2012
@@ -19,8 +19,6 @@
  * 
  *************************************************************/
 
-
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_svx.hxx"
 #include <svx/svdpage.hxx>
@@ -32,90 +30,87 @@
 #include <svx/polygn3d.hxx>
 #include "svx/objfac3d.hxx"
 #include <svx/svdobj.hxx>
+#include <svx/sdrobjectfactory.hxx>
+
+//////////////////////////////////////////////////////////////////////////////
 
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
+static bool bInit = false;
 
-static sal_Bool bInit = sal_False;
+//////////////////////////////////////////////////////////////////////////////
 
 E3dObjFactory::E3dObjFactory()
 {
 	if ( !bInit )
 	{
 		SdrObjFactory::InsertMakeObjectHdl(LINK(this, E3dObjFactory, MakeObject));
-		bInit = sal_True;
+		bInit = true;
 	}
 }
 
-/*************************************************************************
-|*
-|* Destruktor
-|*
-\************************************************************************/
+//////////////////////////////////////////////////////////////////////////////
 
 E3dObjFactory::~E3dObjFactory()
 {
 }
 
-/*************************************************************************
-|*
-|* Chart-interne Objekte erzeugen
-|*
-\************************************************************************/
+//////////////////////////////////////////////////////////////////////////////
 
 IMPL_LINK( E3dObjFactory, MakeObject, SdrObjFactory*, pObjFactory)
 {
-	if ( pObjFactory->mnInventor == E3dInventor )
+	if ( E3dInventor == pObjFactory->getSdrObjectCreationInfo().getInvent() )
 	{
-		switch ( pObjFactory->mnIdentifier )
+		switch ( pObjFactory->getSdrObjectCreationInfo().getIdent() )
 		{
 			case E3D_POLYGONOBJ_ID	:
 			{
-				pObjFactory->mpNewObj = new E3dPolygonObj(
-					*pObjFactory->mpTargetModel, 
-					E3dDefaultAttributes(), 
-					basegfx::B3DPolyPolygon());
+				pObjFactory->setNewSdrObject(
+                    new E3dPolygonObj(
+					    pObjFactory->getTargetModel(), 
+					    E3dDefaultAttributes(), 
+					    basegfx::B3DPolyPolygon()));
 				break;
 			}
 			case E3D_CUBEOBJ_ID	:
 			{
-				pObjFactory->mpNewObj = new E3dCubeObj(
-					*pObjFactory->mpTargetModel, 
-					E3dDefaultAttributes());
+				pObjFactory->setNewSdrObject(
+                    new E3dCubeObj(
+					    pObjFactory->getTargetModel(), 
+					    E3dDefaultAttributes()));
 				break;
 			}
 			case E3D_SPHEREOBJ_ID:
 			{
-					// FG: ruft den dummy constructor, da dieser Aufruf nur beim Laden von Dokumenten erfolgt.
-					//     die wirkliche Anzahkl Segmente wird aber erst nach dem Laden der Member festgelegt.
-					//     dies hat zur Folge das die erste Kugel gleich wieder zerstoert wird, obwohl sie nie
-					//     gebraucht worden ist.
-				pObjFactory->mpNewObj = new E3dSphereObj(
-					*pObjFactory->mpTargetModel, 
-					E3dDefaultAttributes());
+				// FG: ruft den dummy constructor, da dieser Aufruf nur beim Laden von Dokumenten erfolgt.
+				//     die wirkliche Anzahkl Segmente wird aber erst nach dem Laden der Member festgelegt.
+				//     dies hat zur Folge das die erste Kugel gleich wieder zerstoert wird, obwohl sie nie
+				//     gebraucht worden ist.
+				pObjFactory->setNewSdrObject(
+                    new E3dSphereObj(
+					    pObjFactory->getTargetModel(), 
+					    E3dDefaultAttributes()));
 				break;
 			}
 			case E3D_EXTRUDEOBJ_ID:
 			{
-				pObjFactory->mpNewObj = new E3dExtrudeObj(
-					*pObjFactory->mpTargetModel, 
-					E3dDefaultAttributes());
+				pObjFactory->setNewSdrObject(
+                    new E3dExtrudeObj(
+					    pObjFactory->getTargetModel(), 
+					    E3dDefaultAttributes()));
 				break;
 			}
 			case E3D_LATHEOBJ_ID:
 			{
-				pObjFactory->mpNewObj = new E3dLatheObj(
-					*pObjFactory->mpTargetModel, 
-					E3dDefaultAttributes());
+				pObjFactory->setNewSdrObject(
+                    new E3dLatheObj(
+					    pObjFactory->getTargetModel(), 
+					    E3dDefaultAttributes()));
 				break;
-		}
+    		}
 		}
 	}
 
 	return 0;
 }
 
-
+//////////////////////////////////////////////////////////////////////////////
+// eof

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/view3d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/view3d.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/view3d.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/view3d.cxx Thu Jun  7 17:08:07 2012
@@ -727,7 +727,7 @@ void E3dView::ImpChangeSomeAttributesFor
 		XLineStyle eLineStyle = (XLineStyle)((const XLineStyleItem&)rSet.Get(XATTR_LINESTYLE)).GetValue();
 		XFillStyle eFillStyle = ITEMVALUE(rSet, XATTR_FILLSTYLE, XFillStyleItem);
 
-		if(pSdrPathObj->IsClosed() 
+		if(pSdrPathObj->isClosed() 
 			&& eLineStyle == XLINE_SOLID 
 			&& !nLineWidth 
 			&& eFillStyle != XFILL_NONE)
@@ -765,7 +765,7 @@ void E3dView::ImpCreateSingle3DObjectFla
 		aSet.Put(XLineStyleItem(XLINE_NONE));
 
 		// Feststellen, ob ein FILL_Attribut gesetzt ist.
-		if(!pPath->IsClosed() || eFillStyle == XFILL_NONE)
+		if(!pPath->isClosed() || eFillStyle == XFILL_NONE)
 		{
 			// Das SdrPathObj ist nicht gefuellt, lasse die
 			// vordere und hintere Flaeche weg. Ausserdem ist

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/form/fmobjfac.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/form/fmobjfac.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/form/fmobjfac.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/form/fmobjfac.cxx Thu Jun  7 17:08:07 2012
@@ -146,14 +146,14 @@ namespace
 
 IMPL_LINK(FmFormObjFactory, MakeObject, SdrObjFactory*, pObjFactory)
 {
-	if (pObjFactory->mnInventor == FmFormInventor)
+	if(FmFormInventor == pObjFactory->getSdrObjectCreationInfo().getInvent())
 	{
         ::rtl::OUString sServiceSpecifier;
 
         typedef ::std::vector< ::std::pair< ::rtl::OUString, Any > > PropertyValueArray;
         PropertyValueArray aInitialProperties;
 
-        switch ( pObjFactory->mnIdentifier )
+        switch(pObjFactory->getSdrObjectCreationInfo().getIdent())
         {
 			case OBJ_FM_EDIT:
                 sServiceSpecifier = FM_COMPONENT_EDIT;
@@ -248,8 +248,12 @@ IMPL_LINK(FmFormObjFactory, MakeObject, 
 		}
 
         // create the actual object
-		OSL_ENSURE(pObjFactory->mpTargetModel, "SdrObjFactory MakeObject without SdrModel target (!)");
-		pObjFactory->mpNewObj = new FmFormObj( *pObjFactory->mpTargetModel, sServiceSpecifier, pObjFactory->mnIdentifier );
+        FmFormObj* pFmFormObj = new FmFormObj( 
+            pObjFactory->getTargetModel(), 
+            sServiceSpecifier, 
+            pObjFactory->getSdrObjectCreationInfo().getIdent());
+
+        pObjFactory->setNewSdrObject(pFmFormObj);
 
         // initialize some properties which we want to differ from the defaults
         for (   PropertyValueArray::const_iterator aInitProp = aInitialProperties.begin();
@@ -258,7 +262,7 @@ IMPL_LINK(FmFormObjFactory, MakeObject, 
             )
         {
             lcl_initProperty(
-                static_cast< FmFormObj* >( pObjFactory->mpNewObj ),
+                pFmFormObj,
                 aInitProp->first,
                 aInitProp->second
             );

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/form/fmshell.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/form/fmshell.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/form/fmshell.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/form/fmshell.cxx Thu Jun  7 17:08:07 2012
@@ -1506,3 +1506,15 @@ void FmFormShell::SetDesignMode( sal_Boo
 	if ( pModel )
 		pModel->GetUndoEnv().UnLock();
 }
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+namespace svx
+{
+    ISdrObjectFilter::~ISdrObjectFilter()
+    {
+    }
+}
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// eof

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/form/fmshimp.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/form/fmshimp.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/form/fmshimp.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/form/fmshimp.cxx Thu Jun  7 17:08:07 2012
@@ -574,32 +574,21 @@ sal_Bool isControlList(const SdrObjectVe
 	for (sal_uInt32 i = 0; i < _rSelection.size() && bControlList; i++)
 	{
 		SdrObject *pObj = _rSelection[i];
-		E3dObject* pAs3DObject = dynamic_cast< E3dObject* >( pObj);
-		// E3dObject's do not contain any 2D-objects (by definition)
-		// we need this extra check here : an E3dObject->getChildrenOfSdrObject says "YES", but an SdrObjListIter working
-		// with an E3dObject doesn't give me any Nodes (E3dObject has a sub list, but no members in that list,
-		// cause there implementation differs from the one of "normal" SdrObject's. Unfortunally SdrObject::getChildrenOfSdrObject
-		// doesn't check the element count of the sub list, which is simply a bug in IsGroupObject we can't fix at the moment).
-		// So at the end of this function bControlList would have the same value it was initialized with above : sal_True
-		// And this would be wrong :)
-		// 03.02.00 - 72529 - FS
-		if (!pAs3DObject)
+
+		if (pObj->getChildrenOfSdrObject())
 		{
-			if (pObj->getChildrenOfSdrObject())
-			{
-				SdrObjListIter aIter(*pObj->getChildrenOfSdrObject());
-				while (aIter.IsMore() && bControlList)
-				{
-					bControlList = FmFormInventor == aIter.Next()->GetObjInventor();
-					bHadAnyLeafs = sal_True;
-				}
-			}
-			else
+			SdrObjListIter aIter(*pObj->getChildrenOfSdrObject());
+			while (aIter.IsMore() && bControlList)
 			{
+				bControlList = FmFormInventor == aIter.Next()->GetObjInventor();
 				bHadAnyLeafs = sal_True;
-				bControlList = FmFormInventor == pObj->GetObjInventor();
 			}
 		}
+		else
+		{
+			bHadAnyLeafs = sal_True;
+			bControlList = FmFormInventor == pObj->GetObjInventor();
+		}
 	}
 
 	return bControlList && bHadAnyLeafs;

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/form/fmvwimp.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/form/fmvwimp.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/form/fmvwimp.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/form/fmvwimp.cxx Thu Jun  7 17:08:07 2012
@@ -1462,7 +1462,8 @@ SdrObject* FmXFormView::implCreateXForms
 			const sal_uInt16 nObjID = OBJ_FM_BUTTON;
 			::Size controlSize(4000, 500);
 			FmFormObj* pControl = static_cast< FmFormObj* >(SdrObjFactory::MakeNewObject( 
-				getView()->getSdrModelFromSdrView(), FmFormInventor, nObjID ));
+				getView()->getSdrModelFromSdrView(), 
+                SdrObjectCreationInfo(nObjID, FmFormInventor)));
 			controlSize.Width() = Fraction(controlSize.Width(), 1) * eTargetMode.GetScaleX();
 			controlSize.Height() = Fraction(controlSize.Height(), 1) * eTargetMode.GetScaleY();
 			::Point controlPos( pOutDev->LogicToLogic( ::Point( controlSize.Width(), 0 ), eSourceMode, eTargetMode ) );
@@ -1566,7 +1567,8 @@ bool FmXFormView::createControlLabelPair
     if ( bNeedLabel )
     {
         pLabel = dynamic_cast< SdrUnoObj* >(SdrObjFactory::MakeNewObject( 
-			*_pModel, _nInventor, _nLabelObjectID ));
+			*_pModel, 
+            SdrObjectCreationInfo(_nLabelObjectID, _nInventor)));
         OSL_ENSURE( pLabel, "FmXFormView::createControlLabelPair: could not create the label!" );
         if ( !pLabel )
             return false;
@@ -1594,7 +1596,8 @@ bool FmXFormView::createControlLabelPair
 
 	// the control
     SdrUnoObj* pControl = dynamic_cast< SdrUnoObj* >(SdrObjFactory::MakeNewObject( 
-		*_pModel, _nInventor, _nControlObjectID ));
+		*_pModel, 
+        SdrObjectCreationInfo(_nControlObjectID, _nInventor)));
     OSL_ENSURE( pControl, "FmXFormView::createControlLabelPair: could not create the control!" );
     if ( !pControl )
         return false;

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/gallery2/galmisc.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/gallery2/galmisc.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/gallery2/galmisc.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/gallery2/galmisc.cxx Thu Jun  7 17:08:07 2012
@@ -99,8 +99,11 @@ BitmapEx GalleryResGetBitmapEx( sal_uInt
 
 IMPL_LINK( SgaUserDataFactory, MakeUserData, SdrObjFactory*, pObjFactory )
 {
-	if ( pObjFactory->mnInventor == IV_IMAPINFO && pObjFactory->mnIdentifier == ID_IMAPINFO )
-		pObjFactory->mpNewData = new SgaIMapInfo;
+	if ( IV_IMAPINFO == pObjFactory->getSdrObjectCreationInfo().getInvent() 
+        && ID_IMAPINFO == pObjFactory->getSdrObjectCreationInfo().getIdent() )
+    {
+		pObjFactory->setNewSdrObjUserData(new SgaIMapInfo);
+    }
 
 	return 0L;
 }

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdrcircobj.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdrcircobj.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdrcircobj.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdrcircobj.cxx Thu Jun  7 17:08:07 2012
@@ -59,12 +59,12 @@ namespace sdr
 			const basegfx::B2DHomMatrix& rObjectMatrix(GetCircObj().getSdrObjectTransformation());
 
 			// create primitive data
-			const sal_uInt16 nIdentifier(GetCircObj().GetObjIdentifier());
+            const SdrCircleObjType aSdrCircleObjType(GetCircObj().GetSdrCircleObjType());
 
 			// always create primitives to allow the decomposition of SdrEllipsePrimitive2D
 			// or SdrEllipseSegmentPrimitive2D to create needed invisible elements for HitTest
 			// and/or BoundRect
-			if(OBJ_CIRC == nIdentifier)
+			if(CircleType_Circle == aSdrCircleObjType)
 			{
 				// full circle
 				const drawinglayer::primitive2d::Primitive2DReference xReference(
@@ -79,8 +79,8 @@ namespace sdr
 				// circle segment
 				const double fStart(GetCircObj().GetStartAngle());
 				const double fEnd(GetCircObj().GetEndAngle());
-				const bool bCloseSegment(OBJ_CARC != nIdentifier);
-				const bool bCloseUsingCenter(OBJ_SECT == nIdentifier);
+				const bool bCloseSegment(CircleType_Arc != aSdrCircleObjType);
+				const bool bCloseUsingCenter(CircleType_Sector == aSdrCircleObjType);
 
 				const drawinglayer::primitive2d::Primitive2DReference xReference(
 					new drawinglayer::primitive2d::SdrEllipseSegmentPrimitive2D(

Added: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/sdrobjectfactory.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/sdrobjectfactory.cxx?rev=1347716&view=auto
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/sdrobjectfactory.cxx (added)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/sdrobjectfactory.cxx Thu Jun  7 17:08:07 2012
@@ -0,0 +1,244 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_svx.hxx"
+
+#include <svx/sdrobjectfactory.hxx>
+#include <svx/svdogrp.hxx>
+#include <svx/svdoedge.hxx>
+#include <svx/svdomeas.hxx>
+#include <svx/svdograf.hxx>
+#include <svx/svdoole2.hxx>
+#include <svx/svdocapt.hxx>
+#include <svx/svdopage.hxx>
+#include <svx/svdouno.hxx>
+#include <svx/svdoashp.hxx>
+#include <svx/svdomedia.hxx>
+#include <svx/svdotable.hxx>
+#include <svx/svdetc.hxx>
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+SdrObjFactory::SdrObjFactory(SdrModel& rTargetModel, const SdrObjectCreationInfo& rSdrObjectCreationInfo)
+:	mrTargetModel(rTargetModel),
+    maSdrObjectCreationInfo(rSdrObjectCreationInfo),
+	mpNewObj(0),
+	mpObj(0),
+	mpNewData(0)
+{
+}
+
+SdrObjFactory::SdrObjFactory(const SdrObjectCreationInfo& rSdrObjectCreationInfo, SdrObject& rObj1)
+:	mrTargetModel(rObj1.getSdrModelFromSdrObject()),
+    maSdrObjectCreationInfo(rSdrObjectCreationInfo),
+	mpNewObj(0),
+	mpObj(&rObj1),
+	mpNewData(0)
+{
+}
+
+SdrObject* SdrObjFactory::MakeNewObject(SdrModel& rTargetModel, const SdrObjectCreationInfo& rSdrObjectCreationInfo)
+{
+	SdrObject* pObj = 0;
+
+	if(SdrInventor == rSdrObjectCreationInfo.getInvent())
+	{
+		switch(rSdrObjectCreationInfo.getIdent())
+		{
+			case sal_uInt16(OBJ_NONE): 
+            {
+                pObj = new SdrObject(rTargetModel);
+                break;
+            }
+			case sal_uInt16(OBJ_GRUP): 
+            {
+                pObj = new SdrObjGroup(rTargetModel);
+                break;
+            }
+			case sal_uInt16(OBJ_POLY): 
+            {
+                pObj = new SdrPathObj(rTargetModel); 
+                break;
+            }
+			case sal_uInt16(OBJ_EDGE): 
+            {
+                pObj = new SdrEdgeObj(rTargetModel);                  
+                break;
+            }
+			case sal_uInt16(OBJ_RECT): 
+            {
+                pObj = new SdrRectObj(rTargetModel);                  
+                break;
+            }
+			case sal_uInt16(OBJ_CIRC): 
+            {
+                pObj = new SdrCircObj(rTargetModel, rSdrObjectCreationInfo.getSdrCircleObjType()); 
+                break;
+            }
+			case sal_uInt16(OBJ_TEXT): 
+            {
+                pObj = new SdrRectObj(rTargetModel, basegfx::B2DHomMatrix(), OBJ_TEXT, true); 
+                break;
+            }
+			case sal_uInt16(OBJ_TITLETEXT): 
+            {
+                pObj = new SdrRectObj(rTargetModel, basegfx::B2DHomMatrix(), OBJ_TITLETEXT, true); 
+                break;
+            }
+			case sal_uInt16(OBJ_OUTLINETEXT): 
+            {
+                pObj = new SdrRectObj(rTargetModel, basegfx::B2DHomMatrix(), OBJ_OUTLINETEXT, true); 
+                break;
+            }
+			case sal_uInt16(OBJ_MEASURE): 
+            {
+                pObj = new SdrMeasureObj(rTargetModel);               
+                break;
+            }
+			case sal_uInt16(OBJ_GRAF): 
+            {
+                pObj = new SdrGrafObj(rTargetModel, Graphic());                  
+                break;
+            }
+			case sal_uInt16(OBJ_OLE2): 
+            {
+                pObj = new SdrOle2Obj(rTargetModel, svt::EmbeddedObjectRef(), String(), basegfx::B2DHomMatrix(), true);                  
+                break;
+            }
+			case sal_uInt16(OBJ_FRAME): 
+            {
+                pObj = new SdrOle2Obj(rTargetModel, svt::EmbeddedObjectRef(), String(), basegfx::B2DHomMatrix(), true);            
+                break;
+            }
+			case sal_uInt16(OBJ_CAPTION): 
+            {
+                pObj = new SdrCaptionObj(rTargetModel);               
+                break;
+            }
+			case sal_uInt16(OBJ_PAGE): 
+            {
+                pObj = new SdrPageObj(rTargetModel);                  
+                break;
+            }
+			case sal_uInt16(OBJ_UNO): 
+            {
+                pObj = new SdrUnoObj(rTargetModel, String());			
+                break;
+            }
+			case sal_uInt16(OBJ_CUSTOMSHAPE): 
+            {
+                pObj = new SdrObjCustomShape(rTargetModel);       
+                break;
+            }
+			case sal_uInt16(OBJ_MEDIA): 
+            {
+                pObj = new SdrMediaObj(rTargetModel);           	
+                break;
+            }
+			case sal_uInt16(OBJ_TABLE): 
+            {
+                pObj = new ::sdr::table::SdrTableObj(rTargetModel);	
+                break;
+            }
+		}
+	}
+
+	if(!pObj)
+	{
+		SdrObjFactory* pFact = new SdrObjFactory(rTargetModel, rSdrObjectCreationInfo);
+		SdrLinkList& rLL = ImpGetUserMakeObjHdl();
+		unsigned nAnz(rLL.GetLinkCount());
+		unsigned i(0);
+		
+		while(i < nAnz && !pObj) 
+		{
+			rLL.GetLink(i).Call((void*)pFact);
+			pObj = pFact->mpNewObj;
+			i++;
+		}
+
+		delete pFact;
+	}
+
+	return pObj;
+}
+
+SdrObjUserData* SdrObjFactory::MakeNewObjUserData(const SdrObjectCreationInfo& rSdrObjectCreationInfo, SdrObject& rObj1)
+{
+	SdrObjUserData* pData = 0;
+	
+	if(rSdrObjectCreationInfo.getInvent() == SdrInventor) 
+	{
+		switch(rSdrObjectCreationInfo.getIdent())
+		{
+			case sal_uInt16(SDRUSERDATA_OBJTEXTLINK) : 
+            {
+				pData = new ImpSdrObjTextLinkUserData(dynamic_cast< SdrTextObj* >(&rObj1)); 
+				break;
+            }
+		}
+	}
+
+	if(!pData) 
+	{
+		SdrObjFactory aFact(rSdrObjectCreationInfo, rObj1);
+		SdrLinkList& rLL = ImpGetUserMakeObjUserDataHdl();
+		unsigned nAnz(rLL.GetLinkCount());
+		unsigned i(0);
+
+		while(i < nAnz && !pData) 
+		{
+			rLL.GetLink(i).Call((void*)&aFact);
+			pData = aFact.mpNewData;
+			i++;
+		}
+	}
+
+	return pData;
+}
+
+void SdrObjFactory::InsertMakeObjectHdl(const Link& rLink)
+{
+	SdrLinkList& rLL = ImpGetUserMakeObjHdl();
+	rLL.InsertLink(rLink);
+}
+
+void SdrObjFactory::RemoveMakeObjectHdl(const Link& rLink)
+{
+	SdrLinkList& rLL = ImpGetUserMakeObjHdl();
+	rLL.RemoveLink(rLink);
+}
+
+void SdrObjFactory::InsertMakeUserDataHdl(const Link& rLink)
+{
+	SdrLinkList& rLL = ImpGetUserMakeObjUserDataHdl();
+	rLL.InsertLink(rLink);
+}
+
+void SdrObjFactory::RemoveMakeUserDataHdl(const Link& rLink)
+{
+	SdrLinkList& rLL = ImpGetUserMakeObjUserDataHdl();
+	rLL.RemoveLink(rLink);
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// eof

Propchange: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/sdrobjectfactory.cxx
------------------------------------------------------------------------------
    svn:executable = *

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdcrtv.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdcrtv.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdcrtv.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdcrtv.cxx Thu Jun  7 17:08:07 2012
@@ -186,11 +186,10 @@ SdrCreateView::SdrCreateView(SdrModel& r
 	mpAktCreate(0),
 	mpCoMaOverlay(0),
 	mpCreateViewExtraData(new ImpSdrCreateViewExtraData()),
-	maCreatePointer(POINTER_CROSS),
+    maSdrObjectCreationInfo(),
+    maCreatePointer(POINTER_CROSS),
 	mnAutoCloseDistPix(5),
 	mnFreeHandMinDistPix(10),
-	mnAktInvent(SdrInventor),
-	mnAktIdent(OBJ_NONE),
 	mbAutoTextEdit(false),
 	mb1stPointAsCenter(false),
 	mbAutoClosePolys(true)
@@ -271,25 +270,18 @@ basegfx::B2DRange SdrCreateView::TakeAct
 
 bool SdrCreateView::CheckEdgeMode()
 {
-	sal_uInt32 nInv(GetCurrentObjInventor());
-	sal_uInt16 nIdn(GetCurrentObjIdentifier());
-	
-	if(GetCreateObj()) 
-	{
-		nInv = GetCreateObj()->GetObjInventor();
-		nIdn = GetCreateObj()->GetObjIdentifier();
+    const bool bCreatingEdge(SdrInventor == getSdrObjectCreationInfo().getInvent() && OBJ_EDGE == getSdrObjectCreationInfo().getIdent());
 
-		// wird vom EdgeObj gemanaged
-		if(SdrInventor == GetCurrentObjInventor() && OBJ_EDGE == GetCurrentObjIdentifier()) 
-		{
-			return false;
-		}
+	if(GetCreateObj() && bCreatingEdge) 
+	{
+		return false;
 	}
 	
-	if(!IsCreateMode() || SdrInventor != GetCurrentObjInventor() || OBJ_EDGE != GetCurrentObjIdentifier()) 
+	if(!IsCreateMode() || !bCreatingEdge) 
 	{
 		ImpClearConnectMarker();
-		return false;
+
+        return false;
 	} 
 	else 
 	{
@@ -352,64 +344,56 @@ bool SdrCreateView::MouseMove(const Mous
 bool SdrCreateView::IsTextTool() const
 {
 	return (SDREDITMODE_CREATE == GetViewEditMode()
-		&& SdrInventor == GetCurrentObjInventor()
-		&& (OBJ_TEXT == GetCurrentObjIdentifier() 
-			|| OBJ_TITLETEXT == GetCurrentObjIdentifier() 
-			|| OBJ_OUTLINETEXT == GetCurrentObjIdentifier()));
+		&& SdrInventor == getSdrObjectCreationInfo().getInvent()
+		&& (OBJ_TEXT == getSdrObjectCreationInfo().getIdent() 
+			|| OBJ_TITLETEXT == getSdrObjectCreationInfo().getIdent() 
+			|| OBJ_OUTLINETEXT == getSdrObjectCreationInfo().getIdent()));
 }
 
 bool SdrCreateView::IsEdgeTool() const
 {
 	return (SDREDITMODE_CREATE == GetViewEditMode()
-		&& SdrInventor == GetCurrentObjInventor()
-		&& OBJ_EDGE == GetCurrentObjIdentifier());
+		&& SdrInventor == getSdrObjectCreationInfo().getInvent()
+		&& OBJ_EDGE == getSdrObjectCreationInfo().getIdent());
 }
 
 bool SdrCreateView::IsMeasureTool() const
 {
 	return (SDREDITMODE_CREATE == GetViewEditMode()
-		&& SdrInventor == GetCurrentObjInventor() 
-		&& OBJ_MEASURE == GetCurrentObjIdentifier());
+		&& SdrInventor == getSdrObjectCreationInfo().getInvent() 
+		&& OBJ_MEASURE == getSdrObjectCreationInfo().getIdent());
 }
 
-void SdrCreateView::SetCurrentObj(sal_uInt16 nIdent, sal_uInt32 nInvent)
+void SdrCreateView::setSdrObjectCreationInfo(const SdrObjectCreationInfo& rNew)
 {
-	if(GetCurrentObjInventor() != nInvent || GetCurrentObjIdentifier() != nIdent) 
-	{
-		// reset other values which need to be set after this call
-		ResetCreationParameters();
-
-		mnAktInvent = nInvent;
-		mnAktIdent = nIdent;
-        maCreatePointer = Pointer(POINTER_CROSS);
+    // copy values
+    maSdrObjectCreationInfo = rNew;
 
-        // Auf pers. Wunsch von Marco:
-		// Mauszeiger bei Textwerkzeug immer I-Beam. Fadenkreuz
-		// mit kleinem I-Beam erst bai MouseButtonDown
-		if(IsTextTool()) 
-		{
-			// #81944# AW: Here the correct pointer needs to be used
-			// if the default is set to vertical writing
-			maCreatePointer = POINTER_TEXT;
-		}
-		else if(nIdent != sal_uInt16(OBJ_NONE)) // not for OBJ_NONE
-		{
-		    SdrObject* pObj = SdrObjFactory::MakeNewObject(getSdrModelFromSdrView(), nInvent, nIdent);
+	// Always use I-Beam for text tool
+	if(IsTextTool()) 
+	{
+        setCreatePointer(POINTER_TEXT);
+	}
+	else if(static_cast< sal_uInt16 >(OBJ_NONE) != maSdrObjectCreationInfo.getIdent())
+	{
+		SdrObject* pObj = SdrObjFactory::MakeNewObject(
+            getSdrModelFromSdrView(), 
+            getSdrObjectCreationInfo());
 		
-		    if(pObj) 
-		    {
-				maCreatePointer = pObj->GetCreatePointer(static_cast< SdrView& >(*this));
-                deleteSdrObjectSafeAndClearPointer( pObj );
-		    } 
-		}
+		if(pObj) 
+		{
+			setCreatePointer(pObj->GetCreatePointer(*getAsSdrView()));
+            deleteSdrObjectSafeAndClearPointer(pObj);
+		} 
 	}
-
-	CheckEdgeMode();
-	ImpSetGlueVisible3(IsEdgeTool());
 }
 
-bool SdrCreateView::ImpBegCreateObj(sal_uInt32 nInvent, sal_uInt16 nIdent, const basegfx::B2DPoint& rPnt, OutputDevice* /*pOut*/,
-	double fMinMovLogic, const basegfx::B2DRange& rLogRange, SdrObject* pPreparedFactoryObject)
+bool SdrCreateView::ImpBegCreateObj(
+    const SdrObjectCreationInfo& rSdrObjectCreationInfo, 
+    const basegfx::B2DPoint& rPnt, 
+    double fMinMovLogic, 
+    const basegfx::B2DRange& rLogRange, 
+    SdrObject* pPreparedFactoryObject)
 {
 	bool bRetval(false);
 
@@ -421,7 +405,9 @@ bool SdrCreateView::ImpBegCreateObj(sal_
 	{
 		String aLay(GetActiveLayer());
 		
-		if(SdrInventor == nInvent && OBJ_MEASURE == nIdent && GetMeasureLayer().Len()) 
+		if(SdrInventor == rSdrObjectCreationInfo.getInvent() 
+            && OBJ_MEASURE == rSdrObjectCreationInfo.getIdent() 
+            && GetMeasureLayer().Len()) 
 	    {
 			aLay = GetMeasureLayer();
     	}
@@ -441,14 +427,16 @@ bool SdrCreateView::ImpBegCreateObj(sal_
 			}
 			else
 			{
-				mpAktCreate = SdrObjFactory::MakeNewObject(getSdrModelFromSdrView(), nInvent, nIdent);
+				mpAktCreate = SdrObjFactory::MakeNewObject(getSdrModelFromSdrView(), rSdrObjectCreationInfo);
 			}
 
 			basegfx::B2DPoint aPnt(rPnt);
 
-			if(SdrInventor != GetCurrentObjInventor() || (GetCurrentObjIdentifier() != sal_uInt16(OBJ_EDGE) &&
-				GetCurrentObjIdentifier() != sal_uInt16(OBJ_FREELINE) &&
-				GetCurrentObjIdentifier() != sal_uInt16(OBJ_FREEFILL) )) 
+            // no snap for edge and freehand
+            const bool bNoSnap(SdrInventor == getSdrObjectCreationInfo().getInvent() && (
+                sal_uInt16(OBJ_EDGE) == getSdrObjectCreationInfo().getIdent() || getSdrObjectCreationInfo().getFreehandMode()));
+
+            if(!bNoSnap)
 			{ 
                 // Kein Fang fuer Edge und Freihand!
 				aPnt = GetSnapPos(aPnt);
@@ -467,7 +455,7 @@ bool SdrCreateView::ImpBegCreateObj(sal_
 				// object should not be created. Since it is possible to use it as a helper
 				// object (e.g. in letting the user define an area with the interactive
 				// construction) at least no items should be set at that object.
-				if(SdrInventor != nInvent || OBJ_NONE != nIdent)
+				if(SdrInventor != rSdrObjectCreationInfo.getInvent() || OBJ_NONE != rSdrObjectCreationInfo.getIdent())
 				{
 					GetCreateObj()->SetMergedItemSet(GetDefaultAttr());
 				}
@@ -482,7 +470,11 @@ bool SdrCreateView::ImpBegCreateObj(sal_
 					bStartEdit = true;
 				}
 				
-				if(GetCreateObj() && SdrInventor == nInvent && (OBJ_TEXT == nIdent || OBJ_TITLETEXT == nIdent || OBJ_OUTLINETEXT == nIdent)) 
+				if(GetCreateObj() 
+                    && SdrInventor == rSdrObjectCreationInfo.getInvent() 
+                    && (OBJ_TEXT == rSdrObjectCreationInfo.getIdent() 
+                        || OBJ_TITLETEXT == rSdrObjectCreationInfo.getIdent() 
+                        || OBJ_OUTLINETEXT == rSdrObjectCreationInfo.getIdent())) 
 				{
 					// Fuer alle Textrahmen default keinen Hintergrund und keine Umrandung
 					SfxItemSet aSet(GetCreateObj()->GetObjectItemPool());
@@ -530,31 +522,29 @@ bool SdrCreateView::ImpBegCreateObj(sal_
 	return bRetval;
 }
 
-bool SdrCreateView::BegCreateObj(const basegfx::B2DPoint& rPnt, OutputDevice* pOut, double fMinMovLogic)
+bool SdrCreateView::BegCreateObj(const basegfx::B2DPoint& rPnt, double fMinMovLogic)
 {
-	return ImpBegCreateObj(GetCurrentObjInventor(), GetCurrentObjIdentifier(), rPnt, pOut, fMinMovLogic, basegfx::B2DRange(), 0);
+	return ImpBegCreateObj(getSdrObjectCreationInfo(), rPnt, fMinMovLogic, basegfx::B2DRange(), 0);
 }
 
 bool SdrCreateView::BegCreatePreparedObject(const basegfx::B2DPoint& rPnt, double fMinMovLogic, SdrObject* pPreparedFactoryObject)
 {
-	sal_uInt32 nInvent(GetCurrentObjInventor());
-	sal_uInt16 nIdent(GetCurrentObjIdentifier());
+    SdrObjectCreationInfo aSdrObjectCreationInfo(getSdrObjectCreationInfo());
 
 	if(pPreparedFactoryObject)
 	{
-		nInvent = pPreparedFactoryObject->GetObjInventor();
-		nIdent = pPreparedFactoryObject->GetObjIdentifier();
+        aSdrObjectCreationInfo.setInvent(pPreparedFactoryObject->GetObjInventor());
+        aSdrObjectCreationInfo.setIdent(pPreparedFactoryObject->GetObjIdentifier());
 	}
 
-	return ImpBegCreateObj(nInvent, nIdent, rPnt, 0, fMinMovLogic, basegfx::B2DRange(), pPreparedFactoryObject);
+	return ImpBegCreateObj(aSdrObjectCreationInfo, rPnt, fMinMovLogic, basegfx::B2DRange(), pPreparedFactoryObject);
 }
 
-bool SdrCreateView::BegCreateCaptionObj(const basegfx::B2DPoint& rPnt, const basegfx::B2DVector& rObjSiz,
-	OutputDevice* pOut, double fMinMovLogic)
+bool SdrCreateView::BegCreateCaptionObj(const basegfx::B2DPoint& rPnt, const basegfx::B2DVector& rObjSiz, double fMinMovLogic)
 {
 	const basegfx::B2DRange aNewRange(rPnt, rPnt + rObjSiz);
 
-	return ImpBegCreateObj(SdrInventor, OBJ_CAPTION, rPnt, pOut, fMinMovLogic, aNewRange, 0);
+	return ImpBegCreateObj(SdrObjectCreationInfo(OBJ_CAPTION, SdrInventor), rPnt, fMinMovLogic, aNewRange, 0);
 }
 
 void SdrCreateView::MovCreateObj(const basegfx::B2DPoint& rPnt)

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedtv2.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedtv2.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedtv2.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedtv2.cxx Thu Jun  7 17:08:07 2012
@@ -732,13 +732,13 @@ void SdrEditView::ImpCopyAttributes(cons
 
 bool SdrEditView::ImpCanConvertForCombine1(const SdrObject* pObj) const
 {
-	// #69711 : new condition IsLine() to be able to combine simple Lines
+	// #69711 : new condition isLine() to be able to combine simple Lines
 	bool bIsLine(false);
 	const SdrPathObj* pPath = dynamic_cast< const SdrPathObj* >(pObj);
 
 	if(pPath)
 	{
-		bIsLine = pPath->IsLine();
+		bIsLine = pPath->isLine();
 	}
 
 	SdrObjTransformInfoRec aInfo;
@@ -1339,7 +1339,7 @@ void SdrEditView::MergeMarkedObjects(Sdr
 		// #i73441# check insert list before taking actions
 		if(pInsOL)
 		{
-			SdrPathObj* pPath = new SdrPathObj(getSdrModelFromSdrView(), OBJ_PATHFILL, aMergePolyPolygonA);
+			SdrPathObj* pPath = new SdrPathObj(getSdrModelFromSdrView(), aMergePolyPolygonA);
 
 			ImpCopyAttributes(pAttrObj, pPath);
 			pInsOL->InsertObjectToSdrObjList(*pPath, nInsPos);
@@ -1488,8 +1488,6 @@ void SdrEditView::CombineMarkedObjects(b
 
 	    if(nPolyCount) 
 	    {
-		    SdrObjKind eKind = OBJ_PATHFILL;
-
 		    if(nPolyCount > 1L) 
 		    {
 			    aPolyPolygon.setClosed(true);
@@ -1500,11 +1498,7 @@ void SdrEditView::CombineMarkedObjects(b
 			    const basegfx::B2DPolygon aPolygon(aPolyPolygon.getB2DPolygon(0L));
 			    const sal_uInt32 nPointCount(aPolygon.count());
 			
-				if(nPointCount <= 2) 
-			    {
-				    eKind = OBJ_PATHLINE;
-			    }
-			    else 
+				if(nPointCount > 2) 
 			    {
 				    if(!aPolygon.isClosed())
 				    {
@@ -1517,15 +1511,11 @@ void SdrEditView::CombineMarkedObjects(b
 					    {
 						    aPolyPolygon.setClosed(true);
 					    }
-					    else
-					    {
-						    eKind = OBJ_PATHLINE;
-					    }
 				    }
 			    }
 		    }
 
-			SdrPathObj* pPath = new SdrPathObj(getSdrModelFromSdrView(), eKind,aPolyPolygon);
+			SdrPathObj* pPath = new SdrPathObj(getSdrModelFromSdrView(), aPolyPolygon);
 
     		// Attribute des untersten Objekts
 	    	ImpCopyAttributes(pAttrObj, pPath);
@@ -1537,7 +1527,7 @@ void SdrEditView::CombineMarkedObjects(b
     		// #110635#
 	    	// Take fill style/closed state of pAttrObj in account when deciding to change the line style
 			const SdrPathObj* pSdrPathObj = dynamic_cast< const SdrPathObj* >(pAttrObj);
-			const bool bIsClosedPathObj(pSdrPathObj && pSdrPathObj->IsClosed());
+			const bool bIsClosedPathObj(pSdrPathObj && pSdrPathObj->isClosed());
 
 		    if(XLINE_NONE == eLineStyle && (XFILL_NONE == eFillStyle || !bIsClosedPathObj))
 		    {
@@ -1664,8 +1654,8 @@ bool SdrEditView::ImpCanDismantle(const 
 			SdrObjTransformInfoRec aInfo;
 			pObj->TakeObjInfo(aInfo);
 
-			// #69711 : new condition IsLine() to be able to break simple Lines
-			if(!(aInfo.mbCanConvToPath || aInfo.mbCanConvToPoly) && !pPath->IsLine()) 
+			// #69711 : new condition isLine() to be able to break simple Lines
+            if(!(aInfo.mbCanConvToPath || aInfo.mbCanConvToPoly) && !pPath->isLine()) 
 			{
 				// Passiert z.B. im Falle Fontwork (Joe, 28-11-95)
 				bOtherObjs = true; 
@@ -1707,7 +1697,7 @@ void SdrEditView::ImpDismantleOneObject(
 
 			if(!bMakeLines || nPointCount < 2)
 			{
-				SdrPathObj* pPath = new SdrPathObj(getSdrModelFromSdrView(), (SdrObjKind)pSrcPath->GetObjIdentifier(), basegfx::B2DPolyPolygon(rCandidate));
+				SdrPathObj* pPath = new SdrPathObj(getSdrModelFromSdrView(), basegfx::B2DPolyPolygon(rCandidate));
 				ImpCopyAttributes(pSrcPath, pPath);
 				pLast = pPath;
 				rOL.InsertObjectToSdrObjList(*pPath, rPos);
@@ -1726,7 +1716,6 @@ void SdrEditView::ImpDismantleOneObject(
 
 				for(sal_uInt32 b(0); b < nLoopCount; b++)
 				{
-					SdrObjKind eKind(OBJ_PLIN);
 					basegfx::B2DPolygon aNewPolygon;
 					const sal_uInt32 nNextIndex((b + 1) % nPointCount);
 
@@ -1738,14 +1727,13 @@ void SdrEditView::ImpDismantleOneObject(
 							rCandidate.getNextControlPoint(b),
 							rCandidate.getPrevControlPoint(nNextIndex),
 							rCandidate.getB2DPoint(nNextIndex));
-						eKind = OBJ_PATHLINE;
 					}
 					else
 					{
 						aNewPolygon.append(rCandidate.getB2DPoint(nNextIndex));
 					}
 
-					SdrPathObj* pPath = new SdrPathObj(getSdrModelFromSdrView(), eKind, basegfx::B2DPolyPolygon(aNewPolygon));
+					SdrPathObj* pPath = new SdrPathObj(getSdrModelFromSdrView(), basegfx::B2DPolyPolygon(aNewPolygon));
 					ImpCopyAttributes(pSrcPath, pPath);
 					pLast = pPath;
 					rOL.InsertObjectToSdrObjList(*pPath, rPos);
@@ -1800,7 +1788,8 @@ void SdrEditView::ImpDismantleOneObject(
 				{
 					// #i37011# also create a text object and add at rPos + 1
 					SdrTextObj* pTextObj = (SdrTextObj*)SdrObjFactory::MakeNewObject(
-						getSdrModelFromSdrView(), pCustomShape->GetObjInventor(), OBJ_TEXT);
+						getSdrModelFromSdrView(), 
+                        SdrObjectCreationInfo(OBJ_TEXT, pCustomShape->GetObjInventor()));
 
 					// Copy text content
 					OutlinerParaObject* pParaObj = pCustomShape->GetOutlinerParaObject();

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedxv.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedxv.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedxv.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedxv.cxx Thu Jun  7 17:08:07 2012
@@ -2348,18 +2348,9 @@ bool SdrObjEditView::SupportsFormatPaint
         case OBJ_NONE:
         case OBJ_GRUP:
             return false;
-        case OBJ_LINE:
         case OBJ_RECT:
         case OBJ_CIRC:
-        case OBJ_SECT:
-        case OBJ_CARC:
-        case OBJ_CCUT:
         case OBJ_POLY:
-        case OBJ_PLIN:
-        case OBJ_PATHLINE:
-        case OBJ_PATHFILL:
-        case OBJ_FREELINE:
-        case OBJ_FREEFILL:
         case OBJ_TEXT:
         case OBJ_TITLETEXT:
         case OBJ_OUTLINETEXT:
@@ -2370,9 +2361,6 @@ bool SdrObjEditView::SupportsFormatPaint
         case OBJ_EDGE:
         case OBJ_CAPTION:
             return false;
-        case OBJ_PATHPOLY:
-        case OBJ_PATHPLIN:
-            return true;
         case OBJ_PAGE:
         case OBJ_MEASURE:
         case OBJ_FRAME:

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdfmtf.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdfmtf.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdfmtf.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdfmtf.cxx Thu Jun  7 17:08:07 2012
@@ -465,7 +465,6 @@ void ImpSdrGDIMetaFileImport::InsertObj(
             {
                 pObj = new SdrPathObj(
                     mrModel,
-                    aNewPoly.isClosed() ? OBJ_POLY : OBJ_PLIN, 
                     aNewPoly);
             
 		        pObj->SetLayer(aOldLayer);
@@ -602,7 +601,6 @@ void ImpSdrGDIMetaFileImport::DoAction(M
 		{
 			SdrPathObj* pPath = new SdrPathObj(
                 mrModel,
-                OBJ_LINE, 
                 basegfx::B2DPolyPolygon(aLine));
 
             mnLineWidth = nNewLineWidth;
@@ -669,7 +667,7 @@ void ImpSdrGDIMetaFileImport::DoAction(M
 	const Rectangle& rRect(rAct.GetRect());
 	SdrCircObj* pCirc = new SdrCircObj(
         mrModel, 
-        OBJ_CIRC, 
+        CircleType_Circle, 
         maCurrent * basegfx::tools::createScaleTranslateB2DHomMatrix(
             rRect.getWidth(), rRect.getHeight(), 
             rRect.Left(), rRect.Top()));
@@ -712,7 +710,7 @@ void ImpSdrGDIMetaFileImport::DoAction(M
 
 	SdrCircObj* pCirc = new SdrCircObj(
 		mrModel, 
-		OBJ_CIRC, 
+		CircleType_Circle, 
 		maCurrent * basegfx::tools::createScaleTranslateB2DHomMatrix(
             rRect.getWidth(), rRect.getHeight(), 
             rRect.Left(), rRect.Top()),
@@ -735,7 +733,7 @@ void ImpSdrGDIMetaFileImport::DoAction(M
 
 	SdrCircObj* pCirc = new SdrCircObj(
 		mrModel, 
-		OBJ_SECT, 
+		CircleType_Sector, 
 		maCurrent * basegfx::tools::createScaleTranslateB2DHomMatrix(
             rRect.getWidth(), rRect.getHeight(), 
             rRect.Left(), rRect.Top()),
@@ -758,7 +756,7 @@ void ImpSdrGDIMetaFileImport::DoAction(M
 
 	SdrCircObj* pCirc = new SdrCircObj(
 		mrModel,
-		OBJ_CCUT, 
+		CircleType_Segment, 
 		maCurrent * basegfx::tools::createScaleTranslateB2DHomMatrix(
             rRect.getWidth(), rRect.getHeight(), 
             rRect.Left(), rRect.Top()),
@@ -921,7 +919,6 @@ void ImpSdrGDIMetaFileImport::DoAction( 
 	    {
             SdrPathObj* pPath = new SdrPathObj(
                 mrModel,
-			    aSource.isClosed() ? OBJ_POLY : OBJ_PLIN,
 			    basegfx::B2DPolyPolygon(aSource));
 		
             mnLineWidth = nNewLineWidth;
@@ -960,7 +957,6 @@ void ImpSdrGDIMetaFileImport::DoAction(M
 
             SdrPathObj* pPath = new SdrPathObj(
                 mrModel, 
-                OBJ_POLY, 
                 basegfx::B2DPolyPolygon(aSource));
 			
             SetAttributes(pPath);
@@ -986,7 +982,6 @@ void ImpSdrGDIMetaFileImport::DoAction(M
 			
             SdrPathObj* pPath = new SdrPathObj(
                 mrModel, 
-                OBJ_POLY, 
                 aSource);
 			
             SetAttributes(pPath);
@@ -1185,7 +1180,6 @@ void ImpSdrGDIMetaFileImport::DoAction( 
 			const Hatch& rHatch = rAct.GetHatch();
 			SdrPathObj* pPath = new SdrPathObj(
                 mrModel, 
-                OBJ_POLY, 
                 aSource);
 			SfxItemSet aHatchAttr(pPath->GetObjectItemPool(),
 				XATTR_FILLSTYLE, XATTR_FILLSTYLE,
@@ -1260,7 +1254,6 @@ void ImpSdrGDIMetaFileImport::DoAction( 
 					const Gradient&	rGrad = pAct->GetGradient();
 					SdrPathObj* pPath = new SdrPathObj(
                         mrModel, 
-                        OBJ_POLY, 
                         aSource);
 					SfxItemSet aGradAttr(pPath->GetObjectItemPool(),
 					   XATTR_FILLSTYLE, XATTR_FILLSTYLE,
@@ -1506,7 +1499,6 @@ void ImpSdrGDIMetaFileImport::DoAction(M
 
         SdrPathObj* pPath = new SdrPathObj(
             mrModel,
-            OBJ_POLY, 
             aSource);
 
         SetAttributes(pPath);
@@ -1544,7 +1536,6 @@ void ImpSdrGDIMetaFileImport::DoAction(M
         	const Gradient& rGradient = rAct.GetGradient();
             SdrPathObj* pPath = new SdrPathObj(
                 mrModel,
-                OBJ_POLY, 
                 aSource);
 			SfxItemSet aGradientAttr(mrModel.GetItemPool(), XATTR_FILLSTYLE, XATTR_FILLSTYLE, XATTR_FILLGRADIENT, XATTR_FILLGRADIENT, 0, 0);
             XGradientStyle aXGradientStyle(XGRAD_LINEAR);

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdmrkv.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdmrkv.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdmrkv.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdmrkv.cxx Thu Jun  7 17:08:07 2012
@@ -567,8 +567,7 @@ bool SdrMarkView::ImpIsFrameHandles() co
 	    {
 			const sal_uInt16 nIdent(pObj->GetObjIdentifier());
 			
-			if(OBJ_LINE == nIdent 
-				|| OBJ_EDGE == nIdent 
+			if(OBJ_EDGE == nIdent 
 				|| OBJ_CAPTION == nIdent 
 				|| OBJ_MEASURE == nIdent 
 				|| OBJ_CUSTOMSHAPE == nIdent 
@@ -576,6 +575,16 @@ bool SdrMarkView::ImpIsFrameHandles() co
 			{
 				bFrmHdl = false;
 			}
+
+            if(bFrmHdl && OBJ_POLY == nIdent)
+            {
+                const SdrPathObj* pPath = dynamic_cast< const SdrPathObj* >(pObj);
+
+                if(pPath && pPath->isLine())
+                {
+    				bFrmHdl = false;
+                }
+            }
 		}
 	}
 

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdobj.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdobj.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdobj.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdobj.cxx Thu Jun  7 17:08:07 2012
@@ -2163,7 +2163,6 @@ SdrObject* SdrObject::ImpConvertToContou
                 // create SdrObject for filled line geometry
 				aLinePolygonPart = new SdrPathObj(
 					getSdrModelFromSdrObject(), 
-					OBJ_PATHFILL, 
 					aMergedLineFillPolyPolygon);
 
                 // correct item properties
@@ -2186,7 +2185,6 @@ SdrObject* SdrObject::ImpConvertToContou
 				// the correct closed state.
 				aLineHairlinePart = new SdrPathObj(
 					getSdrModelFromSdrObject(),
-					OBJ_PATHLINE, 
 					aMergedHairlinePolyPolygon);
 
 				aSet.Put(XLineWidthItem(0L));
@@ -2209,7 +2207,7 @@ SdrObject* SdrObject::ImpConvertToContou
 			bool bAddOriginalGeometry(false);
 			SdrPathObj* pPath = dynamic_cast< SdrPathObj* >( pRet);
 
-            if(pPath && pPath->IsClosed())
+            if(pPath && pPath->isClosed())
 			{
 				if(eOldFillStyle != XFILL_NONE)
 				{
@@ -2529,7 +2527,10 @@ SvxShape* SdrObject::getSvxShape() const
 		}
 		else
 		{
-			mpSvxShape = SvxDrawPage::CreateShapeByTypeAndInventor( GetObjIdentifier(), GetObjInventor(), this, NULL );
+			mpSvxShape = SvxDrawPage::CreateShapeBySvxShapeKind( 
+                SdrObjectCreatorInventorToSvxShapeKind(GetObjIdentifier(), GetObjInventor()),
+                this, 
+                0);
 			maWeakUnoShape = xShape = static_cast< ::cppu::OWeakObject* >( mpSvxShape );
 		}
 	}
@@ -2648,154 +2649,5 @@ void SdrObject::SetContextWritingMode( c
 	return aRetval;
 }
 
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-SdrObjFactory::SdrObjFactory(SdrModel& rTargetModel, sal_uInt32 nInvent, sal_uInt16 nIdent)
-:	mpTargetModel(&rTargetModel),
-	mnInventor(nInvent),
-	mnIdentifier(nIdent),
-	mpNewObj(0),
-	mpObj(0),
-	mpNewData(0)
-{
-}
-
-SdrObjFactory::SdrObjFactory(sal_uInt32 nInvent, sal_uInt16 nIdent, SdrObject& rObj1)
-:	mnInventor(nInvent),
-	mnIdentifier(nIdent),
-	mpNewObj(0),
-	mpObj(&rObj1),
-	mpNewData(0)
-{
-}
-
-SdrObject* SdrObjFactory::MakeNewObject(SdrModel& rTargetModel, sal_uInt32 nInvent, sal_uInt16 nIdent)
-{
-	SdrObject* pObj = 0;
-
-	if(nInvent == SdrInventor)
-	{
-		switch (nIdent)
-		{
-			case sal_uInt16(OBJ_NONE       ): pObj=new SdrObject(rTargetModel);                   break;
-			case sal_uInt16(OBJ_GRUP       ): pObj=new SdrObjGroup(rTargetModel);                 break;
-			case sal_uInt16(OBJ_LINE       ): pObj=new SdrPathObj(rTargetModel, OBJ_LINE       ); break;
-			case sal_uInt16(OBJ_POLY       ): pObj=new SdrPathObj(rTargetModel, OBJ_POLY       ); break;
-			case sal_uInt16(OBJ_PLIN       ): pObj=new SdrPathObj(rTargetModel, OBJ_PLIN       ); break;
-			case sal_uInt16(OBJ_PATHLINE   ): pObj=new SdrPathObj(rTargetModel, OBJ_PATHLINE   ); break;
-			case sal_uInt16(OBJ_PATHFILL   ): pObj=new SdrPathObj(rTargetModel, OBJ_PATHFILL   ); break;
-			case sal_uInt16(OBJ_FREELINE   ): pObj=new SdrPathObj(rTargetModel, OBJ_FREELINE   ); break;
-			case sal_uInt16(OBJ_FREEFILL   ): pObj=new SdrPathObj(rTargetModel, OBJ_FREEFILL   ); break;
-			case sal_uInt16(OBJ_PATHPOLY   ): pObj=new SdrPathObj(rTargetModel, OBJ_POLY       ); break;
-			case sal_uInt16(OBJ_PATHPLIN   ): pObj=new SdrPathObj(rTargetModel, OBJ_PLIN       ); break;
-			case sal_uInt16(OBJ_EDGE       ): pObj=new SdrEdgeObj(rTargetModel);                  break;
-			case sal_uInt16(OBJ_RECT       ): pObj=new SdrRectObj(rTargetModel);                  break;
-			case sal_uInt16(OBJ_CIRC       ): pObj=new SdrCircObj(rTargetModel, OBJ_CIRC       ); break;
-			case sal_uInt16(OBJ_SECT       ): pObj=new SdrCircObj(rTargetModel, OBJ_SECT       ); break;
-			case sal_uInt16(OBJ_CARC       ): pObj=new SdrCircObj(rTargetModel, OBJ_CARC       ); break;
-			case sal_uInt16(OBJ_CCUT       ): pObj=new SdrCircObj(rTargetModel, OBJ_CCUT       ); break;
-			case sal_uInt16(OBJ_TEXT       ): pObj=new SdrRectObj(
-				rTargetModel, basegfx::B2DHomMatrix(), OBJ_TEXT, true); break;
-			case sal_uInt16(OBJ_TITLETEXT  ): pObj=new SdrRectObj(
-				rTargetModel, basegfx::B2DHomMatrix(), OBJ_TITLETEXT, true); break;
-			case sal_uInt16(OBJ_OUTLINETEXT): pObj=new SdrRectObj(
-				rTargetModel, basegfx::B2DHomMatrix(), OBJ_OUTLINETEXT, true); break;
-			case sal_uInt16(OBJ_MEASURE    ): pObj=new SdrMeasureObj(rTargetModel);               break;
-			case sal_uInt16(OBJ_GRAF       ): pObj=new SdrGrafObj(rTargetModel, Graphic());       break;
-			case sal_uInt16(OBJ_OLE2       ): pObj=new SdrOle2Obj(rTargetModel);                  break;
-			case sal_uInt16(OBJ_FRAME      ): pObj=new SdrOle2Obj(
-				rTargetModel, svt::EmbeddedObjectRef(), String(), basegfx::B2DHomMatrix(), true);        break;
-			case sal_uInt16(OBJ_CAPTION    ): pObj=new SdrCaptionObj(rTargetModel);               break;
-			case sal_uInt16(OBJ_PAGE       ): pObj=new SdrPageObj(rTargetModel);                  break;
-			case sal_uInt16(OBJ_UNO        ): pObj=new SdrUnoObj(rTargetModel, String());		  break;
-			case sal_uInt16(OBJ_CUSTOMSHAPE): pObj=new SdrObjCustomShape(rTargetModel);			  break;
-			case sal_uInt16(OBJ_MEDIA 	   ): pObj=new SdrMediaObj(rTargetModel);           	  break;
-			case sal_uInt16(OBJ_TABLE	   ): pObj=new ::sdr::table::SdrTableObj(rTargetModel);   break;
-		}
-	}
-
-	if(!pObj)
-	{
-		SdrObjFactory* pFact = new SdrObjFactory(rTargetModel, nInvent, nIdent);
-		SdrLinkList& rLL = ImpGetUserMakeObjHdl();
-		unsigned nAnz(rLL.GetLinkCount());
-		unsigned i(0);
-		
-		while(i < nAnz && !pObj) 
-		{
-			rLL.GetLink(i).Call((void*)pFact);
-			pObj = pFact->mpNewObj;
-			i++;
-		}
-
-		delete pFact;
-	}
-
-	return pObj;
-}
-
-SdrObjUserData* SdrObjFactory::MakeNewObjUserData(sal_uInt32 nInvent, sal_uInt16 nIdent, SdrObject& rObj1)
-{
-	SdrObjUserData* pData = 0;
-	
-	if(nInvent == SdrInventor) 
-	{
-		switch (nIdent)
-		{
-			case sal_uInt16(SDRUSERDATA_OBJTEXTLINK) : 
-				pData = new ImpSdrObjTextLinkUserData(dynamic_cast< SdrTextObj* >(&rObj1)); 
-				break;
-		}
-	}
-
-	if(!pData) 
-	{
-		SdrObjFactory aFact(nInvent, nIdent, rObj1);
-		SdrLinkList& rLL = ImpGetUserMakeObjUserDataHdl();
-		unsigned nAnz(rLL.GetLinkCount());
-		unsigned i(0);
-
-		while(i < nAnz && !pData) 
-		{
-			rLL.GetLink(i).Call((void*)&aFact);
-			pData = aFact.mpNewData;
-			i++;
-		}
-	}
-
-	return pData;
-}
-
-void SdrObjFactory::InsertMakeObjectHdl(const Link& rLink)
-{
-	SdrLinkList& rLL = ImpGetUserMakeObjHdl();
-	rLL.InsertLink(rLink);
-}
-
-void SdrObjFactory::RemoveMakeObjectHdl(const Link& rLink)
-{
-	SdrLinkList& rLL = ImpGetUserMakeObjHdl();
-	rLL.RemoveLink(rLink);
-}
-
-void SdrObjFactory::InsertMakeUserDataHdl(const Link& rLink)
-{
-	SdrLinkList& rLL = ImpGetUserMakeObjUserDataHdl();
-	rLL.InsertLink(rLink);
-}
-
-void SdrObjFactory::RemoveMakeUserDataHdl(const Link& rLink)
-{
-	SdrLinkList& rLL = ImpGetUserMakeObjUserDataHdl();
-	rLL.RemoveLink(rLink);
-}
-
-namespace svx
-{
-    ISdrObjectFilter::~ISdrObjectFilter()
-    {
-    }
-}
-
 //////////////////////////////////////////////////////////////////////////////
 // eof