incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r1381553 [1/2] - in /incubator/ooo/branches/alg/aw080/main: filter/source/msfilter/ sd/inc/ sd/source/core/ svx/inc/svx/ svx/inc/svx/sdr/properties/ svx/source/sdr/contact/ svx/source/sdr/properties/ svx/source/svdraw/ svx/source/table/ svx...
Date Thu, 06 Sep 2012 10:59:25 GMT
Author: alg
Date: Thu Sep  6 10:59:24 2012
New Revision: 1381553

URL: http://svn.apache.org/viewvc?rev=1381553&view=rev
Log:
In-between checkin of aw080 changes in progress to have them on a safe place

Modified:
    incubator/ooo/branches/alg/aw080/main/filter/source/msfilter/msdffimp.cxx
    incubator/ooo/branches/alg/aw080/main/sd/inc/stlpool.hxx
    incubator/ooo/branches/alg/aw080/main/sd/source/core/stlpool.cxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/attributeproperties.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/customshapeproperties.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/defaultproperties.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/e3dcompoundproperties.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/emptyproperties.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/groupproperties.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/properties.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdobj.hxx
    incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdoedge.hxx
    incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdredgeobj.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/attributeproperties.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/customshapeproperties.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/defaultproperties.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/e3dcompoundproperties.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/e3dsceneproperties.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/emptyproperties.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/groupproperties.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/properties.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdcrtv.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdhdl.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdoedge.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdograf.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdoole2.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/table/cell.cxx
    incubator/ooo/branches/alg/aw080/main/svx/source/table/cell.hxx
    incubator/ooo/branches/alg/aw080/main/svx/source/unodraw/unoshape.cxx

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=1381553&r1=1381552&r2=1381553&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 Sep  6 10:59:24 2012
@@ -4735,8 +4735,12 @@ SdrObject* SvxMSDffManager::ImportShape(
 							aTransform.translate(aObjData.aBoundRect.getCenter());
 
 							sdr::legacy::transformSdrObject(*pRet, aTransform);
+                            
+                            // #120437# reset rotation, it is part of the path and shall not be applied again
+                            nObjectRotation = 0;
 						}
-						// Horizontal gespiegelt?
+
+                        // Horizontal gespiegelt?
 						if ( nSpFlags & SP_FFLIPH )
 						{
 							const basegfx::B2DRange aSnapRange(sdr::legacy::GetSnapRange(*pRet));
@@ -4747,8 +4751,12 @@ SdrObject* SvxMSDffManager::ImportShape(
 							aTransform.translate(aSnapRange.getCenterX(), 0.0);
 
 							sdr::legacy::transformSdrObject(*pRet, aTransform);
+                            
+                            // #120437# reset hor filp
+                            nSpFlags &= ~SP_FFLIPH;
 						}
-						// Vertikal gespiegelt?
+
+                        // Vertikal gespiegelt?
 						if ( nSpFlags & SP_FFLIPV )
 						{
 							const basegfx::B2DRange aSnapRange(sdr::legacy::GetSnapRange(*pRet));
@@ -4759,20 +4767,25 @@ SdrObject* SvxMSDffManager::ImportShape(
 							aTransform.translate(0.0, aSnapRange.getCenterY());
 
 							sdr::legacy::transformSdrObject(*pRet, aTransform);
+                            
+                            // #120437# reset ver filp
+                            nSpFlags &= ~SP_FFLIPV;
 						}
-						basegfx::B2DPolyPolygon aPoly( SdrObjCustomShape::GetLineGeometry( (SdrObjCustomShape*)pRet, sal_True ) );
+
+                        const basegfx::B2DPolyPolygon aPoly( SdrObjCustomShape::GetLineGeometry( (SdrObjCustomShape*)pRet, sal_True ) );
                         deleteSdrObjectSafeAndClearPointer( pRet );
 
-						pRet = new SdrEdgeObj(*GetModel());
+						SdrEdgeObj* pSdrEdgeObj = new SdrEdgeObj(*GetModel());
+                        pRet = pSdrEdgeObj;
 						ApplyAttributes( rSt, aSet, aObjData );
-						sdr::legacy::SetLogicRange(*pRet, aObjData.aBoundRect );
-						pRet->SetMergedItemSet(aSet);
+						sdr::legacy::SetLogicRange(*pSdrEdgeObj, aObjData.aBoundRect );
+						pSdrEdgeObj->SetMergedItemSet(aSet);
 
 						// Konnektoren
 						MSO_ConnectorStyle eConnectorStyle = (MSO_ConnectorStyle)GetPropertyValue( DFF_Prop_cxstyle, mso_cxstyleStraight );
 
-						((SdrEdgeObj*)pRet)->ConnectToNode(sal_True, NULL);
-						((SdrEdgeObj*)pRet)->ConnectToNode(sal_False, NULL);
+						pSdrEdgeObj->ConnectToNode(sal_True, NULL);
+						pSdrEdgeObj->ConnectToNode(sal_False, NULL);
 
 						Point aPoint1( basegfx::fround(aObjData.aBoundRect.getMinX()), basegfx::fround(aObjData.aBoundRect.getMinY()) );
 						Point aPoint2( basegfx::fround(aObjData.aBoundRect.getMaxX()), basegfx::fround(aObjData.aBoundRect.getMaxY()) );
@@ -4804,8 +4817,8 @@ SdrObject* SvxMSDffManager::ImportShape(
 						}
 						nSpFlags &= ~( SP_FFLIPV | SP_FFLIPH );
 
-						pRet->SetObjectPoint(basegfx::B2DPoint(aPoint1.X(), aPoint1.Y()), 0L);	// Startpunkt
-						pRet->SetObjectPoint(basegfx::B2DPoint(aPoint2.X(), aPoint2.Y()), 1L);	// Endpunkt
+						pSdrEdgeObj->SetObjectPoint(basegfx::B2DPoint(aPoint1.X(), aPoint1.Y()), 0L);	// Startpunkt
+						pSdrEdgeObj->SetObjectPoint(basegfx::B2DPoint(aPoint2.X(), aPoint2.Y()), 1L);	// Endpunkt
 
 						sal_Int32 n1HorzDist, n1VertDist, n2HorzDist, n2VertDist;
 						n1HorzDist = n1VertDist = n2HorzDist = n2VertDist = 0;
@@ -4829,8 +4842,13 @@ SdrObject* SvxMSDffManager::ImportShape(
 						aSet.Put( SdrEdgeNode2HorzDistItem( n2HorzDist ) );
 						aSet.Put( SdrEdgeNode2VertDistItem( n2VertDist ) );
 
-						((SdrEdgeObj*)pRet)->SetEdgeTrackPath( aPoly );
-						pRet->SetMergedItemSet( aSet );
+                        if(aPoly.count())
+                        {
+                            OSL_ENSURE(1 == aPoly.count(), "Connectors support only single polygon, taking first one (!)");
+    						pSdrEdgeObj->SetEdgeTrackPath( aPoly.getB2DPolygon(0) );
+                        }
+
+						pSdrEdgeObj->SetMergedItemSet( aSet );
 					}
 				}
 			}

