incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r1347716 [1/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...
Date Thu, 07 Jun 2012 17:08:12 GMT
Author: alg
Date: Thu Jun  7 17:08:07 2012
New Revision: 1347716

URL: http://svn.apache.org/viewvc?rev=1347716&view=rev
Log:
aw080: SdrObjKind cleaned up, object creation at the view redesigned, all usages adaped, also UNO API

Added:
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdrobjectfactory.hxx   (with props)
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/sdrobjectfactory.cxx   (with props)
Modified:
    incubator/ooo/branches/alg/aw080/main/basctl/source/dlged/dlged.cxx
    incubator/ooo/branches/alg/aw080/main/basctl/source/dlged/dlgedfac.cxx
    incubator/ooo/branches/alg/aw080/main/basctl/source/inc/dlgedfac.hxx
    incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/ChartController_Tools.cxx
    incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/ChartController_Window.cxx
    incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/DrawCommandDispatch.cxx
    incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/DrawCommandDispatch.hxx
    incubator/ooo/branches/alg/aw080/main/cui/source/tabpages/tabline.cxx
    incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/eschesdo.cxx
    incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/msdffimp.cxx
    incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/svdfppt.cxx
    incubator/ooo/branches/alg/aw080/main/reportdesign/source/core/sdr/ReportDrawPage.cxx
    incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/inc/dlgedfac.hxx
    incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/ReportController.cxx
    incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/ViewsWindow.cxx
    incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/dlgedfac.cxx
    incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/dlgedfunc.cxx
    incubator/ooo/branches/alg/aw080/main/sc/inc/userdat.hxx
    incubator/ooo/branches/alg/aw080/main/sc/source/core/data/userdat.cxx
    incubator/ooo/branches/alg/aw080/main/sc/source/core/tool/detfunc.cxx
    incubator/ooo/branches/alg/aw080/main/sc/source/filter/excel/xiescher.cxx
    incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconarc.cxx
    incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconcustomshape.cxx
    incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconpol.cxx
    incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconrec.cxx
    incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconuno.cxx
    incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/futext.cxx
    incubator/ooo/branches/alg/aw080/main/sc/source/ui/view/tabvwshg.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/core/CustomAnimationEffect.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/core/sdobjfac.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/filter/eppt/epptso.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/filter/html/htmlex.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/app/sddll.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fucon3d.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconarc.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconbez.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconcs.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconrec.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconuno.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fumorph.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuoaprms.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/futext.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/unoidl/unomodel.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/unoidl/unoobj.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/view/DocumentRenderer.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/view/drawview.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/view/drviews4.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/view/drviews7.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/view/drviewse.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/view/drviewsj.cxx
    incubator/ooo/branches/alg/aw080/main/sd/source/ui/view/sdview.cxx
    incubator/ooo/branches/alg/aw080/main/svx/Library_svxcore.mk
    incubator/ooo/branches/alg/aw080/main/svx/Package_inc.mk
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/SvxShapeTypes.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/fmglob.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/galmisc.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/globl3d.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/graphctl.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdcrtv.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdobj.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdocirc.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdopath.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdpntv.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdstr.hrc
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/unoapi.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/unopage.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/unoprov.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/unoshape.hxx
    incubator/ooo/branches/alg/aw080/main/svx/source/accessibility/AccessibleShape.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/accessibility/ShapeTypeHandler.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/accessibility/SvxShapeTypes.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape2d.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShapeEngine.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/dialog/_contdlg.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/dialog/contwnd.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/dialog/dlgctrl.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/dialog/fontwork.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/dialog/graphctl.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/dialog/imapdlg.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/dialog/imapwnd.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/extrud3d.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/lathe3d.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/objfac3d.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/engine3d/view3d.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/form/fmobjfac.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/form/fmshell.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/form/fmshimp.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/form/fmvwimp.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/gallery2/galmisc.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdrcircobj.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdcrtv.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedtv2.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedxv.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdfmtf.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdmrkv.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdobj.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdocirc.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdomeas.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdopath.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdotxtr.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdpntv.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdpoev.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdstr.src
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdview.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/table/tablecontroller.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/unodraw/unomod.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/unodraw/unopage.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/unodraw/unoprov.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/unodraw/unoshap2.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/unodraw/unoshape.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/xoutdev/xtabdash.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/xoutdev/xtablend.cxx
    incubator/ooo/branches/alg/aw080/main/sw/inc/fesh.hxx
    incubator/ooo/branches/alg/aw080/main/sw/source/core/draw/dobjfac.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/core/frmedt/fecopy.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/core/frmedt/feshview.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/filter/html/htmldraw.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/filter/rtf/swparrtf.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/filter/ww8/ww8graf.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/app/swdll.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/docvw/edtwin.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/inc/edtwin.hxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/ribbar/conarc.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/ribbar/concustomshape.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/ribbar/conform.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/ribbar/conpoly.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/ribbar/conrect.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/ribbar/drawbase.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/ribbar/dselect.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/shells/textdrw.cxx
    incubator/ooo/branches/alg/aw080/main/sw/source/ui/uiview/viewdraw.cxx

Modified: incubator/ooo/branches/alg/aw080/main/basctl/source/dlged/dlged.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/basctl/source/dlged/dlged.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/basctl/source/dlged/dlged.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/basctl/source/dlged/dlged.cxx Thu Jun  7 17:08:07 2012
@@ -695,8 +695,10 @@ void DlgEditor::SetInsertObj( sal_uInt16
 {
 	eActObj = eObj;
 	
-	if( GetView() )
-		GetView()->SetCurrentObj( eActObj, DlgInventor );	
+	if(GetView())
+    {
+        GetView()->setSdrObjectCreationInfo(SdrObjectCreationInfo(eActObj, DlgInventor));
+    }
 }
 
 //----------------------------------------------------------------------------
@@ -713,8 +715,7 @@ void DlgEditor::CreateDefaultObject()
 	// create object by factory
 	SdrObject* pObj = SdrObjFactory::MakeNewObject( 
 		GetView()->getSdrModelFromSdrView(),
-		GetView()->GetCurrentObjInventor(), 
-		GetView()->GetCurrentObjIdentifier());
+		GetView()->getSdrObjectCreationInfo());
 	DlgEdObj* pDlgEdObj = dynamic_cast< DlgEdObj* >( pObj );
 
 	if ( pDlgEdObj )

Modified: incubator/ooo/branches/alg/aw080/main/basctl/source/dlged/dlgedfac.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/basctl/source/dlged/dlgedfac.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/basctl/source/dlged/dlgedfac.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/basctl/source/dlged/dlgedfac.cxx Thu Jun  7 17:08:07 2012
@@ -24,7 +24,6 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_basctl.hxx"
 
-
 #include "dlgedfac.hxx"
 #include "dlgedobj.hxx"
 #include <dlgeddef.hxx>
@@ -32,6 +31,7 @@
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/awt/ScrollBarOrientation.hpp>
+#include <svx/sdrobjectfactory.hxx>
 
 using namespace ::com::sun::star;
 
@@ -68,108 +68,118 @@ IMPL_LINK( DlgEdFactory, MakeObject, Sdr
 		bNeedsInit = sal_False;
 	}
 	
-	if( (pObjFactory->mnInventor == DlgInventor) &&
-		(pObjFactory->mnIdentifier >= OBJ_DLG_PUSHBUTTON) &&
-		(pObjFactory->mnIdentifier <= OBJ_DLG_TREECONTROL)    )
+	if( (DlgInventor == pObjFactory->getSdrObjectCreationInfo().getInvent()) &&
+		(pObjFactory->getSdrObjectCreationInfo().getIdent() >= OBJ_DLG_PUSHBUTTON) &&
+		(pObjFactory->getSdrObjectCreationInfo().getIdent() <= OBJ_DLG_TREECONTROL)    )
 	{
-		switch( pObjFactory->mnIdentifier )
+		switch(pObjFactory->getSdrObjectCreationInfo().getIdent())
 		{
 			case OBJ_DLG_PUSHBUTTON:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlButtonModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					    pObjFactory->getTargetModel(),
+					    ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlButtonModel") , xDialogSFact ));
  				 break;
 			}
 			case OBJ_DLG_RADIOBUTTON:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlRadioButtonModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					    pObjFactory->getTargetModel(),
+					    ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlRadioButtonModel") , xDialogSFact ));
 				 break;
 			}
 			case OBJ_DLG_CHECKBOX:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlCheckBoxModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlCheckBoxModel") , xDialogSFact ));
 				 break;
 			}
 			case OBJ_DLG_LISTBOX:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlListBoxModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlListBoxModel") , xDialogSFact ));
 				 break;
 			}
 			case OBJ_DLG_COMBOBOX:
 			{	 
 				DlgEdObj* pNew = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
+					 pObjFactory->getTargetModel(),
 					::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlComboBoxModel") , xDialogSFact );
-				pObjFactory->mpNewObj = pNew;
-				 try
-				 {
-					uno::Reference< beans::XPropertySet >  xPSet(pNew->GetUnoControlModel(), uno::UNO_QUERY);
+				pObjFactory->setNewSdrObject(pNew);
+				try
+				{
+				    uno::Reference< beans::XPropertySet >  xPSet(pNew->GetUnoControlModel(), uno::UNO_QUERY);
 					if (xPSet.is())
 					{
 						sal_Bool bB = sal_True;
 						xPSet->setPropertyValue( DLGED_PROP_DROPDOWN, uno::Any(&bB,::getBooleanCppuType()));
 					}
-				 }
-				 catch(...)
-				 {
-				 }
+				}
+				catch(...)
+				{
+				}
 				break;
 			}	 
 			case OBJ_DLG_GROUPBOX:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlGroupBoxModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlGroupBoxModel") , xDialogSFact ));
 				 break;
 			}	 
 			case OBJ_DLG_EDIT:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlEditModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlEditModel") , xDialogSFact ));
 				 break;
 			}	 
 			case OBJ_DLG_FIXEDTEXT:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlFixedTextModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlFixedTextModel") , xDialogSFact ));
 				 break;
 			}	 
 			case OBJ_DLG_IMAGECONTROL:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlImageControlModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlImageControlModel") , xDialogSFact ));
 				 break;
 			}	 
 			case OBJ_DLG_PROGRESSBAR:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlProgressBarModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlProgressBarModel") , xDialogSFact ));
 				 break;            
 			}	 
             case OBJ_DLG_HSCROLLBAR:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlScrollBarModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlScrollBarModel") , xDialogSFact ));
 				 break;
 			}	 
 			case OBJ_DLG_VSCROLLBAR:
 			{
 				 DlgEdObj* pNew = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
+					 pObjFactory->getTargetModel(),
 					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlScrollBarModel") , xDialogSFact );
-				 pObjFactory->mpNewObj = pNew;
+				 pObjFactory->setNewSdrObject(pNew);
 				 // set vertical orientation	
 				 try
 				 {
@@ -188,17 +198,18 @@ IMPL_LINK( DlgEdFactory, MakeObject, Sdr
 			}
             case OBJ_DLG_HFIXEDLINE:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlFixedLineModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlFixedLineModel") , xDialogSFact ));
 				 break;
 			}	 
 			case OBJ_DLG_VFIXEDLINE:
 			{
 				 DlgEdObj* pNew = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
+					 pObjFactory->getTargetModel(),
 					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlFixedLineModel") , xDialogSFact );
-				 pObjFactory->mpNewObj = pNew;
+				 pObjFactory->setNewSdrObject(pNew);
 				 // set vertical orientation	
 				 try
 				 {
@@ -217,59 +228,66 @@ IMPL_LINK( DlgEdFactory, MakeObject, Sdr
 			}
 			case OBJ_DLG_DATEFIELD:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlDateFieldModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlDateFieldModel") , xDialogSFact ));
 				 break;            
 			}
 			case OBJ_DLG_TIMEFIELD:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlTimeFieldModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlTimeFieldModel") , xDialogSFact ));
 				 break;            
 			}
 			case OBJ_DLG_NUMERICFIELD:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlNumericFieldModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlNumericFieldModel") , xDialogSFact ));
 				 break;            
 			}
 			case OBJ_DLG_CURRENCYFIELD:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlCurrencyFieldModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlCurrencyFieldModel") , xDialogSFact ));
 				 break;            
 			}
 			case OBJ_DLG_FORMATTEDFIELD:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlFormattedFieldModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlFormattedFieldModel") , xDialogSFact ));
 				 break;            
 			}
 			case OBJ_DLG_PATTERNFIELD:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlPatternFieldModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlPatternFieldModel") , xDialogSFact ));
 				 break;            
 			}
 			case OBJ_DLG_FILECONTROL:
 			{
-				 pObjFactory->mpNewObj = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
-					 ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlFileControlModel") , xDialogSFact );
+				 pObjFactory->setNewSdrObject(
+                     new DlgEdObj(
+					     pObjFactory->getTargetModel(),
+					     ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlFileControlModel") , xDialogSFact ));
 				 break;            
 			}
 			case OBJ_DLG_TREECONTROL:
 			{
 				 DlgEdObj* pNew = new DlgEdObj(
-					 *pObjFactory->mpTargetModel,
+					 pObjFactory->getTargetModel(),
 					 ::rtl::OUString::createFromAscii("com.sun.star.awt.tree.TreeControlModel") , xDialogSFact );
-				 pObjFactory->mpNewObj = pNew;
+				 pObjFactory->setNewSdrObject(pNew);
 				 /*
 				 try
 				 {

Modified: incubator/ooo/branches/alg/aw080/main/basctl/source/inc/dlgedfac.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/basctl/source/inc/dlgedfac.hxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/basctl/source/inc/dlgedfac.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/basctl/source/inc/dlgedfac.hxx Thu Jun  7 17:08:07 2012
@@ -31,6 +31,7 @@
 //============================================================================
 // DlgEdFactory
 //============================================================================
+class SdrObjFactory;
 
 class DlgEdFactory
 {

Modified: incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/ChartController_Tools.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/ChartController_Tools.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/ChartController_Tools.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/ChartController_Tools.cxx Thu Jun  7 17:08:07 2012
@@ -610,7 +610,7 @@ bool ChartController::isShapeContext() c
 {
     if ( m_aSelection.isAdditionalShapeSelected() ||
          ( m_pDrawViewWrapper && m_pDrawViewWrapper->areSdrObjectsSelected() &&
-           ( m_pDrawViewWrapper->GetCurrentObjIdentifier() == OBJ_TEXT ) ) )
+           ( m_pDrawViewWrapper->getSdrObjectCreationInfo().getIdent() == OBJ_TEXT ) ) )
     {
         return true;
     }

Modified: incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/ChartController_Window.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/ChartController_Window.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/ChartController_Window.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/ChartController_Window.cxx Thu Jun  7 17:08:07 2012
@@ -670,7 +670,7 @@ void ChartController::execute_MouseButto
             }
             if ( !pDrawViewWrapper->IsAction() )
             {
-                if ( pDrawViewWrapper->GetCurrentObjIdentifier() == OBJ_CAPTION )
+                if ( pDrawViewWrapper->getSdrObjectCreationInfo().getIdent() == OBJ_CAPTION )
                 {
                     pDrawViewWrapper->BegCreateCaptionObj( aLogicPos, basegfx::B2DVector(2268.0, 1134.0) );
                 }
@@ -806,7 +806,7 @@ void ChartController::execute_MouseButto
             }
             if ( pDrawViewWrapper->areSdrObjectsSelected() )
             {
-                if ( pDrawViewWrapper->GetCurrentObjIdentifier() == OBJ_TEXT )
+                if ( pDrawViewWrapper->getSdrObjectCreationInfo().getIdent() == OBJ_TEXT )
                 {
                     executeDispatch_EditText();
                 }
@@ -1976,12 +1976,16 @@ void ChartController::impl_SetMousePoint
                  ( !m_pDrawViewWrapper->IsMarkedObjHit( aMousePos ) || !m_aSelection.isDragableObjectSelected() ) )
             {
                 PointerStyle ePointerStyle = POINTER_DRAW_RECT;  
-                SdrObjKind eKind = static_cast< SdrObjKind >( m_pDrawViewWrapper->GetCurrentObjIdentifier() );
+                SdrObjKind eKind = static_cast< SdrObjKind >( m_pDrawViewWrapper->getSdrObjectCreationInfo().getIdent() );
                 switch ( eKind )
                 {
-                    case OBJ_LINE:
+                    case OBJ_POLY:
                         {
-                            ePointerStyle = POINTER_DRAW_LINE;
+                            switch(m_pDrawViewWrapper->getSdrObjectCreationInfo().getSdrPathObjType())
+                            {
+                                case PathType_Line: ePointerStyle = POINTER_DRAW_LINE; break;
+                                default: ePointerStyle = POINTER_DRAW_POLYGON; break;
+                            }
                         }
                         break;
                     case OBJ_RECT:
@@ -1995,11 +1999,6 @@ void ChartController::impl_SetMousePoint
                             ePointerStyle = POINTER_DRAW_ELLIPSE;
                         }
                         break;
-                    case OBJ_FREELINE:
-                        {
-                            ePointerStyle = POINTER_DRAW_POLYGON;
-                        }
-                        break;
                     case OBJ_TEXT:
                         {
                             ePointerStyle = POINTER_DRAW_TEXT;

Modified: incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/DrawCommandDispatch.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/DrawCommandDispatch.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/DrawCommandDispatch.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/DrawCommandDispatch.cxx Thu Jun  7 17:08:07 2012
@@ -139,7 +139,7 @@ void DrawCommandDispatch::setAttributes(
     {
         DrawModelWrapper* pDrawModelWrapper = m_pChartController->GetDrawModelWrapper();
         DrawViewWrapper* pDrawViewWrapper = m_pChartController->GetDrawViewWrapper();
-        if ( pDrawModelWrapper && pDrawViewWrapper && pDrawViewWrapper->GetCurrentObjIdentifier() == OBJ_CUSTOMSHAPE )
+        if ( pDrawModelWrapper && pDrawViewWrapper && pDrawViewWrapper->getSdrObjectCreationInfo().getIdent() == OBJ_CUSTOMSHAPE )
         {
             sal_Bool bAttributesAppliedFromGallery = sal_False;
             if ( GalleryExplorer::GetSdrObjCount( GALLERY_THEME_POWERPOINT ) )
@@ -300,7 +300,10 @@ void DrawCommandDispatch::execute( const
     (void)rArgs;
 
     ChartDrawMode eDrawMode = CHARTDRAW_SELECT;
-    SdrObjKind eKind = OBJ_NONE;
+    SdrObjKind eKind(OBJ_NONE);
+    bool bFreehandMode(false);
+    SdrPathObjType aSdrPathObjType(PathType_Line);
+    SdrCircleObjType aSdrCircleObjType(CircleType_Circle);
     bool bCreate = false;
 
     sal_uInt16 nFeatureId = 0;
@@ -323,7 +326,8 @@ void DrawCommandDispatch::execute( const
             case COMMAND_ID_LINE_ARROW_END:
                 {
                     eDrawMode = CHARTDRAW_INSERT;
-                    eKind = OBJ_LINE;
+                    eKind = OBJ_POLY;
+                    aSdrPathObjType = PathType_Line;
                 }
                 break;
             case COMMAND_ID_DRAW_RECT:
@@ -336,12 +340,15 @@ void DrawCommandDispatch::execute( const
                 {
                     eDrawMode = CHARTDRAW_INSERT;
                     eKind = OBJ_CIRC;
+                    aSdrCircleObjType = CircleType_Circle;
                 }
                 break;
             case COMMAND_ID_DRAW_FREELINE_NOFILL:
                 {
                     eDrawMode = CHARTDRAW_INSERT;
-                    eKind = OBJ_FREELINE;
+                    eKind = OBJ_POLY;
+                    aSdrPathObjType = PathType_OpenBezier;
+                    bFreehandMode = true;
                 }
                 break;
             case COMMAND_ID_DRAW_TEXT:
@@ -383,7 +390,8 @@ void DrawCommandDispatch::execute( const
             {
                 ::vos::OGuard aGuard( Application::GetSolarMutex() );
                 m_pChartController->setDrawMode( eDrawMode );
-                setInsertObj( sal::static_int_cast< sal_uInt16 >( eKind ) );
+                setInsertObj(SdrObjectCreationInfo(static_cast< sal_uInt16 >(eKind), SdrInventor, aSdrPathObjType, aSdrCircleObjType, bFreehandMode));
+
                 if ( bCreate )
                 {
                     pDrawViewWrapper->SetViewEditMode(SDREDITMODE_CREATE);
@@ -439,12 +447,12 @@ void DrawCommandDispatch::describeSuppor
     implDescribeSupportedFeature( ".uno:StarShapes",        COMMAND_ID_DRAWTBX_CS_STAR,         CommandGroup::INSERT );
 }
 
-void DrawCommandDispatch::setInsertObj( sal_uInt16 eObj )
+void DrawCommandDispatch::setInsertObj(const SdrObjectCreationInfo& rSdrObjectCreationInfo)
 {
     DrawViewWrapper* pDrawViewWrapper = ( m_pChartController ? m_pChartController->GetDrawViewWrapper() : NULL );
     if ( pDrawViewWrapper )
     {
-        pDrawViewWrapper->SetCurrentObj( eObj /*, Inventor */);
+        pDrawViewWrapper->setSdrObjectCreationInfo(rSdrObjectCreationInfo);
     }
 }
 