Modified: incubator/ooo/branches/alg/aw080/main/sd/inc/stlpool.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sd/inc/stlpool.hxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sd/inc/stlpool.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sd/inc/stlpool.hxx Thu Sep  6 10:59:24 2012
@@ -60,8 +60,8 @@ class SdStyleSheetPool : public SdStyleS
 public:
 						SdStyleSheetPool(SfxItemPool const& rPool, SdDrawDocument* pDocument);
 
-	void				SetActualStyleSheet(SfxStyleSheetBase* pActStyleSheet)	{ mpActualStyleSheet = pActStyleSheet; }
-	SfxStyleSheetBase*	GetActualStyleSheet()									{ return mpActualStyleSheet; }
+	void				SetActualStyleSheet(SfxStyleSheetBase* pActStyleSheet)	{ mxActualStyleSheet = pActStyleSheet; }
+	SfxStyleSheetBase*	GetActualStyleSheet()									{ return mxActualStyleSheet.get(); }
 
 	SfxStyleSheetBase*  GetTitleSheet(const String& rLayoutName);
 
@@ -135,7 +135,7 @@ protected:
 	void RemoveStyleFamily( const SdPage* pPage );
 
 private:
-	SfxStyleSheetBase*		mpActualStyleSheet;
+    rtl::Reference< SfxStyleSheetBase > mxActualStyleSheet;
 	SdDrawDocument*			mpDoc;
 	SdStyleFamilyRef		mxGraphicFamily;
 	SdStyleFamilyRef		mxCellFamily;

Modified: incubator/ooo/branches/alg/aw080/main/sd/source/core/stlpool.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/sd/source/core/stlpool.cxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/sd/source/core/stlpool.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/sd/source/core/stlpool.cxx Thu Sep  6 10:59:24 2012
@@ -85,7 +85,7 @@ using namespace ::com::sun::star::contai
 
 SdStyleSheetPool::SdStyleSheetPool(SfxItemPool const& _rPool, SdDrawDocument* pDocument)
 :	SdStyleSheetPoolBase( _rPool )
-,	mpActualStyleSheet(NULL)
+,	mxActualStyleSheet()
 ,	mpDoc(pDocument)
 {
 	if( mpDoc )

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/attributeproperties.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/attributeproperties.hxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/attributeproperties.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/attributeproperties.hxx Thu Sep  6 10:59:24 2012
@@ -37,6 +37,9 @@ namespace sdr
 		class SVX_DLLPUBLIC AttributeProperties : public DefaultProperties, public SfxListener
 		{
         private:
+            // core to set parent at SfxItemSet and to execute the hard attribute computations
+            void ImpSetParentAtSfxItemSet(bool bDontRemoveHardAttr);
+
 			// add style sheet, do all the necessary handling
 			void ImpAddStyleSheet(SfxStyleSheet* pNewStyleSheet, bool bDontRemoveHardAttr);
 
@@ -66,13 +69,17 @@ namespace sdr
 			// constructor for copying, but using new object
 			AttributeProperties(const AttributeProperties& rProps, SdrObject& rObj);
 
-			// Clone() operator, normally just calls the local copy constructor
-			virtual BaseProperties& Clone(SdrObject& rObj) const;
-
 			// destructor
 			virtual ~AttributeProperties();
 			
-			// set a new StyleSheet and broadcast
+			// Clone() operator, normally just calls the local copy constructor
+			virtual BaseProperties& Clone(SdrObject& rObj) const;
+
+			// Get the local ItemSet. This directly returns the local ItemSet of the object. No
+			// merging of ItemSets is done for e.g. Group objects.
+			virtual const SfxItemSet& GetObjectItemSet() const;
+
+            // set a new StyleSheet and broadcast
 			virtual void SetStyleSheet(SfxStyleSheet* pNewStyleSheet, bool bDontRemoveHardAttr);
 
 			// get the installed StyleSheet

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/customshapeproperties.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/customshapeproperties.hxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/customshapeproperties.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/customshapeproperties.hxx Thu Sep  6 10:59:24 2012
@@ -41,7 +41,7 @@ namespace sdr
 			virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool);
 
 			// test changeability for a single item
-			virtual sal_Bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const;
+			virtual bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const;
 
 			// react on ItemSet changes
 			virtual void ItemSetChanged(const SfxItemSet& rSet);

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/defaultproperties.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/defaultproperties.hxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/defaultproperties.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/defaultproperties.hxx Thu Sep  6 10:59:24 2012
@@ -44,7 +44,7 @@ namespace sdr
 			virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool);
 
 			// test changeability for a single item
-			virtual sal_Bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const;
+			virtual bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const;
 
 			// Do the ItemChange, may do special handling
 			virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0);

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/e3dcompoundproperties.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/e3dcompoundproperties.hxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/e3dcompoundproperties.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/e3dcompoundproperties.hxx Thu Sep  6 10:59:24 2012
@@ -63,7 +63,7 @@ namespace sdr
 			virtual const SfxItemSet& GetMergedItemSet() const;
 
 			// Set merged ItemSet. Normally, this maps to SetObjectItemSet().
-			virtual void SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems = sal_False);
+			virtual void SetMergedItemSet(const SfxItemSet& rSet, bool bClearAllItems = false);
 		};
 	} // end of namespace properties
 } // end of namespace sdr

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/e3dsceneproperties.hxx Thu Sep  6 10:59:24 2012
@@ -62,7 +62,7 @@ namespace sdr
 			virtual const SfxItemSet& GetMergedItemSet() const;
 
 			// Set merged ItemSet. Normally, this maps to SetObjectItemSet().
-			virtual void SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems = sal_False);
+			virtual void SetMergedItemSet(const SfxItemSet& rSet, bool bClearAllItems = false);
 
 			// Set a single item, iterate over hierarchies if necessary.
 			virtual void SetMergedItem(const SfxPoolItem& rItem);

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/emptyproperties.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/emptyproperties.hxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/emptyproperties.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/emptyproperties.hxx Thu Sep  6 10:59:24 2012
@@ -43,7 +43,7 @@ namespace sdr
 			virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool);
 
 			// test changeability for a single item
-			virtual sal_Bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const;
+			virtual bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const;
 
 			// Do the ItemChange, may do special handling
 			virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0);

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/groupproperties.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/groupproperties.hxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/groupproperties.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/groupproperties.hxx Thu Sep  6 10:59:24 2012
@@ -39,7 +39,7 @@ namespace sdr
 			virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& rPool);
 
 			// test changeability for a single item
-			virtual sal_Bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const;
+			virtual bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const;
 
 			// Do the ItemChange, may do special handling
 			virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0);
@@ -74,7 +74,7 @@ namespace sdr
 			virtual const SfxItemSet& GetMergedItemSet() const;
 
 			// Set merged ItemSet. Normally, this maps to SetObjectItemSet().
-			virtual void SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems = sal_False);
+			virtual void SetMergedItemSet(const SfxItemSet& rSet, bool bClearAllItems = false);
 
 			// set single item
 			virtual void SetObjectItem(const SfxPoolItem& rItem);

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/properties.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/properties.hxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/properties.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/properties/properties.hxx Thu Sep  6 10:59:24 2012
@@ -26,6 +26,7 @@
 
 #include <sal/types.h>
 #include "svx/svxdllapi.h"
+#include <boost/utility.hpp>
 
 //////////////////////////////////////////////////////////////////////////////
 // predeclarations
@@ -53,12 +54,14 @@ namespace sdr
 	namespace properties
 	{
 		class SVX_DLLPUBLIC BaseProperties
+        :   private boost::noncopyable
 		{
-		protected:
+        private:
 			// the owner of this Properties. Set from constructor and not
 			// to be changed in any way.
 			SdrObject&										mrObject;
 
+		protected:
 			// create a new object specific itemset with object specific ranges.
 			virtual SfxItemSet& CreateObjectSpecificItemSet(SfxItemPool& pPool) = 0;
 
@@ -70,7 +73,7 @@ namespace sdr
 
 			// Test changeability for a single item. If a implementation wants to prevent
 			// changing an item this method may be overloaded.
-			virtual sal_Bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const = 0;
+			virtual bool AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem = 0) const = 0;
 
 			// Do the internal ItemChange. If only nWhich is given, the item needs to be cleared.
 			// Also needs to handle if nWhich and pNewItem is 0, which means to clear all items.
@@ -114,7 +117,7 @@ namespace sdr
 			virtual void SetObjectItemSet(const SfxItemSet& rSet) = 0;
 
 			// Set merged ItemSet. Normally, this maps to SetObjectItemSet().
-			virtual void SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems = sal_False);
+			virtual void SetMergedItemSet(const SfxItemSet& rSet, bool bClearAllItems = false);
 
 			// Set single item at the local ItemSet. Uses AllowItemChange(),
 			// ItemChange(), PostItemChange() and ItemSetChanged() calls.
@@ -161,7 +164,7 @@ namespace sdr
 			// will be changed these broadcasts will no longer be needed.
 			//void SetItemAndBroadcast(const SfxPoolItem& rItem);
 			//void ClearItemAndBroadcast(const sal_uInt16 nWhich = 0);
-			void SetMergedItemSetAndBroadcast(const SfxItemSet& rSet, sal_Bool bClearAllItems = sal_False);
+			void SetMergedItemSetAndBroadcast(const SfxItemSet& rSet, bool bClearAllItems = false);
 
 			// Just a convenient shortcut for GetObjectItemSet().Get(nWhich).
 			const SfxPoolItem& GetItem(const sal_uInt16 nWhich) const;

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdobj.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdobj.hxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdobj.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdobj.hxx Thu Sep  6 10:59:24 2012
@@ -668,11 +668,11 @@ public:
 	const SfxItemSet& GetMergedItemSet() const;
 	void SetMergedItem(const SfxPoolItem& rItem);
 	void ClearMergedItem(const sal_uInt16 nWhich = 0);
-	void SetMergedItemSet(const SfxItemSet& rSet, bool bClearAllItems = sal_False);
+	void SetMergedItemSet(const SfxItemSet& rSet, bool bClearAllItems = false);
 	const SfxPoolItem& GetMergedItem(const sal_uInt16 nWhich) const;
 
 	// syntactical sugar for ItemSet accesses
-	void SetMergedItemSetAndBroadcast(const SfxItemSet& rSet, bool bClearAllItems = sal_False);
+	void SetMergedItemSetAndBroadcast(const SfxItemSet& rSet, bool bClearAllItems = false);
 
 	// NotPersistAttr fuer Layer, ObjName, geometrische Transformationen, ...
 	void TakeNotPersistAttr(SfxItemSet& rAttr, bool bMerge) const;

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdoedge.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdoedge.hxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdoedge.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdoedge.hxx Thu Sep  6 10:59:24 2012
@@ -26,7 +26,8 @@
 
 #include <svx/svdotext.hxx>
 #include <svx/svdglue.hxx>
-#include "svx/svxdllapi.h"
+#include <svx/svxdllapi.h>
+#include <basegfx/polygon/b2dpolygon.hxx>
 
 //************************************************************
 //   Vorausdeklarationen
@@ -34,10 +35,7 @@
 
 class SdrDragMethod;
 class SdrView;
-
-namespace sdr {	namespace properties {
-	class ConnectorProperties;
-}}
+namespace sdr {	namespace properties { class ConnectorProperties; }}
 
 //************************************************************
 //   Hilfsklasse SdrObjConnection
@@ -51,18 +49,14 @@ private:
 	friend class				SdrCreateView;
 
 protected:
-	Point						aObjOfs;       // Wird beim Draggen eines Knotens gesetzt
-	SdrObject*					pObj;          // Referenziertes Objekt
-	long						nXDist;        // Hor. Objektabstand wenn bXDistOvr=true
-	long						nYDist;        // Vert. Objektabstand wenn bYDistOvr=true
-	sal_uInt16						nConId;        // Konnektornummer
+	basegfx::B2DPoint			maObjOfs;       // Wird beim Draggen eines Knotens gesetzt
+	SdrObject*					mpConnectedSdrObject;          // Referenziertes Objekt
+	sal_uInt16				    mnConnectorId;        // Konnektornummer
 
 	// bitfield
-	bool						bBestConn : 1;   // true= es wird der guenstigste Konnektor gesucht
-	bool						bBestVertex : 1; // true= es wird der guenstigste Scheitelpunkt zum konnekten gesucht
-	bool						bXDistOvr : 1;   // true= Hor. Objektabstand wurde gedragt (Overwrite)
-	bool						bYDistOvr : 1;   // true= Vert. Objektabstand wurde gedragt (Overwrite)
-	bool						bAutoVertex : 1; // AutoConnector am Scheitelpunkt nCon
+	bool						mbBestConnection : 1;   // true= es wird der guenstigste Konnektor gesucht
+	bool						mbBestVertex : 1; // true= es wird der guenstigste Scheitelpunkt zum konnekten gesucht
+	bool						mbAutoVertex : 1; // AutoConnector am Scheitelpunkt nCon
 
 public:
 	SVX_DLLPUBLIC ~SdrObjConnection();