@@ -463,8 +471,7 @@ SdrObject* DrawCommandDispatch::createDe
             ::vos::OGuard aGuard( Application::GetSolarMutex() );
             pObj = SdrObjFactory::MakeNewObject( 
 				pDrawViewWrapper->getSdrModelFromSdrView(),
-				pDrawViewWrapper->GetCurrentObjInventor(),
-                pDrawViewWrapper->GetCurrentObjIdentifier());
+				pDrawViewWrapper->getSdrObjectCreationInfo());
             if ( pObj )
             {
                 const basegfx::B2DVector aObjectSize(4000.0, 2500.0);

Modified: incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/DrawCommandDispatch.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/DrawCommandDispatch.hxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/DrawCommandDispatch.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/chart2/source/controller/main/DrawCommandDispatch.hxx Thu Jun  7 17:08:07 2012
@@ -29,6 +29,7 @@
 
 class SfxItemSet;
 class SdrObject;
+class SdrObjectCreationInfo;
 
 //.............................................................................
 namespace chart
@@ -72,7 +73,7 @@ protected:
     virtual void describeSupportedFeatures();
 
 private:
-    void setInsertObj( sal_uInt16 eObj );
+    void setInsertObj(const SdrObjectCreationInfo& rSdrObjectCreationInfo);
     SdrObject* createDefaultObject( const sal_uInt16 nID );
 
     bool parseCommandURL( const ::rtl::OUString& rCommandURL, sal_uInt16* pnFeatureId, ::rtl::OUString* pBaseCommand, ::rtl::OUString* pCustomShapeType );

Modified: incubator/ooo/branches/alg/aw080/main/cui/source/tabpages/tabline.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/cui/source/tabpages/tabline.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/cui/source/tabpages/tabline.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/cui/source/tabpages/tabline.cxx Thu Jun  7 17:08:07 2012
@@ -31,19 +31,17 @@
 #include <sfx2/app.hxx>
 #include <sfx2/objsh.hxx>
 #include <svx/dialogs.hrc>
-
 #define _SVX_TABLINE_CXX
 #include <cuires.hrc>
 #include "tabline.hrc"
-//#include "dlgname.hrc"
-
-#include "cuitabarea.hxx"
-#include "cuitabline.hxx"
-#include "dlgname.hxx"
+#include <cuitabarea.hxx>
+#include <cuitabline.hxx>
+#include <dlgname.hxx>
 #include <dialmgr.hxx>
 #include <svx/svdmodel.hxx>
 #include <svx/xtable.hxx>
-#include "svx/drawitem.hxx"
+#include <svx/drawitem.hxx>
+#include <svx/svdopath.hxx>
 
 #define DLGWIN this->GetParent()->GetParent()
 
@@ -96,13 +94,27 @@ SvxLineTabDialog::SvxLineTabDialog
 	{
 		switch( pObj->GetObjIdentifier() )
 		{
-		case OBJ_LINE:
-		case OBJ_PLIN:
-		case OBJ_PATHLINE:
-		case OBJ_FREELINE:
 		case OBJ_MEASURE:
 		case OBJ_EDGE:
 			bLineOnly = true;
+            break;
+
+        case OBJ_POLY:
+        {
+            const SdrPathObj* pSdrPathObj = dynamic_cast< const SdrPathObj* >(pObj);
+            if(pSdrPathObj)
+            {
+                switch(pSdrPathObj->getSdrPathObjType())
+                {
+                    case PathType_Line:
+                    case PathType_OpenPolygon:
+                    case PathType_OpenBezier:
+			            bLineOnly = true;
+                        break;
+                }
+            }
+            break;
+        }
 
 		default:
 			break;

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/eschesdo.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/eschesdo.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/eschesdo.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/eschesdo.cxx Thu Jun  7 17:08:07 2012
@@ -359,7 +359,7 @@ sal_uInt32 ImplEESdrWriter::ImplWriteSha
             if(!pCircObj)
                 break;
 
-            if(OBJ_CIRC == pCircObj->GetCircleKind())
+            if(CircleType_Circle == pCircObj->GetSdrCircleObjType())
             {
 				mpEscherEx->OpenContainer( ESCHER_SpContainer );
 				ADD_SHAPE( ESCHER_ShpInst_Ellipse, 0xa00 );			// Flags: Connector | HasSpt

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/msdffimp.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/msdffimp.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/msdffimp.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/msdffimp.cxx Thu Jun  7 17:08:07 2012
@@ -521,14 +521,6 @@ void SvxMSDffManager::SolveSolver( const
 							}
 							break;
 							case OBJ_POLY :
-							case OBJ_PLIN :
-							case OBJ_LINE :
-							case OBJ_PATHLINE :
-							case OBJ_PATHFILL :
-							case OBJ_FREELINE :
-							case OBJ_FREEFILL :
-							case OBJ_PATHPOLY :
-							case OBJ_PATHPLIN :
 							{
 								if ( pList && ( pList->GetCount() > nC ) )
 								{
@@ -4379,7 +4371,6 @@ SdrObject* SvxMSDffManager::ImportShape(
 				aPoly.append(aObjData.aBoundRect.getMaximum());
 				pRet = new SdrPathObj(
 					*GetModel(),
-					OBJ_LINE, 
 					basegfx::B2DPolyPolygon(aPoly));
 				//pRet->SetModel( pSdrModel );
 				ApplyAttributes( rSt, aSet, aObjData );

Modified: incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/svdfppt.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/svdfppt.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/svdfppt.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/svdfppt.cxx Thu Jun  7 17:08:07 2012
@@ -7336,8 +7336,8 @@ bool IsLine( const SdrObject* pObj )
 	const SdrPathObj* pSdrPathObj = dynamic_cast< const SdrPathObj* >(pObj);
 
 	if(pSdrPathObj)
-{
-		return pSdrPathObj->IsLine() && 2 == pSdrPathObj->GetObjectPointCount();
+    {
+		return pSdrPathObj->isLine();
 	}
 
 	return false;

Modified: incubator/ooo/branches/alg/aw080/main/reportdesign/source/core/sdr/ReportDrawPage.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/reportdesign/source/core/sdr/ReportDrawPage.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/reportdesign/source/core/sdr/ReportDrawPage.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/reportdesign/source/core/sdr/ReportDrawPage.cxx Thu Jun  7 17:08:07 2012
@@ -91,14 +91,14 @@ uno::Reference< drawing::XShape >  ORepo
 
             SvxShapeControl* pShape = new SvxShapeControl( pObj );
             xShape.set(*pShape,uno::UNO_QUERY);
-            pShape->setShapeKind(pObj->GetObjIdentifier());
+            pShape->setSvxShapeKind(SdrObjectCreatorInventorToSvxShapeKind(pObj->GetObjIdentifier(), pObj->GetObjInventor()));
         }
 		else if ( dynamic_cast< OCustomShape* >(pObj) )
 		{
 			SvxCustomShape* pShape = new SvxCustomShape( pObj );
             uno::Reference < drawing::XEnhancedCustomShapeDefaulter > xShape2 = pShape;
             xShape.set(xShape2,uno::UNO_QUERY);
-			pShape->setShapeKind(pObj->GetObjIdentifier());
+			pShape->setSvxShapeKind(SdrObjectCreatorInventorToSvxShapeKind(pObj->GetObjIdentifier(), pObj->GetObjInventor()));
 		}
         else 
         {
@@ -133,7 +133,7 @@ uno::Reference< drawing::XShape >  ORepo
             }
 			SvxOle2Shape* pShape = new SvxOle2Shape( pObj );
             xShape.set(*pShape,uno::UNO_QUERY);
-			pShape->setShapeKind(pObj->GetObjIdentifier());
+			pShape->setSvxShapeKind(SdrObjectCreatorInventorToSvxShapeKind(pObj->GetObjIdentifier(), pObj->GetObjInventor()));
 			//xShape = new SvxOle2Shape( pOle2Obj );
         }
 		}

Modified: incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/inc/dlgedfac.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/inc/dlgedfac.hxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/inc/dlgedfac.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/inc/dlgedfac.hxx Thu Jun  7 17:08:07 2012
@@ -19,14 +19,13 @@
  * 
  *************************************************************/
 
-
-
 #ifndef _REPORT_RPTUIFAC_HXX
 #define _REPORT_RPTUIFAC_HXX
 
-
 #include <svx/svdobj.hxx>
 
+class SdrObjFactory;
+
 namespace rptui
 {
 	class OReportSection;

Modified: incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/ReportController.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/ReportController.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/ReportController.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/ReportController.cxx Thu Jun  7 17:08:07 2012
@@ -3168,7 +3168,7 @@ void OReportController::createControl(co
     uno::Reference< report::XReportComponent> xShapeProp;
     if ( _nObjectId == OBJ_CUSTOMSHAPE )
     {
-        pNewControl = SdrObjFactory::MakeNewObject( *m_aReportModel.get(), ReportInventor, _nObjectId );
+        pNewControl = SdrObjFactory::MakeNewObject( *m_aReportModel.get(), SdrObjectCreationInfo(_nObjectId, ReportInventor) );
         xShapeProp.set(pNewControl->getUnoShape(),uno::UNO_QUERY);
 		::rtl::OUString sCustomShapeType = getDesignView()->GetInsertObjString();
         if ( !sCustomShapeType.getLength() )
@@ -3178,7 +3178,7 @@ void OReportController::createControl(co
     } // if ( _nObjectId == OBJ_CUSTOMSHAPE )
     else if ( _nObjectId == OBJ_OLE2 || OBJ_DLG_SUBREPORT == _nObjectId  )
     {
-        pNewControl = SdrObjFactory::MakeNewObject( *m_aReportModel.get(), ReportInventor, _nObjectId );
+        pNewControl = SdrObjFactory::MakeNewObject( *m_aReportModel.get(), SdrObjectCreationInfo(_nObjectId, ReportInventor) );
 
         sdr::legacy::SetLogicRect(*pNewControl, Rectangle(3000,500,8000,5500)); // switch height and width
         xShapeProp.set(pNewControl->getUnoShape(),uno::UNO_QUERY_THROW);

Modified: incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/ViewsWindow.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/ViewsWindow.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/ViewsWindow.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/ViewsWindow.cxx Thu Jun  7 17:08:07 2012
@@ -369,7 +369,7 @@ void OViewsWindow::SetInsertObj( sal_uIn
 	TSectionsMap::iterator aIter = m_aSections.begin();
 	TSectionsMap::iterator aEnd = m_aSections.end();
 	for (;aIter != aEnd ; ++aIter)
-		(*aIter)->getReportSection().getSectionView().SetCurrentObj( eObj, ReportInventor );
+		(*aIter)->getReportSection().getSectionView().setSdrObjectCreationInfo(SdrObjectCreationInfo(eObj, ReportInventor));
 
     m_sShapeType = _sShapeType;
 }

Modified: incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/dlgedfac.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/dlgedfac.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/dlgedfac.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/dlgedfac.cxx Thu Jun  7 17:08:07 2012
@@ -33,6 +33,8 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/awt/ScrollBarOrientation.hpp>
 #include <svx/svdoole2.hxx>
+#include <svx/sdrobjectfactory.hxx>
+
 namespace rptui
 {
 using namespace ::com::sun::star;
@@ -55,47 +57,50 @@ DlgEdFactory::~DlgEdFactory()
 
 IMPL_LINK( DlgEdFactory, MakeObject, SdrObjFactory *, pObjFactory )
 {
-	if ( pObjFactory->mnInventor == ReportInventor )
+	if ( pObjFactory->getSdrObjectCreationInfo().getInvent() == ReportInventor )
 	{
-        switch( pObjFactory->mnIdentifier )
+        switch( pObjFactory->getSdrObjectCreationInfo().getIdent() )
 	    {
 		    case OBJ_DLG_FIXEDTEXT:
 			{
-				pObjFactory->mpNewObj = new OUnoObject( 
-					*pObjFactory->mpTargetModel,
-					SERVICE_FIXEDTEXT
-					,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.FixedText")) 
-					,OBJ_DLG_FIXEDTEXT);
+				pObjFactory->setNewSdrObject(
+                    new OUnoObject( 
+					    pObjFactory->getTargetModel(),
+					    SERVICE_FIXEDTEXT
+					    ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.FixedText")) 
+					    ,OBJ_DLG_FIXEDTEXT));
 				    break;
 			}
 		    case OBJ_DLG_IMAGECONTROL:
 			{
-				pObjFactory->mpNewObj = new OUnoObject( 
-					*pObjFactory->mpTargetModel,
-					SERVICE_IMAGECONTROL
-					,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.DatabaseImageControl")) 
-					,OBJ_DLG_IMAGECONTROL);
+				pObjFactory->setNewSdrObject(
+                    new OUnoObject( 
+					    pObjFactory->getTargetModel(),
+					    SERVICE_IMAGECONTROL
+					    ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.DatabaseImageControl")) 
+					    ,OBJ_DLG_IMAGECONTROL));
 				    break;
 			}
 		    case OBJ_DLG_FORMATTEDFIELD:
 			{
-				pObjFactory->mpNewObj = new OUnoObject( 
-					*pObjFactory->mpTargetModel,
-					SERVICE_FORMATTEDFIELD
-					,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.FormattedField")) 
-					,OBJ_DLG_FORMATTEDFIELD);
+				pObjFactory->setNewSdrObject(
+                    new OUnoObject( 
+					    pObjFactory->getTargetModel(),
+					    SERVICE_FORMATTEDFIELD
+					    ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.FormattedField")) 
+					    ,OBJ_DLG_FORMATTEDFIELD));
 				    break;
 			}
             case OBJ_DLG_VFIXEDLINE:
             case OBJ_DLG_HFIXEDLINE:
             {
                 OUnoObject* pObj = new OUnoObject( 
-					*pObjFactory->mpTargetModel,
+					pObjFactory->getTargetModel(),
 					SERVICE_FIXEDLINE
                     ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.awt.UnoControlFixedLineModel")) 
-					,pObjFactory->mnIdentifier);
-                pObjFactory->mpNewObj = pObj;
-                if ( pObjFactory->mnIdentifier == OBJ_DLG_HFIXEDLINE )
+					,pObjFactory->getSdrObjectCreationInfo().getIdent());
+                pObjFactory->setNewSdrObject(pObj);
+                if ( pObjFactory->getSdrObjectCreationInfo().getIdent() == OBJ_DLG_HFIXEDLINE )
                 {
                     uno::Reference<beans::XPropertySet> xProp = pObj->getAwtComponent();
                     xProp->setPropertyValue( PROPERTY_ORIENTATION, uno::makeAny(sal_Int32(0)) );
@@ -104,25 +109,28 @@ IMPL_LINK( DlgEdFactory, MakeObject, Sdr
             }
             case OBJ_CUSTOMSHAPE:
             {
-                pObjFactory->mpNewObj = new OCustomShape(
-					*pObjFactory->mpTargetModel,
-					SERVICE_SHAPE);
+                pObjFactory->setNewSdrObject(
+                    new OCustomShape(
+					    pObjFactory->getTargetModel(),
+					    SERVICE_SHAPE));
                 break;
 			}
             case OBJ_DLG_SUBREPORT:
             {
-                pObjFactory->mpNewObj = new OOle2Obj(
-					*pObjFactory->mpTargetModel,
-					SERVICE_REPORTDEFINITION,
-					OBJ_DLG_SUBREPORT);
+                pObjFactory->setNewSdrObject(
+                    new OOle2Obj(
+					    pObjFactory->getTargetModel(),
+					    SERVICE_REPORTDEFINITION,
+					    OBJ_DLG_SUBREPORT));
                 break;
 			}
             case OBJ_OLE2:
             {
-                pObjFactory->mpNewObj = new OOle2Obj(
-					*pObjFactory->mpTargetModel,
-					::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.chart2.ChartDocument")),
-					OBJ_OLE2);
+                pObjFactory->setNewSdrObject(
+                    new OOle2Obj(
+					    pObjFactory->getTargetModel(),
+					    ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.chart2.ChartDocument")),
+					    OBJ_OLE2));
                 break;
 			}
 		    default:

Modified: incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/dlgedfunc.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/dlgedfunc.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/dlgedfunc.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/reportdesign/source/ui/report/dlgedfunc.cxx Thu Jun  7 17:08:07 2012
@@ -687,7 +687,7 @@ sal_Bool DlgEdFuncInsert::MouseButtonDow
         return sal_True;
 
     SdrViewEvent aVEvt;
-    sal_Int16 nId = m_rView.GetCurrentObjIdentifier();
+    sal_Int16 nId = m_rView.getSdrObjectCreationInfo().getIdent();
 
 	const SdrHitKind eHit = m_rView.PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt);
 
@@ -963,147 +963,6 @@ sal_Bool DlgEdFuncSelect::MouseMove( con
 
 	return sal_True;
 }
-// -----------------------------------------------------------------------------
-//void DlgEdFuncSelect::SetInEditMode(SdrTextObj* _pTextObj,const MouseEvent& rMEvt, sal_Bool bQuickDrag)
-//{
-//
-//	SdrPageView* pPV = m_rView.GetSdrPageView();
-//	if( _pTextObj && _pTextObj->GetPage() == pPV->GetPage() )
-//	{
-//		m_rView.SetCurrentObj(OBJ_TEXT);
-//    	m_rView.SetViewEditMode(SDREDITMODE_EDIT);
-//
-//		sal_Bool bEmptyOutliner = sal_False;
-//
-//		if (!_pTextObj->GetOutlinerParaObject() && m_rView.GetTextEditOutliner())
-//		{
-//			::SdrOutliner* pOutl = m_rView.GetTextEditOutliner();
-//			sal_uLong nParaAnz = pOutl->GetParagraphCount();
-//			Paragraph* p1stPara = pOutl->GetParagraph( 0 );
-//
-//			if (nParaAnz==1 && p1stPara)
-//			{
-//				// Bei nur einem Pararaph
-//				if (pOutl->GetText(p1stPara).Len() == 0)
-//				{
-//					bEmptyOutliner = sal_True;
-//				}
-//			}
-//		}
-//
-//		if (_pTextObj != m_rView.GetTextEditObject() || bEmptyOutliner)
-//		{
-//			sal_uInt32 nInv = _pTextObj->GetObjInventor();
-//			sal_uInt16 nSdrObjKind = _pTextObj->GetObjIdentifier();
-//
-//			if (nInv == SdrInventor && _pTextObj->HasTextEdit() &&
-//				(nSdrObjKind == OBJ_TEXT ||
-//			 	nSdrObjKind == OBJ_TITLETEXT ||
-//			 	nSdrObjKind == OBJ_OUTLINETEXT ||
-//			 	(dynamic_cast< SdrTextObj* >(_pTextObj) && !_pTextObj->IsEmptyPresObj())))
-//			{
-//				// Neuen Outliner machen (gehoert der SdrObjEditView)
-//                SdrModel* pModel = _pTextObj->GetModel();
-//                SdrOutliner* pOutl = SdrMakeOutliner( OUTLINERMODE_OUTLINEOBJECT, pModel );
-//				pOutl->SetMinDepth(0);
-//				pOutl->SetStyleSheetPool((SfxStyleSheetPool*) pModel->GetStyleSheetPool());
-//				//pOutl->SetCalcFieldValueHdl(LINK(SD_MOD(), SdModule, CalcFieldValueHdl));
-//				sal_uLong nCntrl = pOutl->GetControlWord();
-//				nCntrl |= EE_CNTRL_ALLOWBIGOBJS;
-//				nCntrl |= EE_CNTRL_URLSFXEXECUTE;
-//				nCntrl |= EE_CNTRL_MARKFIELDS;
-//				nCntrl |= EE_CNTRL_AUTOCORRECT;
-//
-//				nCntrl &= ~EE_CNTRL_ULSPACESUMMATION;
-//				//if ( pModel->IsSummationOfParagraphs() )
-//				//    nCntrl |= EE_CNTRL_ULSPACESUMMATION;
-//
-//				//SetSpellOptions( nCntrl );
-//
-//				pOutl->SetControlWord(nCntrl);
-//
-//                uno::Reference< linguistic2::XSpellChecker1 > xSpellChecker( LinguMgr::GetSpellChecker() );
-//	            if ( xSpellChecker.is() )
-//		            pOutl->SetSpeller( xSpellChecker );
-//
-//                uno::Reference< linguistic2::XHyphenator > xHyphenator( LinguMgr::GetHyphenator() );
-//	            if( xHyphenator.is() )
-//		            pOutl->SetHyphenator( xHyphenator );
-//
-//				pOutl->SetDefaultLanguage( Application::GetSettings().GetLanguage() );
-//
-//				// in einem Gliederungstext darf nicht auf die 0-te
-//				// Ebene ausgerueckt werden
-//				if (_pTextObj->GetObjInventor() == SdrInventor &&
-//					_pTextObj->GetObjIdentifier() == OBJ_OUTLINETEXT)
-//				{
-//					pOutl->SetMinDepth(1);
-//				}
-//
-//				if (bEmptyOutliner)
-//				{
-//					m_rView.SdrEndTextEdit(sal_True);
-//				}
-//
-//				if( _pTextObj )
-//				{
-//					OutlinerParaObject* pOPO = _pTextObj->GetOutlinerParaObject();
-//					if( ( pOPO && pOPO->IsVertical() ) /*||
-//						nSlotId == SID_ATTR_CHAR_VERTICAL ||
-//						nSlotId == SID_TEXT_FITTOSIZE_VERTICAL */)
-//						pOutl->SetVertical( sal_True );
-//
-//
-//					if (m_rView.SdrBeginTextEdit(_pTextObj, pParent, sal_True, pOutl) && _pTextObj->GetObjInventor() == SdrInventor)
-//					{
-//						//bFirstObjCreated = sal_True;
-//						//DeleteDefaultText();
-//
-//						OutlinerView* pOLV = m_rView.GetTextEditOutlinerView();
-//
-//						nSdrObjKind = _pTextObj->GetObjIdentifier();
-//
-//						SdrViewEvent aVEvt;
-//						SdrHitKind eHit = m_rView.PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt);
-//
-//						if (eHit == SDRHIT_TEXTEDIT)
-//						{
-//							// Text getroffen
-//							if (nSdrObjKind == OBJ_TEXT ||
-//								nSdrObjKind == OBJ_TITLETEXT ||
-//								nSdrObjKind == OBJ_OUTLINETEXT ||
-//								//nSlotId == SID_TEXTEDIT ||
-//								!bQuickDrag)
-//							{
-//								pOLV->MouseButtonDown(rMEvt);
-//								pOLV->MouseMove(rMEvt);
-//								pOLV->MouseButtonUp(rMEvt);
-//							}
-//
-//							if ( bQuickDrag && _pTextObj->GetOutlinerParaObject())
-//							{
-//								pOLV->MouseButtonDown(rMEvt);
-//							}
-//						}
-//						else
-//						{
-//							// #98198# Move cursor to end of text
-//							ESelection aNewSelection(EE_PARA_NOT_FOUND, EE_INDEX_NOT_FOUND, EE_PARA_NOT_FOUND, EE_INDEX_NOT_FOUND);
-//							pOLV->SetSelection(aNewSelection);
-//						}
-//					}
-//					else
-//					{
-//						//RestoreDefaultText();
-//					}
-//				}
-//			}
-//		}
-//	}
-//	else
-//		_pTextObj = NULL;
-//}
-
 
 //----------------------------------------------------------------------------
 }

Modified: incubator/ooo/branches/alg/aw080/main/sc/inc/userdat.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sc/inc/userdat.hxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sc/inc/userdat.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sc/inc/userdat.hxx Thu Jun  7 17:08:07 2012
@@ -19,8 +19,6 @@
  * 
  *************************************************************/
 
-
-
 #ifndef SC_USERDAT_HXX
 #define SC_USERDAT_HXX
 
@@ -29,6 +27,8 @@
 #include "global.hxx"
 #include "address.hxx"
 
+//-------------------------------------------------------------------------
+class SdrObjFactory;
 
 //-------------------------------------------------------------------------
 
@@ -43,7 +43,9 @@
 
 class ScDrawObjFactory
 {
+private:
 	DECL_LINK( MakeUserData, SdrObjFactory * );
+
 public:
 	ScDrawObjFactory();
    ~ScDrawObjFactory();

Modified: incubator/ooo/branches/alg/aw080/main/sc/source/core/data/userdat.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sc/source/core/data/userdat.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sc/source/core/data/userdat.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sc/source/core/data/userdat.cxx Thu Jun  7 17:08:07 2012
@@ -30,6 +30,7 @@
 #include <tools/debug.hxx>
 #include "drwlayer.hxx"
 #include "rechead.hxx"
+#include <svx/sdrobjectfactory.hxx>
 
 // -----------------------------------------------------------------------
 
@@ -45,14 +46,20 @@ ScDrawObjFactory::~ScDrawObjFactory()
 
 IMPL_LINK_INLINE_START( ScDrawObjFactory, MakeUserData, SdrObjFactory *, pObjFactory )
 {
-	if ( pObjFactory->mnInventor == SC_DRAWLAYER )
+	if ( SC_DRAWLAYER == pObjFactory->getSdrObjectCreationInfo().getInvent() )
 	{
-		if ( pObjFactory->mnIdentifier == SC_UD_OBJDATA )
-			pObjFactory->mpNewData = new ScDrawObjData;
-		else if ( pObjFactory->mnIdentifier == SC_UD_IMAPDATA )
-			pObjFactory->mpNewData = new ScIMapInfo;
-		else if ( pObjFactory->mnIdentifier == SC_UD_MACRODATA )
-			pObjFactory->mpNewData = new ScMacroInfo;
+		if ( pObjFactory->getSdrObjectCreationInfo().getIdent() == SC_UD_OBJDATA )
+        {
+			pObjFactory->setNewSdrObjUserData(new ScDrawObjData);
+        }
+		else if ( pObjFactory->getSdrObjectCreationInfo().getIdent() == SC_UD_IMAPDATA )
+        {
+			pObjFactory->setNewSdrObjUserData(new ScIMapInfo);
+        }
+		else if ( pObjFactory->getSdrObjectCreationInfo().getIdent() == SC_UD_MACRODATA )
+        {
+			pObjFactory->setNewSdrObjUserData(new ScMacroInfo);
+        }
 		else
 		{
 			DBG_ERROR("MakeUserData: falsche ID");

Modified: incubator/ooo/branches/alg/aw080/main/sc/source/core/tool/detfunc.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sc/source/core/tool/detfunc.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sc/source/core/tool/detfunc.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sc/source/core/tool/detfunc.cxx Thu Jun  7 17:08:07 2012
@@ -541,7 +541,6 @@ sal_Bool ScDetectiveFunc::InsertArrow( S
 	aTempPoly.append(basegfx::B2DPoint(aEndPos.X(), aEndPos.Y()));
 	SdrPathObj* pArrow = new SdrPathObj(
 		*pModel,
-		OBJ_LINE, 
 		basegfx::B2DPolyPolygon(aTempPoly));
 	pArrow->SetMergedItemSetAndBroadcast(rAttrSet);
 
@@ -613,7 +612,6 @@ sal_Bool ScDetectiveFunc::InsertToOtherT
 	aTempPoly.append(basegfx::B2DPoint(aEndPos.X(), aEndPos.Y()));
 	SdrPathObj* pArrow = new SdrPathObj(
 		*pModel,
-		OBJ_LINE, 
 		basegfx::B2DPolyPolygon(aTempPoly));
 
 	pArrow->SetMergedItemSetAndBroadcast(rAttrSet);
@@ -683,7 +681,7 @@ void ScDetectiveFunc::DrawCircle( SCCOL 
 
 	SdrCircObj* pCircle = new SdrCircObj( 
 		*pModel,
-		OBJ_CIRC, 
+		CircleType_Circle, 
 		basegfx::tools::createScaleTranslateB2DHomMatrix(
 			aRect.getWidth(), aRect.getHeight(),
 			aRect.Left(), aRect.Top()));

Modified: incubator/ooo/branches/alg/aw080/main/sc/source/filter/excel/xiescher.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sc/source/filter/excel/xiescher.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sc/source/filter/excel/xiescher.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sc/source/filter/excel/xiescher.cxx Thu Jun  7 17:08:07 2012
@@ -1008,7 +1008,6 @@ SdrObject* XclImpLineObj::DoCreateSdrObj
     }
     SdrObjectPtr xSdrObj( new SdrPathObj(
 		rDffConv.GetTargetSdrModel(),
-		OBJ_LINE, 
 		::basegfx::B2DPolyPolygon( aB2DPolygon ) ) );
     ConvertLineStyle( *xSdrObj, maLineData );
 
@@ -1147,7 +1146,7 @@ SdrObject* XclImpOvalObj::DoCreateSdrObj
     SdrObjectPtr xSdrObj(
 		new SdrCircObj(
 			rDffConv.GetTargetSdrModel(),
-			OBJ_CIRC, 
+			CircleType_Circle, 
 			basegfx::tools::createScaleTranslateB2DHomMatrix(
 				rAnchorRange.getRange(), rAnchorRange.getMinimum())));
     ConvertRectStyle( *xSdrObj );
@@ -1225,11 +1224,10 @@ SdrObject* XclImpArcObj::DoCreateSdrObj(
         break;
     }
     
-	const SdrObjKind eObjKind = maFillData.IsFilled() ? OBJ_SECT : OBJ_CARC;
     SdrObjectPtr xSdrObj( 
 		new SdrCircObj( 
 			rDffConv.GetTargetSdrModel(),
-			eObjKind, 
+			maFillData.IsFilled() ? CircleType_Sector : CircleType_Arc, 
 			basegfx::tools::createScaleTranslateB2DHomMatrix(
 				aNewRange.getRange(), aNewRange.getMinimum()),
 			fStartAngle, 
@@ -1312,10 +1310,8 @@ SdrObject* XclImpPolygonObj::DoCreateSdr
         if( ::get_flag( mnPolyFlags, EXC_OBJ_POLY_CLOSED ) && (maCoords.front() != maCoords.back()) )
             aB2DPolygon.append( lclGetPolyPoint( rAnchorRange, maCoords.front() ) );
         // create the SdrObject
-        SdrObjKind eObjKind = maFillData.IsFilled() ? OBJ_PATHPOLY : OBJ_PATHPLIN;
         xSdrObj.reset( new SdrPathObj( 
 			rDffConv.GetTargetSdrModel(),
-			eObjKind, 
 			::basegfx::B2DPolyPolygon( aB2DPolygon ) ) );
         ConvertRectStyle( *xSdrObj );
     }

Modified: incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconarc.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconarc.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconarc.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconarc.cxx Thu Jun  7 17:08:07 2012
@@ -135,32 +135,35 @@ sal_Bool __EXPORT FuConstArc::KeyInput(c
 
 void FuConstArc::Activate()
 {
-	SdrObjKind aObjKind;
+    SdrCircleObjType aSdrCircleObjType(CircleType_Circle);
 
 	switch (aSfxRequest.GetSlot() )
 	{
 		case SID_DRAW_ARC:
 			aNewPointer = Pointer( POINTER_DRAW_ARC );
-			aObjKind = OBJ_CARC;
+            aSdrCircleObjType = CircleType_Arc;
 			break;
 
 		case SID_DRAW_PIE:
 			aNewPointer = Pointer( POINTER_DRAW_PIE );
-			aObjKind = OBJ_SECT;
+            aSdrCircleObjType = CircleType_Sector;
 			break;
 
 		case SID_DRAW_CIRCLECUT:
 			aNewPointer = Pointer( POINTER_DRAW_CIRCLECUT );
-			aObjKind = OBJ_CCUT;
+            aSdrCircleObjType = CircleType_Segment;
 			break;
 
 		default:
 			aNewPointer = Pointer( POINTER_CROSS );
-			aObjKind = OBJ_CARC;
+            aSdrCircleObjType = CircleType_Arc;
 			break;
 	}
 
-    pView->SetCurrentObj( sal::static_int_cast<sal_uInt16>( aObjKind ) );
+    SdrObjectCreationInfo aSdrObjectCreationInfo(static_cast< sal_uInt16 >(OBJ_CIRC));
+
+    aSdrObjectCreationInfo.setSdrCircleObjType(aSdrCircleObjType);
+    pView->setSdrObjectCreationInfo(aSdrObjectCreationInfo);
 
 	aOldPointer = pWindow->GetPointer();
 	pViewShell->SetActivePointer( aNewPointer );
@@ -189,8 +192,7 @@ SdrObject* FuConstArc::CreateDefaultObje
 
 	SdrObject* pObj = SdrObjFactory::MakeNewObject(
 		pView->getSdrModelFromSdrView(),
-		pView->GetCurrentObjInventor(), 
-		pView->GetCurrentObjIdentifier());
+		pView->getSdrObjectCreationInfo());
 
 	if(pObj)
 	{

Modified: incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconcustomshape.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconcustomshape.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconcustomshape.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconcustomshape.cxx Thu Jun  7 17:08:07 2012
@@ -161,7 +161,7 @@ sal_Bool __EXPORT FuConstCustomShape::Ke
 
 void FuConstCustomShape::Activate()
 {
-	pView->SetCurrentObj( OBJ_CUSTOMSHAPE, SdrInventor );
+	pView->setSdrObjectCreationInfo(SdrObjectCreationInfo(OBJ_CUSTOMSHAPE, SdrInventor));
 
 	aNewPointer = Pointer( POINTER_DRAW_RECT );
 	aOldPointer = pWindow->GetPointer();
@@ -196,8 +196,7 @@ SdrObject* FuConstCustomShape::CreateDef
 {
 	SdrObject* pObj = SdrObjFactory::MakeNewObject(
 		pView->getSdrModelFromSdrView(),
-		pView->GetCurrentObjInventor(), 
-		pView->GetCurrentObjIdentifier());
+		pView->getSdrObjectCreationInfo());
 
 	if( pObj )
 	{

Modified: incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconpol.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconpol.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconpol.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconpol.cxx Thu Jun  7 17:08:07 2012
@@ -168,71 +168,60 @@ sal_Bool __EXPORT FuConstPolygon::KeyInp
 void FuConstPolygon::Activate()
 {
 	pView->EnableExtendedMouseEventDispatcher(sal_True);
-	SdrObjKind eKind;
-	bool bCreateFreehandMode(false);
-	SdrPathObjType aSdrPathObjType(PathType_OpenPolygon);
+    SdrObjectCreationInfo aSdrObjectCreationInfo;
 
 	switch (GetSlotID())
 	{
 		case SID_DRAW_POLYGON_NOFILL:
 		case SID_DRAW_XPOLYGON_NOFILL:
 		{
-			eKind = OBJ_PLIN;
+            aSdrObjectCreationInfo.setSdrPathObjType(PathType_OpenPolygon);
 		}
 		break;
 
 		case SID_DRAW_POLYGON:
 		case SID_DRAW_XPOLYGON:
 		{
-			eKind = OBJ_POLY;
-			aSdrPathObjType = PathType_ClosedPolygon;
+            aSdrObjectCreationInfo.setSdrPathObjType(PathType_ClosedPolygon);
 		}
 		break;
 
 		case SID_DRAW_BEZIER_NOFILL:
 		{
-			eKind = OBJ_PATHLINE;
-			aSdrPathObjType = PathType_OpenBezier;
+            aSdrObjectCreationInfo.setSdrPathObjType(PathType_OpenBezier);
 		}
 		break;
 
 		case SID_DRAW_BEZIER_FILL:
 		{
-			eKind = OBJ_PATHFILL;
-			aSdrPathObjType = PathType_ClosedBezier;
+            aSdrObjectCreationInfo.setSdrPathObjType(PathType_ClosedBezier);
 		}
 		break;
 
 		case SID_DRAW_FREELINE_NOFILL:
 		{
-			eKind = OBJ_FREELINE;
-			bCreateFreehandMode = true;
+            aSdrObjectCreationInfo.setSdrPathObjType(PathType_OpenBezier);
+            aSdrObjectCreationInfo.setFreehandMode(true);
 		}
 		break;
 
 		case SID_DRAW_FREELINE:
 		{
-			eKind = OBJ_FREEFILL;
-			bCreateFreehandMode = true;
+            aSdrObjectCreationInfo.setSdrPathObjType(PathType_ClosedBezier);
+            aSdrObjectCreationInfo.setFreehandMode(true);
 		}
 		break;
 
 		default:
 		{
-			eKind = OBJ_PATHLINE;
-			aSdrPathObjType = PathType_OpenBezier;
+            aSdrObjectCreationInfo.setSdrPathObjType(PathType_OpenBezier);
 		}
 		break;
 	}
 
-    pView->SetCurrentObj(sal::static_int_cast<sal_uInt16>(eKind));
-	pView->setCreateFreehandMode(bCreateFreehandMode);
-	pView->setTargetSdrPathObjType(aSdrPathObjType);
-
+    pView->setSdrObjectCreationInfo(aSdrObjectCreationInfo);
 	pView->SetViewEditMode(SDREDITMODE_CREATE);
-
 	FuConstruct::Activate();
-
 	aNewPointer = Pointer( POINTER_DRAW_POLYGON );
 	aOldPointer = pWindow->GetPointer();
 	pViewShell->SetActivePointer( aNewPointer );
@@ -265,8 +254,7 @@ SdrObject* FuConstPolygon::CreateDefault
 
 	SdrObject* pObj = SdrObjFactory::MakeNewObject(
 		pView->getSdrModelFromSdrView(),
-		pView->GetCurrentObjInventor(), 
-		pView->GetCurrentObjIdentifier());
+		pView->getSdrObjectCreationInfo());
 
 	if(pObj)
 	{

Modified: incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconrec.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconrec.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconrec.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconrec.cxx Thu Jun  7 17:08:07 2012
@@ -28,14 +28,13 @@
 #include "tabvwsh.hxx"
 #include "sc.hrc"
 #include "drawview.hxx"
-
 #include <editeng/outlobj.hxx>
-// #98185# Create default drawing objects via keyboard
 #include <svx/svdopath.hxx>
 #include <svx/svdocapt.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
 #include <basegfx/point/b2dpoint.hxx>
 #include <svx/svdlegacy.hxx>
+#include <svx/sdrobjectfactory.hxx>
 
 #include "scresid.hxx"
 
@@ -84,14 +83,16 @@ sal_Bool __EXPORT FuConstRectangle::Mous
 
 		pWindow->CaptureMouse();
 
-		if ( pView->GetCurrentObjIdentifier() == OBJ_CAPTION )
+		if ( OBJ_CAPTION == pView->getSdrObjectCreationInfo().getIdent() )
 		{
 			bReturn = pView->BegCreateCaptionObj( aLogicPos, basegfx::B2DVector(2268.0, 1134.0)); // 4x2cm
 
 			// wie stellt man den Font ein, mit dem geschrieben wird
 		}
 		else
+        {
 			bReturn = pView->BegCreateObj(aLogicPos);
+        }
 	}
 	return bReturn;
 }
@@ -173,41 +174,39 @@ sal_Bool __EXPORT FuConstRectangle::KeyI
 
 void FuConstRectangle::Activate()
 {
-	SdrObjKind aObjKind;
+    SdrObjectCreationInfo aSdrObjectCreationInfo(OBJ_RECT);
 
 	switch (aSfxRequest.GetSlot() )
 	{
 		case SID_DRAW_LINE:
 			aNewPointer = Pointer( POINTER_DRAW_LINE );
-			aObjKind = OBJ_LINE;
+            aSdrObjectCreationInfo.setIdent(OBJ_POLY);
+            aSdrObjectCreationInfo.setSdrPathObjType(PathType_Line);
 			break;
 
 		case SID_DRAW_RECT:
 			aNewPointer = Pointer( POINTER_DRAW_RECT );
-			aObjKind = OBJ_RECT;
 			break;
 
 		case SID_DRAW_ELLIPSE:
+            aSdrObjectCreationInfo.setIdent(OBJ_CIRC);
 			aNewPointer = Pointer( POINTER_DRAW_ELLIPSE );
-			aObjKind = OBJ_CIRC;
 			break;
 
 		case SID_DRAW_CAPTION:
 		case SID_DRAW_CAPTION_VERTICAL:
+            aSdrObjectCreationInfo.setIdent(OBJ_CAPTION);
 			aNewPointer = Pointer( POINTER_DRAW_CAPTION );
-			aObjKind = OBJ_CAPTION;
 			break;
 
 		default:
 			aNewPointer = Pointer( POINTER_CROSS );
-			aObjKind = OBJ_RECT;
 			break;
 	}
 
-    pView->SetCurrentObj(sal::static_int_cast<sal_uInt16>(aObjKind));
-
+    pView->setSdrObjectCreationInfo(aSdrObjectCreationInfo);
 	aOldPointer = pWindow->GetPointer();
-	pViewShell->SetActivePointer( aNewPointer );
+	pViewShell->SetActivePointer(aNewPointer);
 
 	FuConstruct::Activate();
 }
@@ -235,8 +234,7 @@ SdrObject* FuConstRectangle::CreateDefau
 
 	SdrObject* pObj = SdrObjFactory::MakeNewObject(
 		pView->getSdrModelFromSdrView(),
-		pView->GetCurrentObjInventor(), 
-		pView->GetCurrentObjIdentifier());
+		pView->getSdrObjectCreationInfo());
 
 	if(pObj)
 	{

Modified: incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconuno.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconuno.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconuno.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/fuconuno.cxx Thu Jun  7 17:08:07 2012
@@ -139,7 +139,7 @@ sal_Bool __EXPORT FuConstUnoControl::Key
 
 void FuConstUnoControl::Activate()
 {
-	pView->SetCurrentObj( nIdentifier, nInventor );
+	pView->setSdrObjectCreationInfo(SdrObjectCreationInfo(nIdentifier, nInventor));
 
 	aNewPointer = Pointer( POINTER_DRAW_RECT );
 	aOldPointer = pWindow->GetPointer();
@@ -176,8 +176,7 @@ SdrObject* FuConstUnoControl::CreateDefa
 	
 	SdrObject* pObj = SdrObjFactory::MakeNewObject(
 		pView->getSdrModelFromSdrView(),
-		pView->GetCurrentObjInventor(), 
-		pView->GetCurrentObjIdentifier());
+		pView->getSdrObjectCreationInfo());
 
 	if(pObj)
 	{

Modified: incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/futext.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/futext.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/futext.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sc/source/ui/drawfunc/futext.cxx Thu Jun  7 17:08:07 2012
@@ -556,23 +556,12 @@ void FuText::Activate()
 	rBindings.Invalidate( SID_OBJECT_ROTATE );
 	rBindings.Invalidate( SID_OBJECT_MIRROR );
 
-//	Sofort in den Edit Mode setzen
-//	SetInEditMode();
+	sal_uInt16 nObj = OBJ_TEXT;
 
-//	if (!pTextObj)
-	{
-		/**********************************************************************
-		* Kein Textobjekt im EditMode, daher CreateMode setzen
-		**********************************************************************/
-		sal_uInt16 nObj = OBJ_TEXT;
-
-		pView->SetCurrentObj(nObj);
-		pView->SetViewEditMode(SDREDITMODE_CREATE);
-	}
+	pView->setSdrObjectCreationInfo(SdrObjectCreationInfo(static_cast< sal_uInt16 >(OBJ_TEXT)));
+	pView->SetViewEditMode(SDREDITMODE_CREATE);
 
 	aNewPointer = Pointer(POINTER_TEXT);
-//	aNewPointer = Pointer(POINTER_CROSS);				//! ???
-
 	aOldPointer = pWindow->GetPointer();
 	pViewShell->SetActivePointer( aNewPointer );
 
@@ -622,28 +611,7 @@ void FuText::SelectionHasChanged()
 
 	if (!pTextObj)
 	{
-		/**********************************************************************
-		* Kein Textobjekt im EditMode, daher CreateMode setzen
-		**********************************************************************/
-		sal_uInt16 nObj = OBJ_TEXT;
-
-//		  if (! pView->IsEditMode() )
-//		  {
-//			  if (nIdent == OBJ_TEXT)
-//			  {
-//				  nObj = OBJ_TEXT;
-//			  }
-//			  else if (nIdent == OBJ_OUTLINETEXT)
-//			  {
-//				  nObj = OBJ_OUTLINETEXT;
-//			  }
-//			  else if (nIdent == OBJ_TITLETEXT)
-//			  {
-//				  nObj = OBJ_TITLETEXT;
-//			  }
-//		  }
-
-		pView->SetCurrentObj(nObj);
+		pView->setSdrObjectCreationInfo(SdrObjectCreationInfo(static_cast< sal_uInt16 >(OBJ_TEXT)));
 
 		pView->SetViewEditMode(SDREDITMODE_CREATE);
 	}
@@ -746,8 +714,7 @@ SdrObject* FuText::CreateDefaultObject(c
 
 	SdrObject* pObj = SdrObjFactory::MakeNewObject(
 		pView->getSdrModelFromSdrView(),
-		pView->GetCurrentObjInventor(), 
-		pView->GetCurrentObjIdentifier());
+		pView->getSdrObjectCreationInfo());
 
 	if(pObj)
 	{

Modified: incubator/ooo/branches/alg/aw080/main/sc/source/ui/view/tabvwshg.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sc/source/ui/view/tabvwshg.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sc/source/ui/view/tabvwshg.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sc/source/ui/view/tabvwshg.cxx Thu Jun  7 17:08:07 2012
@@ -75,7 +75,8 @@ void ScTabViewShell::InsertURLButton( co
 //	SdrModel*	pModel	= pDrView->getSdrModelFromSdrView();
 
 	SdrObject* pObj = SdrObjFactory::MakeNewObject(
-		pViewData->GetView()->GetSdrView()->getSdrModelFromSdrView(), FmFormInventor, OBJ_FM_BUTTON);
+		pViewData->GetView()->GetSdrView()->getSdrModelFromSdrView(), 
+        SdrObjectCreationInfo(OBJ_FM_BUTTON, FmFormInventor));
 	SdrUnoObj* pUnoCtrl = dynamic_cast< SdrUnoObj* >( pObj);
 
 	uno::Reference<awt::XControlModel> xControlModel = pUnoCtrl->GetUnoControlModel();

Modified: incubator/ooo/branches/alg/aw080/main/sd/source/core/CustomAnimationEffect.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sd/source/core/CustomAnimationEffect.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sd/source/core/CustomAnimationEffect.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sd/source/core/CustomAnimationEffect.cxx Thu Jun  7 17:08:07 2012
@@ -1694,8 +1694,7 @@ bool CustomAnimationEffect::getStopAudio
 SdrPathObj* CustomAnimationEffect::createSdrPathObjFromPath(SdrModel& rTargetModel)
 {
 	SdrPathObj * pPathObj = new SdrPathObj( 
-		rTargetModel,
-		OBJ_PATHLINE );
+		rTargetModel );
 	updateSdrPathObjFromPath( *pPathObj );
 	return pPathObj;
 }

Modified: incubator/ooo/branches/alg/aw080/main/sd/source/core/sdobjfac.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sd/source/core/sdobjfac.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sd/source/core/sdobjfac.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sd/source/core/sdobjfac.cxx Thu Jun  7 17:08:07 2012
@@ -19,14 +19,10 @@
  * 
  *************************************************************/
 
-
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sd.hxx"
 
-
 #include <basic/sbx.hxx>
-
 #include <app.hxx>
 #include "sdpage.hxx"
 #include "sdobjfac.hxx"
@@ -34,7 +30,7 @@
 #include "anminfo.hxx"
 #include "imapinfo.hxx"
 #include "drawdoc.hxx"
-
+#include <svx/sdrobjectfactory.hxx>
 
 SdObjectFactory aSdObjectFactory;
 
@@ -46,16 +42,27 @@ SdObjectFactory aSdObjectFactory;
 
 IMPL_LINK( SdObjectFactory, MakeUserData, SdrObjFactory *, pObjFactory )
 {
-	if ( pObjFactory->mnInventor == SdUDInventor )
+	if ( SdUDInventor == pObjFactory->getSdrObjectCreationInfo().getInvent() )
 	{
-		switch( pObjFactory->mnIdentifier )
+		switch( pObjFactory->getSdrObjectCreationInfo().getIdent() )
 		{
 			case( SD_ANIMATIONINFO_ID ):
-				pObjFactory->mpNewData = new SdAnimationInfo( *pObjFactory->mpObj );
+            {
+                if(pObjFactory->getSdrObjUserDataTargetSdrObject())
+                {
+    				pObjFactory->setNewSdrObjUserData(new SdAnimationInfo(*pObjFactory->getSdrObjUserDataTargetSdrObject()));
+                }
+                else
+                {
+                    OSL_ENSURE(false, "Got no target SdrObject in SdrObjUserData Factory (!)");
+                }
+            }
 			break;
 
 			case( SD_IMAPINFO_ID ):
-				pObjFactory->mpNewData = new SdIMapInfo;
+            {
+				pObjFactory->setNewSdrObjUserData(new SdIMapInfo);
+            }
 			break;
 
 			default:
@@ -63,11 +70,15 @@ IMPL_LINK( SdObjectFactory, MakeUserData
 		}
 	}
 
-	if ( pObjFactory->mpNewData )
+	if ( pObjFactory->getNewSdrObjUserData() )
+    {
 		return 0;
+    }
 
 	if( aOldMakeUserDataLink.IsSet() )
+    {
 		aOldMakeUserDataLink.Call( this );
+    }
 
 	return 0;
 }

Modified: incubator/ooo/branches/alg/aw080/main/sd/source/filter/eppt/epptso.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sd/source/filter/eppt/epptso.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sd/source/filter/eppt/epptso.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sd/source/filter/eppt/epptso.cxx Thu Jun  7 17:08:07 2012
@@ -4443,7 +4443,7 @@ void PPTWriter::ImplWritePage( const PHL
                 if(!pCircObj)
                     continue;
 
-                if(OBJ_CIRC == pCircObj->GetCircleKind())
+                if(CircleType_Circle == pCircObj->GetSdrCircleObjType())
                 {
                     mpPptEscherEx->OpenContainer( ESCHER_SpContainer );
                     ImplCreateShape( ESCHER_ShpInst_Ellipse, 0xa00, aSolverContainer );            // Flags: Connector | HasSpt

Modified: incubator/ooo/branches/alg/aw080/main/sd/source/filter/html/htmlex.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sd/source/filter/html/htmlex.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sd/source/filter/html/htmlex.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sd/source/filter/html/htmlex.cxx Thu Jun  7 17:08:07 2012
@@ -1833,24 +1833,20 @@ bool HtmlExport::CreateHtmlForPresPages(
 					// jetzt die Areas
 					if( aHRef.Len() )
 					{
-						// ein Kreis?
-						if (pObject->GetObjInventor() == SdrInventor &&
-							pObject->GetObjIdentifier() == OBJ_CIRC  &&
-							bIsSquare )
+						// a circle?
+						if(bIsSquare && dynamic_cast< SdrCircObj* >(pObject))
 						{
 							aStr += CreateHTMLCircleArea(aRect.GetWidth() / 2,
 													aRect.Left() + nRadius,
 													aRect.Top() + nRadius,
 													aHRef);
 						}
-						// ein Polygon?
-						else if (pObject->GetObjInventor() == SdrInventor &&
-								 (pObject->GetObjIdentifier() == OBJ_PATHLINE ||
-								  pObject->GetObjIdentifier() == OBJ_PLIN ||
-								  pObject->GetObjIdentifier() == OBJ_POLY))
+						// a Polygon?
+						else if(dynamic_cast< SdrPathObj* >(pObject))
 						{
-							const basegfx::B2DPolyPolygon aPolyPolygon(((SdrPathObj*)pObject)->getB2DPolyPolygonInObjectCoordinates());
-							aStr += CreateHTMLPolygonArea(aPolyPolygon, Size(-pPage->GetLeftPageBorder(), -pPage->GetTopPageBorder()), fLogicToPixel, aHRef);
+							const basegfx::B2DPolyPolygon aPolyPolygon(static_cast< SdrPathObj* >(pObject)->getB2DPolyPolygonInObjectCoordinates());
+							
+                            aStr += CreateHTMLPolygonArea(aPolyPolygon, Size(-pPage->GetLeftPageBorder(), -pPage->GetTopPageBorder()), fLogicToPixel, aHRef);
 						}
 						// was anderes: das BoundRect nehmen
 						else

Modified: incubator/ooo/branches/alg/aw080/main/sd/source/ui/app/sddll.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sd/source/ui/app/sddll.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sd/source/ui/app/sddll.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sd/source/ui/app/sddll.cxx Thu Jun  7 17:08:07 2012
@@ -19,19 +19,15 @@
  * 
  *************************************************************/
 
-
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sd.hxx"
 #include <editeng/eeitem.hxx>
-
 #include <editeng/editeng.hxx>
 #include <svx/svdobj.hxx>
 #include <unotools/moduleoptions.hxx>
 #include <svx/fmobjfac.hxx>
 #include <svx/svdfield.hxx>
 #include <svx/objfac3d.hxx>
-
 #include "sddll.hxx"
 #include "DrawDocShell.hxx"
 #include "GraphicDocShell.hxx"
@@ -40,7 +36,6 @@
 #include "cfgids.hxx"
 #include "strmname.h"
 #include "SdShapeTypes.hxx"
-
 #include <svx/SvxShapeTypes.hxx>
 #include <sfx2/docfilt.hxx>
 #include <sfx2/docfile.hxx>
@@ -49,6 +44,7 @@
 #include <svtools/FilterConfigItem.hxx>
 #include <com/sun/star/util/XArchiver.hpp>
 #include <comphelper/processfactory.hxx>
+#include <svx/sdrobjectfactory.hxx>
 
 using namespace ::rtl;
 using namespace ::com::sun::star;

Modified: incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fucon3d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fucon3d.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fucon3d.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fucon3d.cxx Thu Jun  7 17:08:07 2012
@@ -453,7 +453,7 @@ bool FuConstruct3dObject::KeyInput(const
 
 void FuConstruct3dObject::Activate()
 {
-	mpView->SetCurrentObj(OBJ_NONE);
+	mpView->setSdrObjectCreationInfo(SdrObjectCreationInfo(static_cast< sal_uInt16 >(OBJ_NONE)));
 
 	FuConstruct::Activate();
 }

Modified: incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconarc.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconarc.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconarc.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconarc.cxx Thu Jun  7 17:08:07 2012
@@ -108,7 +108,7 @@ void FuConstructArc::DoExecute( SfxReque
 
 		SdrCircObj* pNewCircle = new SdrCircObj(
 			*GetDoc(),
-			(SdrObjKind)mpView->GetCurrentObjIdentifier(),
+			mpView->getSdrObjectCreationInfo().getSdrCircleObjType(),
 			aObjTrans,
 			fStart,
 			fEnd);
@@ -134,7 +134,7 @@ bool FuConstructArc::MouseButtonDown( co
 
 		mpWindow->CaptureMouse();
 		const double fTolerance(basegfx::B2DVector(mpWindow->GetInverseViewTransformation() * basegfx::B2DVector(DRGPIX, 0.0)).getLength());
-		mpView->BegCreateObj(aLogicPos, (OutputDevice*) NULL, fTolerance);
+		mpView->BegCreateObj(aLogicPos, fTolerance);
 
 		SdrObject* pObj = mpView->GetCreateObj();
 
@@ -220,14 +220,14 @@ bool FuConstructArc::KeyInput(const KeyE
 
 void FuConstructArc::Activate()
 {
-	SdrObjKind aObjKind;
+    SdrCircleObjType aSdrCircleObjType(CircleType_Circle);
 
 	switch( nSlotId )
 	{
 		case SID_DRAW_ARC	   :
 		case SID_DRAW_CIRCLEARC:
 		{
-			aObjKind = OBJ_CARC;
+            aSdrCircleObjType = CircleType_Arc;
 		}
 		break;
 
@@ -236,7 +236,7 @@ void FuConstructArc::Activate()
 		case SID_DRAW_CIRCLEPIE 	  :
 		case SID_DRAW_CIRCLEPIE_NOFILL:
 		{
-			aObjKind = OBJ_SECT;
+            aSdrCircleObjType = CircleType_Sector;
 		}
 		break;
 
@@ -245,21 +245,23 @@ void FuConstructArc::Activate()
 		case SID_DRAW_CIRCLECUT 	   :
 		case SID_DRAW_CIRCLECUT_NOFILL :
 		{
-			aObjKind = OBJ_CCUT;
+            aSdrCircleObjType = CircleType_Segment;
 		}
 		break;
 
 		default:
 		{
-			aObjKind = OBJ_CARC;
+            aSdrCircleObjType = CircleType_Arc;
 		}
 		break;
 	}
 
-	mpView->SetCurrentObj((sal_uInt16)aObjKind);
+    SdrObjectCreationInfo aSdrObjectCreationInfo(static_cast< sal_uInt16 >(OBJ_CIRC));
+
+    aSdrObjectCreationInfo.setSdrCircleObjType(aSdrCircleObjType);
+	mpView->setSdrObjectCreationInfo(aSdrObjectCreationInfo);
 
 	FuConstruct::Activate();
-//	FuDraw::Activate();
 }
 
 /*************************************************************************
@@ -290,8 +292,7 @@ SdrObject* FuConstructArc::CreateDefault
 
 	SdrObject* pObj = SdrObjFactory::MakeNewObject(
 		mpView->getSdrModelFromSdrView(),
-		mpView->GetCurrentObjInventor(), 
-		mpView->GetCurrentObjIdentifier());
+		mpView->getSdrObjectCreationInfo());
 
 	if(pObj)
 	{

Modified: incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconbez.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconbez.cxx?rev=1347716&r1=1347715&r2=1347716&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconbez.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sd/source/ui/func/fuconbez.cxx Thu Jun  7 17:08:07 2012
@@ -273,42 +273,37 @@ void FuConstructBezierPolygon::Activate(
 	mpView->EnableExtendedMouseEventDispatcher(true);
 	bool bCreateFreehandMode(false);
 	SdrPathObjType aSdrPathObjType(PathType_OpenPolygon);
-	SdrObjKind eKind;
 
 	switch (nSlotId)
 	{
 		case SID_DRAW_POLYGON_NOFILL:
 		case SID_DRAW_XPOLYGON_NOFILL:
 		{
-			eKind = OBJ_PLIN;
+            aSdrPathObjType = PathType_OpenPolygon;
 		}
 		break;
 
 		case SID_DRAW_POLYGON:
 		case SID_DRAW_XPOLYGON:
 		{
-			eKind = OBJ_POLY;
 			aSdrPathObjType = PathType_ClosedPolygon;
 		}
 		break;
 
 		case SID_DRAW_BEZIER_NOFILL:
 		{
-			eKind = OBJ_PATHLINE;
 			aSdrPathObjType = PathType_OpenBezier;
 		}
 		break;
 
 		case SID_DRAW_BEZIER_FILL:
 		{
-			eKind = OBJ_PATHFILL;
 			aSdrPathObjType = PathType_ClosedBezier;
 		}
 		break;
 
 		case SID_DRAW_FREELINE_NOFILL:
 		{
-			eKind = OBJ_FREELINE;
 			aSdrPathObjType = PathType_OpenBezier;
 			bCreateFreehandMode = true;
 		}
@@ -316,7 +311,6 @@ void FuConstructBezierPolygon::Activate(
 
 		case SID_DRAW_FREELINE:
 		{
-			eKind = OBJ_FREEFILL;
 			aSdrPathObjType = PathType_ClosedBezier;
 			bCreateFreehandMode = true;
 		}
@@ -324,15 +318,16 @@ void FuConstructBezierPolygon::Activate(
 
 		default:
 		{
-			eKind = OBJ_PATHLINE;
 			aSdrPathObjType = PathType_OpenBezier;
 		}
 		break;
 	}
 
-	mpView->SetCurrentObj((sal_uInt16)eKind);
-	mpView->setCreateFreehandMode(bCreateFreehandMode);
-	mpView->setTargetSdrPathObjType(aSdrPathObjType);
+    SdrObjectCreationInfo aSdrObjectCreationInfo(static_cast< sal_uInt16 >(OBJ_POLY));
+
+    aSdrObjectCreationInfo.setSdrPathObjType(aSdrPathObjType);
+    aSdrObjectCreationInfo.setFreehandMode(bCreateFreehandMode);
+	mpView->setSdrObjectCreationInfo(aSdrObjectCreationInfo);
 
 	FuConstruct::Activate();
 }
@@ -398,8 +393,7 @@ SdrObject* FuConstructBezierPolygon::Cre
 
 	SdrObject* pObj = SdrObjFactory::MakeNewObject(
 		mpView->getSdrModelFromSdrView(),
-		mpView->GetCurrentObjInventor(), 
-		mpView->GetCurrentObjIdentifier());
+		mpView->getSdrObjectCreationInfo());
 
 	if(pObj)
 	{



Mime
View raw message