@@ -71,16 +65,16 @@ public:
 	void ResetVars();
 	bool TakeGluePoint(SdrGluePoint& rGP, bool bSetAbsolutePos) const;
 
-	inline void SetBestConnection( bool rB ) { bBestConn = rB; };
-	inline void SetBestVertex( bool rB ) { bBestVertex = rB; };
-	inline void SetAutoVertex( bool rB ) { bAutoVertex = rB; };
-	inline void SetConnectorId( sal_uInt16 nId ) { nConId = nId; };
-
-	inline bool IsBestConnection() const { return bBestConn; };
-	inline bool IsBestVertex() const { return bBestVertex; };
-	inline bool IsAutoVertex() const { return bAutoVertex; };
-	inline sal_uInt16 GetConnectorId() const { return nConId; };
-	inline SdrObject* GetObject() const { return pObj; }
+	inline void SetBestConnection( bool rB ) { mbBestConnection = rB; };
+	inline void SetBestVertex( bool rB ) { mbBestVertex = rB; };
+	inline void SetAutoVertex( bool rB ) { mbAutoVertex = rB; };
+	inline void SetConnectorId( sal_uInt16 nId ) { mnConnectorId = nId; };
+
+	inline bool IsBestConnection() const { return mbBestConnection; };
+	inline bool IsBestVertex() const { return mbBestVertex; };
+	inline bool IsAutoVertex() const { return mbAutoVertex; };
+	inline sal_uInt16 GetConnectorId() const { return mnConnectorId; };
+	inline SdrObject* GetObject() const { return mpConnectedSdrObject; }
 };
 
 //************************************************************
@@ -95,18 +89,18 @@ public:
 	// Die 5 Distanzen werden beim draggen bzw. per SetAttr gesetzt und von
 	// ImpCalcEdgeTrack ausgewertet. Per Get/SetAttr/Get/SetStyleSh werden
 	// jedoch nur 0-3 longs transportiert.
-	Point						aObj1Line2;
-	Point						aObj1Line3;
-	Point						aObj2Line2;
-	Point						aObj2Line3;
-	Point						aMiddleLine;
+	basegfx::B2DPoint			aObj1Line2;
+	basegfx::B2DPoint			aObj1Line3;
+	basegfx::B2DPoint			aObj2Line2;
+	basegfx::B2DPoint			aObj2Line3;
+	basegfx::B2DPoint			aMiddleLine;
 
 	// Nachfolgende Werte werden von ImpCalcEdgeTrack gesetzt
 	long						nAngle1;           // Austrittswinkel am Obj1
 	long						nAngle2;           // Austrittswinkel am Obj2
-	sal_uInt16						nObj1Lines;        // 1..3
-	sal_uInt16						nObj2Lines;        // 1..3
-	sal_uInt16						nMiddleLine;       // 0xFFFF=keine, sonst Punktnummer des Linienbeginns
+	sal_uInt16					nObj1Lines;        // 1..3
+	sal_uInt16					nObj2Lines;        // 1..3
+	sal_uInt16					nMiddleLine;       // 0xFFFF=keine, sonst Punktnummer des Linienbeginns
 	char						cOrthoForm;        // Form des Ortho-Verbindes, z.B. 'Z','U',I','L','S',...
 
 	SdrEdgeInfoRec()
@@ -118,12 +112,12 @@ public:
 		cOrthoForm(0)
 	{}
 
-	Point& ImpGetLineVersatzPoint(SdrEdgeLineCode eLineCode);
-	const Point& ImpGetLineVersatzPoint(SdrEdgeLineCode eLineCode) const { return ((SdrEdgeInfoRec*)this)->ImpGetLineVersatzPoint(eLineCode); }
-	sal_uInt16 ImpGetPolyIdx(SdrEdgeLineCode eLineCode, const XPolygon& rXP) const;
-	bool ImpIsHorzLine(SdrEdgeLineCode eLineCode, const XPolygon& rXP) const;
-	void ImpSetLineVersatz(SdrEdgeLineCode eLineCode, const XPolygon& rXP, long nVal);
-	long ImpGetLineVersatz(SdrEdgeLineCode eLineCode, const XPolygon& rXP) const;
+	basegfx::B2DPoint& ImpGetLineVersatzPoint(SdrEdgeLineCode eLineCode);
+	const basegfx::B2DPoint& ImpGetLineVersatzPoint(SdrEdgeLineCode eLineCode) const { return const_cast< SdrEdgeInfoRec* >(this)->ImpGetLineVersatzPoint(eLineCode); }
+	sal_uInt16 ImpGetPolyIdx(SdrEdgeLineCode eLineCode, sal_uInt32 nPointCount) const;
+	bool ImpIsHorzLine(SdrEdgeLineCode eLineCode, sal_uInt32 nPointCount) const;
+	void ImpSetLineVersatz(SdrEdgeLineCode eLineCode, sal_uInt32 nPointCount, long nVal);
+	long ImpGetLineVersatz(SdrEdgeLineCode eLineCode, sal_uInt32 nPointCount) const;
 };
 
 //************************************************************
@@ -133,12 +127,12 @@ public:
 class SdrEdgeObjGeoData : public SdrObjGeoData
 {
 public:
-	SdrObjConnection			aCon1;  // Verbindungszustand des Linienanfangs
-	SdrObjConnection			aCon2;  // Verbindungszustand des Linienendes
-	XPolygon*					pEdgeTrack;
-	sal_Bool					bEdgeTrackDirty;// true=Verbindungsverlauf muss neu berechnet werden.
-	sal_Bool					bEdgeTrackUserDefined;
-	SdrEdgeInfoRec				aEdgeInfo;
+	SdrObjConnection			maCon1;  // Verbindungszustand des Linienanfangs
+	SdrObjConnection			maCon2;  // Verbindungszustand des Linienendes
+	basegfx::B2DPolygon         maEdgeTrack;
+	bool	    				mbEdgeTrackDirty;// true=Verbindungsverlauf muss neu berechnet werden.
+	bool    					mbEdgeTrackUserDefined;
+	SdrEdgeInfoRec				maEdgeInfo;
 
 	SdrEdgeObjGeoData();
 	virtual ~SdrEdgeObjGeoData();
@@ -161,41 +155,36 @@ protected:
 	virtual sdr::contact::ViewContact* CreateObjectSpecificViewContact();
 	virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties();
 
-    SdrObjConnection			aCon1;  // Verbindungszustand des Linienanfangs
-	SdrObjConnection			aCon2;  // Verbindungszustand des Linienendes
+    SdrObjConnection			maCon1;  // Verbindungszustand des Linienanfangs
+	SdrObjConnection			maCon2;  // Verbindungszustand des Linienendes
 
-	XPolygon*					pEdgeTrack;
-	sal_uInt16					nNotifyingCount; // Verrieglung
-	SdrEdgeInfoRec				aEdgeInfo;
+	basegfx::B2DPolygon         maEdgeTrack;
+	SdrEdgeInfoRec				maEdgeInfo;
 
 	// bitfield
-	bool						bEdgeTrackDirty : 1; // true=Verbindungsverlauf muss neu berechnet werden.
-	bool						bEdgeTrackUserDefined : 1;
+	bool						mbEdgeTrackDirty : 1; // true=Verbindungsverlauf muss neu berechnet werden.
+	bool						mbEdgeTrackUserDefined : 1;
 
 	// #109007#
 	// Bool to allow supporession of default connects at object
 	// inside test (HitTest) and object center test (see FindConnector())
 	bool						mbSuppressDefaultConnect : 1;
 
-	// #110649#
-	// Flag value for avoiding death loops when calculating BoundRects
-	// from circularly connected connectors. A coloring algorythm is used
-	// here. When the GetCurrentBoundRect() calculation of a SdrEdgeObj
-	// is running, the flag is set, else it is always sal_False.
-	bool						mbBoundRectCalculationRunning : 1;
-
 	virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint);
 
-	XPolygon ImpCalcObjToCenter(const Point& rStPt, long nEscAngle, const Rectangle& rRect, const Point& rCenter) const;
 	void ImpRecalcEdgeTrack();  // Neuberechnung des Verbindungsverlaufs
-	XPolygon ImpCalcEdgeTrack(const XPolygon& rTrack0, SdrObjConnection& rCon1, SdrObjConnection& rCon2, SdrEdgeInfoRec* pInfo) const;
-	XPolygon ImpCalcEdgeTrack(const Point& rPt1, long nAngle1, const Rectangle& rBoundRect1, const Rectangle& rBewareRect1,
-		const Point& rPt2, long nAngle2, const Rectangle& rBoundRect2, const Rectangle& rBewareRect2,
-		sal_uInt32* pnQuality, SdrEdgeInfoRec* pInfo) const;
-	static void FindConnector(const Point aPt, const SdrView& rSdrView, SdrObjConnection& rCon, const SdrEdgeObj* pThis, OutputDevice* pOut = 0);
-	sal_uInt16 ImpCalcEscAngle(SdrObject* pObj, const Point& aPt2) const;
-	bool ImpStripPolyPoints(XPolygon& rXP) const; // entfernen ueberfluessiger Punkte
-	void ImpSetTailPoint(bool bTail1, const Point& rPt);
+	basegfx::B2DPolygon ImpCalcEdgeTrack(
+        SdrObjConnection& rCon1, 
+        SdrObjConnection& rCon2, 
+        SdrEdgeInfoRec* pInfo) const;
+	static void FindConnector(
+        const basegfx::B2DPoint& rPt, 
+        const SdrView& rSdrView, 
+        SdrObjConnection& rCon, 
+        const SdrEdgeObj* pThis, 
+        OutputDevice* pOut = 0);
+	sal_uInt16 ImpCalcEscAngle(SdrObject* pObj, const basegfx::B2DPoint& aPt2) const;
+	void ImpSetTailPoint(bool bTail1, const basegfx::B2DPoint& rPt);
 	void ImpUndirtyEdgeTrack();  // eventuelle Neuberechnung des Verbindungsverlaufs
 	void ImpDirtyEdgeTrack();	// invalidate connector path, so it will be recalculated next time
 	void ImpSetAttrToEdgeInfo(); // Werte vom Pool nach aEdgeInfo kopieren
@@ -212,18 +201,15 @@ public:
 
 	// #109007#
 	// Interface to default connect suppression
-	void SetSuppressDefaultConnect(sal_Bool bNew) { mbSuppressDefaultConnect = bNew; }
-	sal_Bool GetSuppressDefaultConnect() const { return mbSuppressDefaultConnect; }
-
-	// #110649#
-	sal_Bool IsBoundRectCalculationRunning() const { return mbBoundRectCalculationRunning; }
+	void SetSuppressDefaultConnect(bool bNew) { mbSuppressDefaultConnect = bNew; }
+	bool GetSuppressDefaultConnect() const { return mbSuppressDefaultConnect; }
 
 	virtual bool IsSdrEdgeObj() const;
 	virtual bool IsClosedObj() const;
 
 	SdrEdgeObj(SdrModel& rSdrModel);
 
-	SdrObjConnection& GetConnection(bool bTail1) { return *(bTail1 ? &aCon1 : &aCon2); }
+	SdrObjConnection& GetConnection(bool bTail1) { return *(bTail1 ? &maCon1 : &maCon2); }
 	virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const;
 	virtual sal_uInt16 GetObjIdentifier() const;
 	virtual SdrGluePoint GetVertexGluePoint(sal_uInt32 nNum) const;
@@ -232,18 +218,18 @@ public:
 
 	// bTail1=true: Linienanfang, sonst LinienEnde
 	// pObj=NULL: Disconnect
-	void SetEdgeTrackDirty() { bEdgeTrackDirty=true; }
+	void SetEdgeTrackDirty() { mbEdgeTrackDirty = true; }
 	void ConnectToNode(bool bTail1, SdrObject* pObj);
 	void DisconnectFromNode(bool bTail1);
 	SdrObject* GetConnectedNode(bool bTail1) const;
-	const SdrObjConnection& GetConnection(bool bTail1) const { return *(bTail1 ? &aCon1 : &aCon2); }
+	const SdrObjConnection& GetConnection(bool bTail1) const { return *(bTail1 ? &maCon1 : &maCon2); }
 	bool CheckNodeConnection(bool bTail1) const;
 
 	virtual void TakeObjNameSingul(String& rName) const;
 	virtual void TakeObjNamePlural(String& rName) const;
 
-	void	SetEdgeTrackPath( const basegfx::B2DPolyPolygon& rPoly );
-	basegfx::B2DPolyPolygon GetEdgeTrackPath() const;
+	void SetEdgeTrackPath( const basegfx::B2DPolygon& rPoly );
+	basegfx::B2DPolygon GetEdgeTrackPath() const;
 
 	virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
 	sal_uInt32 impOldGetHdlCount() const;
@@ -289,16 +275,18 @@ public:
 	// helper methods for the StarOffice api
 	basegfx::B2DPoint GetTailPoint( bool bTail ) const;
 	void SetTailPoint( bool bTail, const basegfx::B2DPoint& rPt );
-	void setGluePointIndex( sal_Bool bTail, sal_Int32 nId = -1 );
-	sal_Int32 getGluePointIndex( sal_Bool bTail );
+	void setGluePointIndex( bool bTail, sal_Int32 nId = -1 );
+	sal_Int32 getGluePointIndex( bool bTail );
 
 	// for geometry access
-	::basegfx::B2DPolygon getEdgeTrack() const;
+//	::basegfx::B2DPolygon getEdgeTrack() const;
 
 	// helper method for SdrDragMethod::AddConnectorOverlays. Adds a overlay polygon for
 	// this connector to rResult.
 	basegfx::B2DPolygon ImplAddConnectorOverlay(SdrDragMethod& rDragMethod, bool bTail1, bool bTail2, bool bDetail) const;
 
+	// get/setSdrObjectTransformation
+	virtual const basegfx::B2DHomMatrix& getSdrObjectTransformation() const;
 	virtual void setSdrObjectTransformation(const basegfx::B2DHomMatrix& rTransformation);
 };
 

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdredgeobj.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdredgeobj.cxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdredgeobj.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdredgeobj.cxx Thu Sep  6 10:59:24 2012
@@ -46,7 +46,7 @@ namespace sdr
 
 		drawinglayer::primitive2d::Primitive2DSequence ViewContactOfSdrEdgeObj::createViewIndependentPrimitive2DSequence() const
 		{
-			const basegfx::B2DPolygon& rEdgeTrack = GetEdgeObj().getEdgeTrack();
+			const basegfx::B2DPolygon& rEdgeTrack = GetEdgeObj().GetEdgeTrackPath();
 
             // what to do when no EdgeTrack is provided (HitTest and selectability) ?
 			OSL_ENSURE(0 != rEdgeTrack.count(), "Connectors with no geometry are not allowed (!)");

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/attributeproperties.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/attributeproperties.cxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/attributeproperties.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/attributeproperties.cxx Thu Sep  6 10:59:24 2012
@@ -55,31 +55,14 @@ namespace sdr
 {
 	namespace properties
 	{
-		void AttributeProperties::ImpAddStyleSheet(SfxStyleSheet* pNewStyleSheet, bool bDontRemoveHardAttr)
-		{
-			// test if old StyleSheet is cleared
-			if(GetStyleSheet())
+        void AttributeProperties::ImpSetParentAtSfxItemSet(bool bDontRemoveHardAttr)
+        {
+            if(mpItemSet && mpStyleSheet)
             {
-    			DBG_ASSERT(!mpStyleSheet, "Old style sheet not deleted before setting new one (!)");
-                ImpRemoveStyleSheet();
-            }
-
-			if(pNewStyleSheet)
-			{
-                // remember StyleSheet
-				mpStyleSheet = pNewStyleSheet;
-
-				// local ItemSet is needed here, force it
-				GetObjectItemSet();
-
-				// register as listener
-				StartListening(pNewStyleSheet->GetPool());
-				StartListening(*pNewStyleSheet);
-
 				// Delete hard attributes where items are set in the style sheet
 				if(!bDontRemoveHardAttr)
 				{
-					const SfxItemSet& rStyle = pNewStyleSheet->GetItemSet();
+					const SfxItemSet& rStyle = mpStyleSheet->GetItemSet();
 					SfxWhichIter aIter(rStyle);
 					sal_uInt16 nWhich = aIter.FirstWhich();
 
@@ -95,7 +78,37 @@ namespace sdr
 				}
 
 				// set new stylesheet as parent
-				mpItemSet->SetParent(&pNewStyleSheet->GetItemSet());
+				mpItemSet->SetParent(&mpStyleSheet->GetItemSet());
+            }
+            else
+            {
+                OSL_ENSURE(false, "ImpSetParentAtSfxItemSet called without SfxItemSet/SfxStyleSheet (!)");
+            }
+        }
+
+		void AttributeProperties::ImpAddStyleSheet(SfxStyleSheet* pNewStyleSheet, bool bDontRemoveHardAttr)
+		{
+			// test if old StyleSheet is cleared
+			if(GetStyleSheet())
+            {
+    			OSL_ENSURE(false, "Old style sheet not deleted before setting new one (!)");
+                ImpRemoveStyleSheet();
+            }
+
+			if(pNewStyleSheet)
+			{
+                // remember StyleSheet
+				mpStyleSheet = pNewStyleSheet;
+
+				// register as listener
+				StartListening(pNewStyleSheet->GetPool());
+				StartListening(*pNewStyleSheet);
+
+                // only apply the following when we have an SfxItemSet already, else 
+                if(mpItemSet && GetStyleSheet())
+                {
+                    ImpSetParentAtSfxItemSet(bDontRemoveHardAttr);
+                }
 			}
 		}
 
@@ -212,7 +225,7 @@ namespace sdr
 					if(GetStyleSheet() != pForThisObject)
 					{
 						ImpRemoveStyleSheet();
-						ImpAddStyleSheet((SfxStyleSheet*)pForThisObject, sal_True);
+						ImpAddStyleSheet((SfxStyleSheet*)pForThisObject, true);
 					}
 				}
 				else
@@ -292,8 +305,17 @@ namespace sdr
 		:	DefaultProperties(rObj),
 			mpStyleSheet(0)
 		{
-            // use default stylesheet #119287# 
-            SfxStyleSheet* pTargetStyleSheet = GetSdrObject().getDefaultStyleSheet();
+            // use correct default stylesheet #119287#
+            SfxStyleSheet* pTargetStyleSheet = 0;
+
+            if(SdrInventor == GetSdrObject().GetObjInventor() && (OBJ_GRAF == GetSdrObject().GetObjIdentifier() || OBJ_OLE2 == GetSdrObject().GetObjIdentifier()))
+            {
+                pTargetStyleSheet = GetSdrObject().getSdrModelFromSdrObject().GetDefaultStyleSheetForSdrGrafObjAndSdrOle2Obj();
+            }
+            else
+            {
+                pTargetStyleSheet = GetSdrObject().getSdrModelFromSdrObject().GetDefaultStyleSheet();
+            }
 
             if(pTargetStyleSheet)
             {
@@ -318,8 +340,19 @@ namespace sdr
 
             if(!pTargetStyleSheet)
             {
-                // use default stylesheet
-                pTargetStyleSheet = GetSdrObject().getSdrModelFromSdrObject().GetDefaultStyleSheet();
+                // use correct default stylesheet #119287#
+                // this should not happen, all SDrObjects should have a default StyleSheet, so cloning
+                // one without is an error. Still add one, but assert user
+                OSL_ENSURE(false, "Cloning SdrObject without SfxStyleSheet, all should have a default StyleSheet (!)");
+
+                if(SdrInventor == GetSdrObject().GetObjInventor() && (OBJ_GRAF == GetSdrObject().GetObjIdentifier() || OBJ_OLE2 == GetSdrObject().GetObjIdentifier()))
+                {
+                    pTargetStyleSheet = GetSdrObject().getSdrModelFromSdrObject().GetDefaultStyleSheetForSdrGrafObjAndSdrOle2Obj();
+                }
+                else
+                {
+                    pTargetStyleSheet = GetSdrObject().getSdrModelFromSdrObject().GetDefaultStyleSheet();
+                }
             }
 
             if(pTargetStyleSheet)
@@ -338,6 +371,20 @@ namespace sdr
 			return *(new AttributeProperties(*this, rObj));
 		}
 
+		const SfxItemSet& AttributeProperties::GetObjectItemSet() const
+        {
+            // call parent
+            DefaultProperties::GetObjectItemSet();
+
+            // Late-Init of setting parent to SfxStyleSheet after it's creation, same as in constructor
+            if(GetStyleSheet() && !mpItemSet->GetParent())
+            {
+                const_cast< AttributeProperties* >(this)->ImpSetParentAtSfxItemSet(true);
+            }
+
+            return *mpItemSet;
+        }
+
 		void AttributeProperties::ItemSetChanged(const SfxItemSet& /*rSet*/)
 		{
 			// own modifications
@@ -526,7 +573,7 @@ namespace sdr
 
 						if(pNewStSh)
 						{
-							ImpAddStyleSheet(pNewStSh, sal_True);
+							ImpAddStyleSheet(pNewStSh, true);
 						}
 
 						break;

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/customshapeproperties.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/customshapeproperties.cxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/customshapeproperties.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/customshapeproperties.cxx Thu Sep  6 10:59:24 2012
@@ -73,7 +73,8 @@ namespace sdr
 				// end
 				0, 0));
 		}
-		sal_Bool CustomShapeProperties::AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem ) const
+		
+        bool CustomShapeProperties::AllowItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem ) const
 		{
 			sal_Bool bAllowItemChange = sal_True;
 			if ( !pNewItem )
@@ -85,7 +86,8 @@ namespace sdr
 				bAllowItemChange = TextProperties::AllowItemChange( nWhich, pNewItem );
 			return bAllowItemChange;
 		}
-		void CustomShapeProperties::ClearObjectItem(const sal_uInt16 nWhich)
+
+        void CustomShapeProperties::ClearObjectItem(const sal_uInt16 nWhich)
 		{
 			if ( !nWhich )
 			{
@@ -102,7 +104,8 @@ namespace sdr
 			else
 				TextProperties::ClearObjectItem( nWhich );
 		}
-		void CustomShapeProperties::ClearObjectItemDirect(const sal_uInt16 nWhich)
+		
+        void CustomShapeProperties::ClearObjectItemDirect(const sal_uInt16 nWhich)
 		{
 			if ( !nWhich )
 			{
@@ -117,7 +120,8 @@ namespace sdr
 			else
 				TextProperties::ClearObjectItemDirect( nWhich );
 		}
-		void CustomShapeProperties::ItemSetChanged(const SfxItemSet& rSet)
+		
+        void CustomShapeProperties::ItemSetChanged(const SfxItemSet& rSet)
 		{
 			SdrObjCustomShape& rObj = (SdrObjCustomShape&)GetSdrObject();
 
@@ -132,7 +136,8 @@ namespace sdr
 			// local changes, removing cached objects
 			rObj.InvalidateRenderGeometry();
 		}
-		void CustomShapeProperties::ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem)
+		
+        void CustomShapeProperties::ItemChange(const sal_uInt16 nWhich, const SfxPoolItem* pNewItem)
 		{
 			SdrObjCustomShape& rObj = (SdrObjCustomShape&)GetSdrObject();
 			//OutlinerParaObject* pParaObj = rObj.GetOutlinerParaObject();
@@ -146,12 +151,14 @@ namespace sdr
 
 			rObj.InvalidateRenderGeometry();
 		}
-		void CustomShapeProperties::SetStyleSheet(SfxStyleSheet* pNewStyleSheet, bool bDontRemoveHardAttr)
+		
+        void CustomShapeProperties::SetStyleSheet(SfxStyleSheet* pNewStyleSheet, bool bDontRemoveHardAttr)
 		{
 			TextProperties::SetStyleSheet( pNewStyleSheet, bDontRemoveHardAttr );
 			UpdateTextFrameStatus();
 		}
-		void CustomShapeProperties::ForceDefaultAttributes()
+		
+        void CustomShapeProperties::ForceDefaultAttributes()
 		{
 			UpdateTextFrameStatus();
 
@@ -177,7 +184,8 @@ namespace sdr
 			}
 */
 		}
-		CustomShapeProperties::CustomShapeProperties(SdrObject& rObj)
+		
+        CustomShapeProperties::CustomShapeProperties(SdrObject& rObj)
 		:	TextProperties(rObj)
 		{
 		}

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/defaultproperties.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/defaultproperties.cxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/defaultproperties.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/defaultproperties.cxx Thu Sep  6 10:59:24 2012
@@ -48,13 +48,13 @@ namespace sdr
 
 		DefaultProperties::DefaultProperties(SdrObject& rObj)
 		:	BaseProperties(rObj),
-			mpItemSet(0L)
+			mpItemSet(0)
 		{
 		}
 
 		DefaultProperties::DefaultProperties(const DefaultProperties& rProps, SdrObject& rObj)
 		:	BaseProperties(rObj),
-			mpItemSet(0L)
+			mpItemSet(0)
 		{
 			if(rProps.mpItemSet)
 			{
@@ -65,7 +65,7 @@ namespace sdr
 				// This class just copies the ItemSet, ignore parent.
 				if(mpItemSet && mpItemSet->GetParent())
 				{
-					mpItemSet->SetParent(0L);
+					mpItemSet->SetParent(0);
 				}
 			}
 		}
@@ -80,7 +80,7 @@ namespace sdr
 			if(mpItemSet)
 			{
 				delete mpItemSet;
-				mpItemSet = 0L;
+				mpItemSet = 0;
 			}
 		}
 		
@@ -193,7 +193,7 @@ namespace sdr
 		{
 		}
 
-		sal_Bool DefaultProperties::AllowItemChange(const sal_uInt16 /*nWhich*/, const SfxPoolItem* /*pNewItem*/) const
+		bool DefaultProperties::AllowItemChange(const sal_uInt16 /*nWhich*/, const SfxPoolItem* /*pNewItem*/) const
 		{
 			return sal_True;
 		}

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/e3dcompoundproperties.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/e3dcompoundproperties.cxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/e3dcompoundproperties.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/e3dcompoundproperties.cxx Thu Sep  6 10:59:24 2012
@@ -80,7 +80,7 @@ namespace sdr
 			return E3dProperties::GetMergedItemSet();
 		}
 
-		void E3dCompoundProperties::SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems)
+		void E3dCompoundProperties::SetMergedItemSet(const SfxItemSet& rSet, bool bClearAllItems)
 		{
 			// Set scene specific items at scene
 			E3dCompoundObject& rObj = (E3dCompoundObject&)GetSdrObject();

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/e3dsceneproperties.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/e3dsceneproperties.cxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/e3dsceneproperties.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/e3dsceneproperties.cxx Thu Sep  6 10:59:24 2012
@@ -117,7 +117,7 @@ namespace sdr
 			return E3dProperties::GetMergedItemSet();
 		}
 
-		void E3dSceneProperties::SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems)
+		void E3dSceneProperties::SetMergedItemSet(const SfxItemSet& rSet, bool bClearAllItems)
 		{
 			// Set SDRATTR_3DOBJ_ range at contained objects.
 			const SdrObjList* pSub = GetSdrObject().getChildrenOfSdrObject();

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/emptyproperties.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/emptyproperties.cxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/emptyproperties.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/emptyproperties.cxx Thu Sep  6 10:59:24 2012
@@ -117,7 +117,7 @@ namespace sdr
 			DBG_ASSERT(sal_False, "EmptyProperties::ItemSetChanged() should never be called (!)");
 		}
 
-		sal_Bool EmptyProperties::AllowItemChange(const sal_uInt16 /*nWhich*/, const SfxPoolItem* /*pNewItem*/) const
+		bool EmptyProperties::AllowItemChange(const sal_uInt16 /*nWhich*/, const SfxPoolItem* /*pNewItem*/) const
 		{
 			DBG_ASSERT(sal_False, "EmptyProperties::AllowItemChange() should never be called (!)");
 			return sal_True;

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/groupproperties.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/groupproperties.cxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/groupproperties.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/groupproperties.cxx Thu Sep  6 10:59:24 2012
@@ -116,7 +116,7 @@ namespace sdr
 			return *mpItemSet;
 		}
 
-		void GroupProperties::SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems)
+		void GroupProperties::SetMergedItemSet(const SfxItemSet& rSet, bool bClearAllItems)
 		{
 			// iterate over contained SdrObjects
 			const SdrObjList* pSub = GetSdrObject().getChildrenOfSdrObject();
@@ -190,7 +190,7 @@ namespace sdr
 			DBG_ASSERT(sal_False, "GroupProperties::ItemSetChanged() should never be called (!)");
 		}
 
-		sal_Bool GroupProperties::AllowItemChange(const sal_uInt16 /*nWhich*/, const SfxPoolItem* /*pNewItem*/) const
+		bool GroupProperties::AllowItemChange(const sal_uInt16 /*nWhich*/, const SfxPoolItem* /*pNewItem*/) const
 		{
 			DBG_ASSERT(sal_False, "GroupProperties::AllowItemChange() should never be called (!)");
 			return sal_False;

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/properties.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/properties.cxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/properties.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/properties/properties.cxx Thu Sep  6 10:59:24 2012
@@ -37,12 +37,14 @@ namespace sdr
 	namespace properties
 	{
 		BaseProperties::BaseProperties(SdrObject& rObj)
-		:	mrObject(rObj)
+		:	boost::noncopyable(),
+            mrObject(rObj)
 		{
 		}
 
 		BaseProperties::BaseProperties(const BaseProperties& /*rProps*/, SdrObject& rObj)
-		:	mrObject(rObj)
+		:	boost::noncopyable(),
+            mrObject(rObj)
 		{
 		}
 
@@ -56,7 +58,7 @@ namespace sdr
 			return GetObjectItemSet();
 		}
 
-		void BaseProperties::SetMergedItemSet(const SfxItemSet& rSet, sal_Bool bClearAllItems)
+		void BaseProperties::SetMergedItemSet(const SfxItemSet& rSet, bool bClearAllItems)
 		{
 			// clear items if requested
 			if(bClearAllItems)
@@ -93,7 +95,7 @@ namespace sdr
 			// Overload where an ItemSet is implemented.
 		}
 
-		void BaseProperties::SetMergedItemSetAndBroadcast(const SfxItemSet& rSet, sal_Bool bClearAllItems)
+		void BaseProperties::SetMergedItemSetAndBroadcast(const SfxItemSet& rSet, bool bClearAllItems)
 		{
 			ItemChangeBroadcaster aC(GetSdrObject());
 		

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=1381553&r1=1381552&r2=1381553&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 Sep  6 10:59:24 2012
@@ -292,7 +292,7 @@ bool SdrCreateView::CheckEdgeMode()
 
 void SdrCreateView::SetConnectMarker(const SdrObjConnection& rCon)
 {
-	SdrObject* pTargetObject = rCon.pObj;
+	SdrObject* pTargetObject = rCon.GetObject();
 
 	if(pTargetObject) 
 	{
@@ -330,8 +330,7 @@ bool SdrCreateView::MouseMove(const Mous
 			
 			if(!bMarkHit) 
 			{
-				const Point aOldPoint(basegfx::fround(aLogic.getX()), basegfx::fround(aLogic.getY()));
-				SdrEdgeObj::FindConnector(aOldPoint, *getAsSdrView(), aCon, 0, pWin);
+				SdrEdgeObj::FindConnector(aLogic, *getAsSdrView(), aCon, 0, pWin);
 			}
 
 			SetConnectMarker(aCon);

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdhdl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdhdl.cxx?rev=1381553&r1=1381552&r2=1381553&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdhdl.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdhdl.cxx Thu Sep  6 10:59:24 2012
@@ -2009,11 +2009,11 @@ bool ImpEdgeHdl::IsHorzDrag() const
 	    }
 
 		SdrEdgeKind eEdgeKind = ((SdrEdgeKindItem&)(pEdge->GetObjectItem(SDRATTR_EDGEKIND))).GetValue();
-		const SdrEdgeInfoRec& rInfo = pEdge->aEdgeInfo;
+		const SdrEdgeInfoRec& rInfo = pEdge->maEdgeInfo;
 
 		if(SDREDGE_ORTHOLINES == eEdgeKind || SDREDGE_BEZIER == eEdgeKind) 
 		{
-			return !rInfo.ImpIsHorzLine(eLineCode, *pEdge->pEdgeTrack);
+			return !rInfo.ImpIsHorzLine(eLineCode, pEdge->maEdgeTrack.count());
 		}
 		else if(SDREDGE_THREELINES == eEdgeKind) 
 		{



Mime
View raw message