incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From p..@apache.org
Subject svn commit: r1182166 - in /incubator/ooo/trunk/main: filter/source/msfilter/ sc/source/ui/drawfunc/ sc/source/ui/view/ sd/source/ui/app/ sd/source/ui/func/ sd/source/ui/view/ svx/inc/svx/ svx/source/engine3d/ svx/source/sdr/primitive2d/ svx/source/svdr...
Date Wed, 12 Oct 2011 01:30:29 GMT
Author: pfg
Date: Wed Oct 12 01:30:28 2011
New Revision: 1182166

URL: http://svn.apache.org/viewvc?rev=1182166&view=rev
Log:
118485 - Styles for OLEs are not saved. Submitted by Armin Le Grand.

Modified:
    incubator/ooo/trunk/main/filter/source/msfilter/escherex.cxx
    incubator/ooo/trunk/main/sc/source/ui/drawfunc/objdraw.src
    incubator/ooo/trunk/main/sc/source/ui/view/tabvwshb.cxx
    incubator/ooo/trunk/main/sd/source/ui/app/popup2_tmpl.src
    incubator/ooo/trunk/main/sd/source/ui/func/fupoor.cxx
    incubator/ooo/trunk/main/sd/source/ui/view/drviews7.cxx
    incubator/ooo/trunk/main/sd/source/ui/view/viewshe2.cxx
    incubator/ooo/trunk/main/svx/inc/svx/cube3d.hxx
    incubator/ooo/trunk/main/svx/inc/svx/lathe3d.hxx
    incubator/ooo/trunk/main/svx/inc/svx/polygn3d.hxx
    incubator/ooo/trunk/main/svx/inc/svx/sphere3d.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdoashp.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdobj.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdocapt.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdocirc.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdoedge.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdograf.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdogrp.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdomeas.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdoole2.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdopath.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdorect.hxx
    incubator/ooo/trunk/main/svx/inc/svx/svdotext.hxx
    incubator/ooo/trunk/main/svx/inc/svx/unoshape.hxx
    incubator/ooo/trunk/main/svx/source/engine3d/cube3d.cxx
    incubator/ooo/trunk/main/svx/source/engine3d/lathe3d.cxx
    incubator/ooo/trunk/main/svx/source/engine3d/polygn3d.cxx
    incubator/ooo/trunk/main/svx/source/engine3d/sphere3d.cxx
    incubator/ooo/trunk/main/svx/source/sdr/primitive2d/sdrattributecreator.cxx
    incubator/ooo/trunk/main/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdfmtf.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdoashp.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdobj.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdocapt.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdocirc.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdoedge.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdograf.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdogrp.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdomeas.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdoole2.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdopath.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdorect.cxx
    incubator/ooo/trunk/main/svx/source/svdraw/svdotxtr.cxx
    incubator/ooo/trunk/main/svx/source/unodraw/unoprov.cxx
    incubator/ooo/trunk/main/svx/source/unodraw/unoshap4.cxx
    incubator/ooo/trunk/main/svx/source/unodraw/unoshape.cxx
    incubator/ooo/trunk/main/xmloff/inc/xmloff/xmlimp.hxx
    incubator/ooo/trunk/main/xmloff/source/core/xmlimp.cxx
    incubator/ooo/trunk/main/xmloff/source/draw/shapeexport.cxx
    incubator/ooo/trunk/main/xmloff/source/draw/shapeexport2.cxx
    incubator/ooo/trunk/main/xmloff/source/draw/ximpshap.cxx

Modified: incubator/ooo/trunk/main/filter/source/msfilter/escherex.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/filter/source/msfilter/escherex.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/filter/source/msfilter/escherex.cxx (original)
+++ incubator/ooo/trunk/main/filter/source/msfilter/escherex.cxx Wed Oct 12 01:30:28 2011
@@ -4189,7 +4189,7 @@ sal_uInt32 EscherConnectorListEntry::Get
 				}
 				else if ( nGluePointType == com::sun::star::drawing::EnhancedCustomShapeGluePointType::SEGMENTS )
 				{
-					SdrObject* pPoly = pCustoShape->DoConvertToPolyObj( sal_True );
+					SdrObject* pPoly = pCustoShape->DoConvertToPolyObj( sal_True, true );
 					if ( pPoly && pPoly->ISA( SdrPathObj ) )
 					{
 						sal_Int16 a, b, nIndex = 0;

Modified: incubator/ooo/trunk/main/sc/source/ui/drawfunc/objdraw.src
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sc/source/ui/drawfunc/objdraw.src?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sc/source/ui/drawfunc/objdraw.src (original)
+++ incubator/ooo/trunk/main/sc/source/ui/drawfunc/objdraw.src Wed Oct 12 01:30:28 2011
@@ -605,6 +605,12 @@ Menu RID_POPUP_OLE
 {
 	ItemList =
 	{
+		//-#i118485# Added support for Line,Area and Text
+		MenuItem { ITEM_FORMAT_ATTRIBUTES_LINE };
+		MenuItem { ITEM_FORMAT_ATTRIBUTES_AREA };
+		MN_DRWTXTATTR
+		//-#i118485#----------------------
+
 		MenuItem { ITEM_FORMAT_ATTR_TRANSFORM };
 		MN_ORIGINALSIZE
 
@@ -635,6 +641,12 @@ Menu RID_POPUP_CHART
 {
 	ItemList =
 	{
+		//-#i118485# Added support for Line,Area and Text
+		MenuItem { ITEM_FORMAT_ATTRIBUTES_LINE };
+		MenuItem { ITEM_FORMAT_ATTRIBUTES_AREA };
+		MN_DRWTXTATTR
+		//-#i118485#----------------------
+
 		MenuItem { ITEM_FORMAT_ATTR_TRANSFORM };
 		MN_ORIGINALSIZE
 

Modified: incubator/ooo/trunk/main/sc/source/ui/view/tabvwshb.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sc/source/ui/view/tabvwshb.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sc/source/ui/view/tabvwshb.cxx (original)
+++ incubator/ooo/trunk/main/sc/source/ui/view/tabvwshb.cxx Wed Oct 12 01:30:28 2011
@@ -138,7 +138,16 @@ sal_Bool ScTabViewShell::ActivateObject(
         if ( !(nErr & ERRCODE_ERROR_MASK) && xObj.is() )
 		{
 			Rectangle aRect = pObj->GetLogicRect();
-			Size aDrawSize = aRect.GetSize();
+
+            {   
+                // #i118485# center on BoundRect for activation,
+                // OLE may be sheared/rotated now
+        	    const Rectangle& rBoundRect = pObj->GetCurrentBoundRect();
+                const Point aDelta(rBoundRect.Center() - aRect.Center());
+                aRect.Move(aDelta.X(), aDelta.Y());
+            }
+
+            Size aDrawSize = aRect.GetSize();
 
 			MapMode aMapMode( MAP_100TH_MM );
 			Size aOleSize = pObj->GetOrigObjSize( &aMapMode );

Modified: incubator/ooo/trunk/main/sd/source/ui/app/popup2_tmpl.src
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sd/source/ui/app/popup2_tmpl.src?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sd/source/ui/app/popup2_tmpl.src (original)
+++ incubator/ooo/trunk/main/sd/source/ui/app/popup2_tmpl.src Wed Oct 12 01:30:28 2011
@@ -636,11 +636,26 @@
 	{
 		MN_TRANSFORM
 		MN_ORIGINAL_SIZE
+
+		//-#i118485# Added support for Line,Area and Text
+		MN_LINE
+		MN_AREA
+		SEPARATOR
+		MN_CHAR_PARAGRAPH
+		SEPARATOR
+		//-#i118485#----------------------
+
 		MN_OLE_OBJECT
 		SEPARATOR
-		MN_POSITION
 		MN_OBJECT_ALIGN
+		MN_POSITION
 		MN_DISTRIBUTE
+
+		//-#i118485# Added support for conversions
+		MNSUB_MIRROR
+		MNSUB_CONVERT
+		//-#i118485#----------------------
+
 		MN_BREAK
 
 		//-#i68101#----------------------

Modified: incubator/ooo/trunk/main/sd/source/ui/func/fupoor.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sd/source/ui/func/fupoor.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sd/source/ui/func/fupoor.cxx (original)
+++ incubator/ooo/trunk/main/sd/source/ui/func/fupoor.cxx Wed Oct 12 01:30:28 2011
@@ -884,7 +884,8 @@ sal_Bool FuPoor::KeyInput(const KeyEvent
 			{
 				SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
 
-				if(pObj->ISA(SdrTextObj) && pObj->HasTextEdit() && !pObj->ISA(SdrOle2Obj))
+                // #i118485# allow TextInput for OLEs, too
+				if(pObj->ISA(SdrTextObj) && pObj->HasTextEdit())
 				{
 					// #98533# use common IsSimpleCharInput from
 					// the EditEngine.

Modified: incubator/ooo/trunk/main/sd/source/ui/view/drviews7.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sd/source/ui/view/drviews7.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sd/source/ui/view/drviews7.cxx (original)
+++ incubator/ooo/trunk/main/sd/source/ui/view/drviews7.cxx Wed Oct 12 01:30:28 2011
@@ -1424,9 +1424,9 @@ void DrawViewShell::GetMenuState( SfxIte
 						bFoundNoGraphicObj = sal_True;
 						break;
 					case OBJ_OLE2 :
-						bFoundObjNoLine      = sal_True;
-						bFoundObjNoArea      = sal_True;
-						bFoundNoGraphicObj = sal_True;
+						// #i118485# Allow Line, Area and Graphic (Metafile)
+						bSingleGraphicSelected = nMarkCount == 1;
+    					bFoundMetafile = sal_True;
 						break;
 					case OBJ_GRAF :
 						bSingleGraphicSelected = nMarkCount == 1;

Modified: incubator/ooo/trunk/main/sd/source/ui/view/viewshe2.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sd/source/ui/view/viewshe2.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sd/source/ui/view/viewshe2.cxx (original)
+++ incubator/ooo/trunk/main/sd/source/ui/view/viewshe2.cxx Wed Oct 12 01:30:28 2011
@@ -951,6 +951,15 @@ sal_Bool ViewShell::ActivateObject(SdrOl
 		}
 
 		Rectangle aRect = pObj->GetLogicRect();
+
+        {   
+            // #i118485# center on BoundRect for activation,
+            // OLE may be sheared/rotated now
+        	const Rectangle& rBoundRect = pObj->GetCurrentBoundRect();
+            const Point aDelta(rBoundRect.Center() - aRect.Center());
+            aRect.Move(aDelta.X(), aDelta.Y());
+        }
+
         Size aDrawSize = aRect.GetSize();
 
 		MapMode aMapMode( GetDoc()->GetScaleUnit() );

Modified: incubator/ooo/trunk/main/svx/inc/svx/cube3d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/cube3d.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/cube3d.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/cube3d.hxx Wed Oct 12 01:30:28 2011
@@ -70,7 +70,7 @@ public:
 	E3dCubeObj();
 
 	virtual sal_uInt16 GetObjIdentifier() const;
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	virtual void operator=(const SdrObject&);
 

Modified: incubator/ooo/trunk/main/svx/inc/svx/lathe3d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/lathe3d.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/lathe3d.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/lathe3d.hxx Wed Oct 12 01:30:28 2011
@@ -103,7 +103,7 @@ private:
 
 	virtual void operator=(const SdrObject&);
 
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	// TakeObjName...() ist fuer die Anzeige in der UI, z.B. "3 Rahmen selektiert".
 	virtual void TakeObjNameSingul(String& rName) const;

Modified: incubator/ooo/trunk/main/svx/inc/svx/polygn3d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/polygn3d.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/polygn3d.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/polygn3d.hxx Wed Oct 12 01:30:28 2011
@@ -77,7 +77,7 @@ public:
 	const basegfx::B2DPolyPolygon& GetPolyTexture2D() const { return aPolyTexture2D; }
 
 	virtual sal_uInt16 GetObjIdentifier() const;
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	virtual void operator=(const SdrObject&);
 

Modified: incubator/ooo/trunk/main/svx/inc/svx/sphere3d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/sphere3d.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/sphere3d.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/sphere3d.hxx Wed Oct 12 01:30:28 2011
@@ -68,7 +68,7 @@ public:
 		{ return ((const Svx3DVerticalSegmentsItem&)GetObjectItemSet().Get(SDRATTR_3DOBJ_VERT_SEGS)).GetValue(); }
 
 	virtual sal_uInt16 GetObjIdentifier() const;
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	virtual void operator=(const SdrObject&);
 

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdoashp.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdoashp.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdoashp.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdoashp.hxx Wed Oct 12 01:30:28 2011
@@ -236,7 +236,7 @@ public:
 
 	virtual void NbcSetOutlinerParaObject(OutlinerParaObject* pTextObject);
 
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	virtual void SetPage( SdrPage* pNewPage );
 

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdobj.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdobj.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdobj.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdobj.hxx Wed Oct 12 01:30:28 2011
@@ -986,7 +986,7 @@ public:
 	// Bei der Konvertierung von TextObj nach PathObj wird es wohl so sein,
 	// dass beide Modi (bLineToArea=sal_True/sal_False) identisch sind.
 	// Defaulted sind diese Methoden auf "Ich kann das nicht" (FALSE/NULL).
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 	SdrObject* ConvertToPolyObj(sal_Bool bBezier, sal_Bool bLineToArea) const;
 
 	// convert this path object to contour object; bForceLineDash converts even

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdocapt.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdocapt.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdocapt.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdocapt.hxx Wed Oct 12 01:30:28 2011
@@ -149,7 +149,7 @@ protected:
 	virtual void RestGeoData(const SdrObjGeoData& rGeo);
 
 public:
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	const Point& GetTailPos() const;
 	void SetTailPos(const Point& rPos);

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdocirc.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdocirc.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdocirc.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdocirc.hxx Wed Oct 12 01:30:28 2011
@@ -137,7 +137,7 @@ public:
 	virtual void NbcResize(const Point& rRef, const Fraction& xFact, const Fraction& yFact);
 	virtual void NbcMirror(const Point& rRef1, const Point& rRef2);
 	virtual void NbcShear (const Point& rRef, long nWink, double tn, FASTBOOL bVShear);
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 protected:
 	virtual SdrObjGeoData* NewGeoData() const;

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdoedge.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdoedge.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdoedge.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdoedge.hxx Wed Oct 12 01:30:28 2011
@@ -280,7 +280,7 @@ public:
 	virtual void BrkCreate(SdrDragStat& rStat);
 	virtual basegfx::B2DPolyPolygon TakeCreatePoly(const SdrDragStat& rDrag) const;
 	virtual Pointer GetCreatePointer() const;
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	virtual sal_uInt32 GetSnapPointCount() const;
 	virtual Point GetSnapPoint(sal_uInt32 i) const;

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdograf.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdograf.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdograf.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdograf.hxx Wed Oct 12 01:30:28 2011
@@ -203,7 +203,7 @@ public:
 	virtual void			SetPage(SdrPage* pNewPage);
 	virtual void			SetModel(SdrModel* pNewModel);
 
-	virtual SdrObject*		DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject*		DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	virtual void			AdjustToMaxRect( const Rectangle& rMaxRect, bool bShrinkOnly = false );
 

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdogrp.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdogrp.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdogrp.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdogrp.hxx Wed Oct 12 01:30:28 2011
@@ -118,7 +118,7 @@ public:
 	virtual void NbcReformatText();
 	virtual void ReformatText();
 
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 };
 
 #endif //_SVDOGRP_HXX

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdomeas.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdomeas.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdomeas.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdomeas.hxx Wed Oct 12 01:30:28 2011
@@ -140,7 +140,7 @@ public:
 	virtual Point GetPoint(sal_uInt32 i) const;
 	virtual void NbcSetPoint(const Point& rPnt, sal_uInt32 i);
 
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	virtual sal_Bool BegTextEdit(SdrOutliner& rOutl);
 	virtual const Size& GetTextSize() const;

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdoole2.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdoole2.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdoole2.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdoole2.hxx Wed Oct 12 01:30:28 2011
@@ -59,6 +59,9 @@ private:
     SVX_DLLPRIVATE void GetObjRef_Impl();
     SVX_DLLPRIVATE void SetGraphic_Impl(const Graphic* pGrf);
 
+    // #i118485# helper added
+    SdrObject* createSdrGrafObjReplacement(bool bAddText, bool bUseHCGraphic) const;
+
 protected:
 	virtual sdr::contact::ViewContact* CreateObjectSpecificViewContact();
     virtual sdr::properties::BaseProperties* CreateObjectSpecificProperties();
@@ -184,6 +187,9 @@ public:
 	static Bitmap GetEmtyOLEReplacementBitmap();
 
     void SetWindow(const com::sun::star::uno::Reference < com::sun::star::awt::XWindow >& _xWindow);
+
+    // #i118485# missing converter added
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 };
 
 #endif //_SVDOOLE2_HXX

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdopath.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdopath.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdopath.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdopath.hxx Wed Oct 12 01:30:28 2011
@@ -154,7 +154,7 @@ protected:
 	virtual void RestGeoData(const SdrObjGeoData& rGeo);
 
 public:
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	// Bezierpolygon holen/setzen
 	const basegfx::B2DPolyPolygon& GetPathPoly() const { return maPathPolygon; }

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdorect.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdorect.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdorect.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdorect.hxx Wed Oct 12 01:30:28 2011
@@ -128,7 +128,7 @@ public:
 	virtual SdrGluePoint GetVertexGluePoint(sal_uInt16 nNum) const;
 	virtual SdrGluePoint GetCornerGluePoint(sal_uInt16 nNum) const;
 
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint);
 };

Modified: incubator/ooo/trunk/main/svx/inc/svx/svdotext.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/svdotext.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/svdotext.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/svdotext.hxx Wed Oct 12 01:30:28 2011
@@ -483,7 +483,7 @@ public:
 	virtual FASTBOOL CalcFieldValue(const SvxFieldItem& rField, sal_uInt16 nPara, sal_uInt16 nPos,
 		FASTBOOL bEdit, Color*& rpTxtColor, Color*& rpFldColor, String& rRet) const;
 
-	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier) const;
+	virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
 	void SetTextEditOutliner(SdrOutliner* pOutl) { pEdtOutl=pOutl; }
 

Modified: incubator/ooo/trunk/main/svx/inc/svx/unoshape.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/inc/svx/unoshape.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/inc/svx/unoshape.hxx (original)
+++ incubator/ooo/trunk/main/svx/inc/svx/unoshape.hxx Wed Oct 12 01:30:28 2011
@@ -579,10 +579,11 @@ public:
 *                                                                      *
 ***********************************************************************/
 
-class SVX_DLLPUBLIC SvxOle2Shape : public SvxShape
+// #i118485# changed parent to SvxShapeText to allow Text handling over UNO API
+class SVX_DLLPUBLIC SvxOle2Shape : public SvxShapeText
 {
 protected:
-// overide these for special property handling in subcasses. Return true if property is handled
+    // overide these for special property handling in subcasses. Return true if property is handled
     virtual bool setPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
     virtual bool getPropertyValueImpl( const ::rtl::OUString& rName, const SfxItemPropertySimpleEntry* pProperty, ::com::sun::star::uno::Any& rValue ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
 

Modified: incubator/ooo/trunk/main/svx/source/engine3d/cube3d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/engine3d/cube3d.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/engine3d/cube3d.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/engine3d/cube3d.cxx Wed Oct 12 01:30:28 2011
@@ -98,7 +98,7 @@ sal_uInt16 E3dCubeObj::GetObjIdentifier(
 |*
 \************************************************************************/
 
-SdrObject *E3dCubeObj::DoConvertToPolyObj(sal_Bool /*bBezier*/) const
+SdrObject *E3dCubeObj::DoConvertToPolyObj(sal_Bool /*bBezier*/, bool /*bAddText*/) const
 {
 	return NULL;
 }

Modified: incubator/ooo/trunk/main/svx/source/engine3d/lathe3d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/engine3d/lathe3d.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/engine3d/lathe3d.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/engine3d/lathe3d.cxx Wed Oct 12 01:30:28 2011
@@ -158,7 +158,7 @@ void E3dLatheObj::operator=(const SdrObj
 |*
 \************************************************************************/
 
-SdrObject *E3dLatheObj::DoConvertToPolyObj(sal_Bool /*bBezier*/) const
+SdrObject *E3dLatheObj::DoConvertToPolyObj(sal_Bool /*bBezier*/, bool /*bAddText*/) const
 {
 	return NULL;
 }

Modified: incubator/ooo/trunk/main/svx/source/engine3d/polygn3d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/engine3d/polygn3d.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/engine3d/polygn3d.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/engine3d/polygn3d.cxx Wed Oct 12 01:30:28 2011
@@ -318,7 +318,7 @@ void E3dPolygonObj::SetPolyTexture2D(con
 |*
 \************************************************************************/
 
-SdrObject *E3dPolygonObj::DoConvertToPolyObj(sal_Bool /*bBezier*/) const
+SdrObject *E3dPolygonObj::DoConvertToPolyObj(sal_Bool /*bBezier*/, bool /*bAddText*/) const
 {
 	return NULL;
 }

Modified: incubator/ooo/trunk/main/svx/source/engine3d/sphere3d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/engine3d/sphere3d.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/engine3d/sphere3d.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/engine3d/sphere3d.cxx Wed Oct 12 01:30:28 2011
@@ -128,7 +128,7 @@ sal_uInt16 E3dSphereObj::GetObjIdentifie
 |*
 \************************************************************************/
 
-SdrObject *E3dSphereObj::DoConvertToPolyObj(sal_Bool /*bBezier*/) const
+SdrObject *E3dSphereObj::DoConvertToPolyObj(sal_Bool /*bBezier*/, bool /*bAddText*/) const
 {
 	return NULL;
 }

Modified: incubator/ooo/trunk/main/svx/source/sdr/primitive2d/sdrattributecreator.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/sdr/primitive2d/sdrattributecreator.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/sdr/primitive2d/sdrattributecreator.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/sdr/primitive2d/sdrattributecreator.cxx Wed Oct 12 01:30:28 2011
@@ -596,7 +596,11 @@ namespace drawinglayer
 			// make sure it's not empty, use default instead
 			if(aBitmap.IsEmpty())
 			{
+                // #i118485# Add PrefMapMode and PrefSize to avoid mini-tiling and
+                // expensive primitive processing in this case. Use 10x10 cm
 				aBitmap = Bitmap(Size(4,4), 8);
+                aBitmap.SetPrefMapMode(MapMode(MAP_100TH_MM));
+                aBitmap.SetPrefSize(Size(10000.0, 10000.0));
 			}
 
 			// if there is no logical size, create a size from pixel size and set MapMode accordingly

Modified: incubator/ooo/trunk/main/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/sdr/primitive2d/sdrole2primitive2d.cxx Wed Oct 12 01:30:28 2011
@@ -83,7 +83,7 @@ namespace drawinglayer
 			// should happen. For the moment we only need the OLE itself
 			// Added complete primitive preparation using getSdrLFSTAttribute() now. To not do stuff which is not needed now, it
 			// may be supressed by using a static bool. The paint version only supported text.
-			static bool bBehaveCompatibleToPaintVersion(true);
+			static bool bBehaveCompatibleToPaintVersion(false);
 			Primitive2DSequence  aRetval;
 
 			// create unit outline polygon

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdfmtf.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdfmtf.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdfmtf.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdfmtf.cxx Wed Oct 12 01:30:28 2011
@@ -355,7 +355,10 @@ void ImpSdrGDIMetaFileImport::SetAttribu
         pTextAttr->Put(SvxOverlineItem(aFnt.GetOverline(), EE_CHAR_OVERLINE));
         pTextAttr->Put(SvxCrossedOutItem(aFnt.GetStrikeout(), EE_CHAR_STRIKEOUT));
         pTextAttr->Put(SvxShadowedItem(aFnt.IsShadow(), EE_CHAR_SHADOW));
-        pTextAttr->Put(SvxAutoKernItem(aFnt.IsKerning(), EE_CHAR_KERNING));
+
+        // #i118485# Setting this item leads to problems (written #i118498# for this)
+        // pTextAttr->Put(SvxAutoKernItem(aFnt.IsKerning(), EE_CHAR_KERNING));
+
         pTextAttr->Put(SvxWordLineModeItem(aFnt.IsWordLineMode(), EE_CHAR_WLM));
         pTextAttr->Put(SvxContourItem(aFnt.IsOutline(), EE_CHAR_OUTLINE));
         pTextAttr->Put(SvxColorItem(aFnt.GetColor(), EE_CHAR_COLOR));

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdoashp.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdoashp.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdoashp.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdoashp.cxx Wed Oct 12 01:30:28 2011
@@ -3148,7 +3148,7 @@ basegfx::B2DPolyPolygon SdrObjCustomShap
 	return basegfx::B2DPolyPolygon();
 }
 
-SdrObject* SdrObjCustomShape::DoConvertToPolyObj(sal_Bool bBezier) const
+SdrObject* SdrObjCustomShape::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
 {
 	// #i37011#
 	SdrObject* pRetval = 0L;
@@ -3170,7 +3170,7 @@ SdrObject* SdrObjCustomShape::DoConvertT
 		SdrObject* pCandidate = pRenderedCustomShape->Clone();
 		DBG_ASSERT(pCandidate, "SdrObjCustomShape::DoConvertToPolyObj: Could not clone SdrObject (!)");
 		pCandidate->SetModel(GetModel());
-		pRetval = pCandidate->DoConvertToPolyObj(bBezier);
+		pRetval = pCandidate->DoConvertToPolyObj(bBezier, bAddText);
 		SdrObject::Free( pCandidate );
 
 		if(pRetval)
@@ -3182,7 +3182,7 @@ SdrObject* SdrObjCustomShape::DoConvertT
 			}
 		}
 
-		if(HasText() && !IsTextPath())
+		if(bAddText && HasText() && !IsTextPath())
 		{
 			pRetval = ImpConvertAddText(pRetval, bBezier);
 		}

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdobj.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdobj.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdobj.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdobj.cxx Wed Oct 12 01:30:28 2011
@@ -2636,7 +2636,7 @@ SdrObject* SdrObject::ConvertToContourOb
 
 SdrObject* SdrObject::ConvertToPolyObj(sal_Bool bBezier, sal_Bool bLineToArea) const
 {
-	SdrObject* pRet = DoConvertToPolyObj(bBezier);
+	SdrObject* pRet = DoConvertToPolyObj(bBezier, true);
 
 	if(pRet && bLineToArea)
 	{
@@ -2656,7 +2656,7 @@ SdrObject* SdrObject::ConvertToPolyObj(s
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
-SdrObject* SdrObject::DoConvertToPolyObj(sal_Bool /*bBezier*/) const
+SdrObject* SdrObject::DoConvertToPolyObj(sal_Bool /*bBezier*/, bool /*bAddText*/) const
 {
 	return NULL;
 }

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdocapt.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdocapt.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdocapt.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdocapt.cxx Wed Oct 12 01:30:28 2011
@@ -755,9 +755,9 @@ void SdrCaptionObj::RestGeoData(const Sd
 	aTailPoly=rCGeo.aTailPoly;
 }
 
-SdrObject* SdrCaptionObj::DoConvertToPolyObj(sal_Bool bBezier) const
+SdrObject* SdrCaptionObj::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
 { // #42334# - Convert implementiert
-	SdrObject* pRect=SdrRectObj::DoConvertToPolyObj(bBezier);
+	SdrObject* pRect=SdrRectObj::DoConvertToPolyObj(bBezier, bAddText);
 	SdrObject* pTail = ImpConvertMakeObj(basegfx::B2DPolyPolygon(aTailPoly.getB2DPolygon()), sal_False, bBezier);
 	SdrObject* pRet=(pTail!=NULL) ? pTail : pRect;
 	if (pTail!=NULL && pRect!=NULL) {

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdocirc.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdocirc.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdocirc.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdocirc.cxx Wed Oct 12 01:30:28 2011
@@ -1155,12 +1155,16 @@ void SdrCircObj::ImpSetCircInfoToAttr()
 	}
 }
 
-SdrObject* SdrCircObj::DoConvertToPolyObj(sal_Bool bBezier) const
+SdrObject* SdrCircObj::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
 {
 	const sal_Bool bFill(OBJ_CARC == meCircleKind ? sal_False : sal_True);
 	const basegfx::B2DPolygon aCircPolygon(ImpCalcXPolyCirc(meCircleKind, aRect, nStartWink, nEndWink));
 	SdrObject* pRet = ImpConvertMakeObj(basegfx::B2DPolyPolygon(aCircPolygon), bFill, bBezier);
-	pRet = ImpConvertAddText(pRet, bBezier);
+
+    if(bAddText)
+    {
+    	pRet = ImpConvertAddText(pRet, bBezier);
+    }
 
 	return pRet;
 }

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdoedge.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdoedge.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdoedge.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdoedge.cxx Wed Oct 12 01:30:28 2011
@@ -2261,12 +2261,16 @@ void SdrEdgeObj::NbcResize(const Point& 
 	}
 }
 
-SdrObject* SdrEdgeObj::DoConvertToPolyObj(sal_Bool bBezier) const
+SdrObject* SdrEdgeObj::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
 {
 	basegfx::B2DPolyPolygon aPolyPolygon;
 	aPolyPolygon.append(pEdgeTrack->getB2DPolygon());
 	SdrObject* pRet = ImpConvertMakeObj(aPolyPolygon, sal_False, bBezier);
-	pRet = ImpConvertAddText(pRet, bBezier);
+
+    if(bAddText)
+    {
+    	pRet = ImpConvertAddText(pRet, bBezier);
+    }
 
 	return pRet;
 }

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdograf.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdograf.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdograf.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdograf.cxx Wed Oct 12 01:30:28 2011
@@ -326,7 +326,9 @@ SdrGrafObj::SdrGrafObj()
 {
 	pGraphic = new GraphicObject;
 	pGraphic->SetSwapStreamHdl( LINK( this, SdrGrafObj, ImpSwapHdl ), SWAPGRAPHIC_TIMEOUT );
-	bNoShear = sal_True;
+	
+    // #i118485# Shear allowed and possible now
+    bNoShear = false;
 
 	// #111096#
 	mbGrafAnimationAllowed = sal_True;
@@ -349,7 +351,9 @@ SdrGrafObj::SdrGrafObj(const Graphic& rG
 {
 	pGraphic = new GraphicObject( rGrf );
 	pGraphic->SetSwapStreamHdl( LINK( this, SdrGrafObj, ImpSwapHdl ), SWAPGRAPHIC_TIMEOUT );
-	bNoShear = sal_True;
+
+    // #i118485# Shear allowed and possible now
+    bNoShear = false;
 
 	// #111096#
 	mbGrafAnimationAllowed = sal_True;
@@ -372,7 +376,9 @@ SdrGrafObj::SdrGrafObj( const Graphic& r
 {
 	pGraphic = new GraphicObject( rGrf );
 	pGraphic->SetSwapStreamHdl( LINK( this, SdrGrafObj, ImpSwapHdl ), SWAPGRAPHIC_TIMEOUT );
-	bNoShear = sal_True;
+
+    // #i118485# Shear allowed and possible now
+    bNoShear = false;
 
 	// #111096#
 	mbGrafAnimationAllowed = sal_True;
@@ -680,9 +686,12 @@ void SdrGrafObj::TakeObjInfo(SdrObjTrans
 	rInfo.bMirror90Allowed = !bEmptyPresObj && !bRenderGraphic;
 	rInfo.bTransparenceAllowed = sal_False;
 	rInfo.bGradientAllowed = sal_False;
-	rInfo.bShearAllowed = sal_False;
-	rInfo.bEdgeRadiusAllowed=sal_False;
-	rInfo.bCanConvToPath = sal_False;
+
+    // #i118485# Shear allowed and possible now
+	rInfo.bShearAllowed = true;
+
+    rInfo.bEdgeRadiusAllowed=sal_False;
+	rInfo.bCanConvToPath = !IsEPS() && !bRenderGraphic;
 	rInfo.bCanConvToPathLineToArea = sal_False;
 	rInfo.bCanConvToPolyLineToArea = sal_False;
 	rInfo.bCanConvToPoly = !IsEPS() && !bRenderGraphic;
@@ -918,7 +927,8 @@ void SdrGrafObj::NbcMirror(const Point& 
 
 void SdrGrafObj::NbcShear(const Point& rRef, long nWink, double tn, FASTBOOL bVShear)
 {
-	SdrRectObj::NbcRotate( rRef, nWink, tn, bVShear );
+    // #i118485# Call Shear now, old version redirected to rotate
+	SdrRectObj::NbcShear(rRef, nWink, tn, bVShear);
 }
 
 // -----------------------------------------------------------------------------
@@ -1049,7 +1059,7 @@ const GDIMetaFile* SdrGrafObj::GetGDIMet
 
 // -----------------------------------------------------------------------------
 
-SdrObject* SdrGrafObj::DoConvertToPolyObj(sal_Bool bBezier) const
+SdrObject* SdrGrafObj::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
 {
 	SdrObject* pRetval = NULL;
 
@@ -1058,18 +1068,35 @@ SdrObject* SdrGrafObj::DoConvertToPolyOb
 		case GRAPHIC_GDIMETAFILE:
 		{
 			// NUR die aus dem MetaFile erzeugbaren Objekte in eine Gruppe packen und zurueckliefern
-			SdrObjGroup*			pGrp = new SdrObjGroup();
 			ImpSdrGDIMetaFileImport aFilter(*GetModel());
-			Point					aOutPos( aRect.TopLeft() );
-			const Size				aOutSiz( aRect.GetSize() );
-
-			aFilter.SetScaleRect(GetSnapRect());
+			aFilter.SetScaleRect(aRect);
 			aFilter.SetLayer(GetLayer());
 
-			sal_uInt32 nInsAnz = aFilter.DoImport(GetTransformedGraphic().GetGDIMetaFile(), *pGrp->GetSubList(), 0);
-			if(nInsAnz)
+			SdrObjGroup* pGrp = new SdrObjGroup();
+			sal_uInt32 nInsAnz = aFilter.DoImport(GetTransformedGraphic(
+                SDRGRAFOBJ_TRANSFORMATTR_COLOR|SDRGRAFOBJ_TRANSFORMATTR_MIRROR).GetGDIMetaFile(), 
+                *pGrp->GetSubList(), 0);
+
+            if(nInsAnz)
 			{
-				pRetval = pGrp;
+                {
+                    // copy transformation
+                	GeoStat aGeoStat(GetGeoStat());
+
+	                if(aGeoStat.nShearWink) 
+                    {
+                        aGeoStat.RecalcTan();
+                        pGrp->NbcShear(aRect.TopLeft(), aGeoStat.nShearWink, aGeoStat.nTan, false);
+                    }
+
+	                if(aGeoStat.nDrehWink) 
+                    {
+	                    aGeoStat.RecalcSinCos();
+                        pGrp->NbcRotate(aRect.TopLeft(), aGeoStat.nDrehWink, aGeoStat.nSin, aGeoStat.nCos);
+                    }
+                }
+
+                pRetval = pGrp;
 				pGrp->NbcSetLayer(GetLayer());
 				pGrp->SetModel(GetModel());
 				pRetval = ImpConvertAddText(pRetval, bBezier);
@@ -1078,7 +1105,7 @@ SdrObject* SdrGrafObj::DoConvertToPolyOb
                 if( pRetval )
                 {
                     SdrObject* pHalfDone = pRetval;
-                    pRetval = pHalfDone->DoConvertToPolyObj(bBezier);
+                    pRetval = pHalfDone->DoConvertToPolyObj(bBezier, bAddText);
                     SdrObject::Free( pHalfDone ); // resulting object is newly created
 
                     if( pRetval )
@@ -1094,13 +1121,42 @@ SdrObject* SdrGrafObj::DoConvertToPolyOb
                 }
 			}
 			else
+            {
 				delete pGrp;
+            }
+
+            // #i118485# convert line and fill
+            SdrObject* pLineFill = SdrRectObj::DoConvertToPolyObj(bBezier, false);
+
+            if(pLineFill)
+            {
+                if(pRetval)
+                {
+                    pGrp = dynamic_cast< SdrObjGroup* >(pRetval);
+
+                    if(!pGrp)
+                    {
+            			pGrp = new SdrObjGroup();
+
+                        pGrp->NbcSetLayer(GetLayer());
+				        pGrp->SetModel(GetModel());
+                        pGrp->GetSubList()->NbcInsertObject(pRetval);
+                    }
+
+                    pGrp->GetSubList()->NbcInsertObject(pLineFill, 0);
+                }
+                else
+                {
+                    pRetval = pLineFill;
+                }
+            }
+
 			break;
 		}
 		case GRAPHIC_BITMAP:
 		{
 			// Grundobjekt kreieren und Fuellung ergaenzen
-			pRetval = SdrRectObj::DoConvertToPolyObj(bBezier);
+			pRetval = SdrRectObj::DoConvertToPolyObj(bBezier, bAddText);
 
 			// Bitmap als Attribut retten
 			if(pRetval)
@@ -1121,7 +1177,7 @@ SdrObject* SdrGrafObj::DoConvertToPolyOb
 		case GRAPHIC_NONE:
 		case GRAPHIC_DEFAULT:
 		{
-			pRetval = SdrRectObj::DoConvertToPolyObj(bBezier);
+			pRetval = SdrRectObj::DoConvertToPolyObj(bBezier, bAddText);
 			break;
 		}
 	}

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdogrp.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdogrp.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdogrp.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdogrp.cxx Wed Oct 12 01:30:28 2011
@@ -779,7 +779,7 @@ void SdrObjGroup::ReformatText()
 	pSub->ReformatAllTextObjects();
 }
 
-SdrObject* SdrObjGroup::DoConvertToPolyObj(sal_Bool bBezier) const
+SdrObject* SdrObjGroup::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
 {
 	SdrObject* pGroup = new SdrObjGroup;
 	pGroup->SetModel(GetModel());
@@ -787,7 +787,7 @@ SdrObject* SdrObjGroup::DoConvertToPolyO
 	for(sal_uInt32 a=0;a<pSub->GetObjCount();a++)
 	{
 		SdrObject* pIterObj = pSub->GetObj(a);
-        SdrObject* pResult = pIterObj->DoConvertToPolyObj(bBezier);
+        SdrObject* pResult = pIterObj->DoConvertToPolyObj(bBezier, bAddText);
 
         // pResult can be NULL e.g. for empty objects
         if( pResult )

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdomeas.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdomeas.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdomeas.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdomeas.cxx Wed Oct 12 01:30:28 2011
@@ -1158,7 +1158,7 @@ void SdrMeasureObj::RestGeoData(const Sd
 	SetTextDirty();
 }
 
-SdrObject* SdrMeasureObj::DoConvertToPolyObj(sal_Bool bBezier) const
+SdrObject* SdrMeasureObj::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
 {
 	// get XOR Poly as base
 	XPolyPolygon aTmpPolyPolygon(TakeXorPoly());
@@ -1269,7 +1269,14 @@ SdrObject* SdrMeasureObj::DoConvertToPol
 		pGroup->GetSubList()->NbcInsertObject(pPath);
 	}
 
-	return ImpConvertAddText(pGroup, bBezier);
+    if(bAddText)
+    {
+    	return ImpConvertAddText(pGroup, bBezier);
+    }
+    else
+    {
+    	return pGroup;
+    }
 }
 
 sal_Bool SdrMeasureObj::BegTextEdit(SdrOutliner& rOutl)

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdoole2.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdoole2.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdoole2.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdoole2.cxx Wed Oct 12 01:30:28 2011
@@ -93,6 +93,11 @@
 #include <svx/xflbmtit.hxx>
 #include <svx/xflbstit.hxx>
 
+// #i118485#
+#include <basegfx/matrix/b2dhommatrix.hxx>
+#include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <editeng/outlobj.hxx>
+
 using namespace ::rtl;
 using namespace ::com::sun::star;
 
@@ -1340,6 +1345,89 @@ void SdrOle2Obj::Disconnect_Impl()
 
 // -----------------------------------------------------------------------------
 
+SdrObject* SdrOle2Obj::createSdrGrafObjReplacement(bool bAddText, bool bUseHCGraphic) const
+{
+    Graphic* pOLEGraphic = GetGraphic();
+    
+    if(bUseHCGraphic && Application::GetSettings().GetStyleSettings().GetHighContrastMode())
+    {
+        pOLEGraphic = getEmbeddedObjectRef().GetHCGraphic();
+    }
+
+    if(pOLEGraphic)
+    {
+        // #i118485# allow creating a SdrGrafObj representation
+        SdrGrafObj* pClone = new SdrGrafObj(*pOLEGraphic);
+        pClone->SetModel(GetModel());
+        
+        // copy transformation
+        basegfx::B2DHomMatrix aMatrix;
+        basegfx::B2DPolyPolygon aPolyPolygon;
+
+        TRGetBaseGeometry(aMatrix, aPolyPolygon);
+        pClone->TRSetBaseGeometry(aMatrix, aPolyPolygon);
+
+        // copy all attributes to support graphic styles for OLEs
+        pClone->SetStyleSheet(GetStyleSheet(), false);
+        pClone->SetMergedItemSet(GetMergedItemSet());
+
+        if(bAddText)
+        {
+            // #i118485# copy text (Caution! Model needed, as guaranteed in aw080)
+            OutlinerParaObject* pOPO = GetOutlinerParaObject();
+        
+            if(pOPO && GetModel())
+            {
+                pClone->NbcSetOutlinerParaObject(new OutlinerParaObject(*pOPO));
+            }
+        }
+
+        return pClone;
+    }
+    else
+    {
+        // #i100710# pOLEGraphic may be zero (no visualisation available),
+        // so we need to use the OLE replacement graphic
+        SdrRectObj* pClone = new SdrRectObj(GetSnapRect());
+        pClone->SetModel(GetModel());
+
+        // gray outline
+        pClone->SetMergedItem(XLineStyleItem(XLINE_SOLID));
+        const svtools::ColorConfig aColorConfig;
+        const svtools::ColorConfigValue aColor(aColorConfig.GetColorValue(svtools::OBJECTBOUNDARIES));
+        pClone->SetMergedItem(XLineColorItem(String(), aColor.nColor));
+
+        // bitmap fill
+        pClone->SetMergedItem(XFillStyleItem(XFILL_BITMAP));
+        pClone->SetMergedItem(XFillBitmapItem(String(), GetEmtyOLEReplacementBitmap()));
+        pClone->SetMergedItem(XFillBmpTileItem(false));
+        pClone->SetMergedItem(XFillBmpStretchItem(false));
+
+        return pClone;
+    }
+}
+
+SdrObject* SdrOle2Obj::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
+{
+    // #i118485# missing converter added
+    if(GetModel())
+    {
+        SdrObject* pRetval = createSdrGrafObjReplacement(true, false);
+
+        if(pRetval)
+        {
+            SdrObject* pRetval2 = pRetval->DoConvertToPolyObj(bBezier, bAddText);
+            SdrObject::Free(pRetval);
+
+            return pRetval2;
+        }
+    }
+
+    return 0;
+}
+
+// -----------------------------------------------------------------------------
+
 void SdrOle2Obj::SetModel(SdrModel* pNewModel)
 {
     ::comphelper::IEmbeddedHelper* pDestPers = pNewModel ? pNewModel->GetPersist() : 0;
@@ -1488,42 +1576,9 @@ SdrObject* SdrOle2Obj::getFullDragClone(
     // special handling for OLE. The default handling works, but is too
     // slow when the whole OLE needs to be cloned. Get the Metafile and
     // create a graphic object with it
-    Graphic* pOLEGraphic = GetGraphic();
-    SdrObject* pClone = 0;
     
-    if(Application::GetSettings().GetStyleSettings().GetHighContrastMode())
-    {
-        pOLEGraphic = getEmbeddedObjectRef().GetHCGraphic();
-    }
-
-    if(pOLEGraphic)
-    {
-        pClone = new SdrGrafObj(*pOLEGraphic, GetSnapRect());
-        
-        // this would be the place where to copy all attributes
-        // when OLE will support fill and line style
-        // pClone->SetMergedItem(pOleObject->GetMergedItemSet());
-    }
-    else
-    {
-        // #i100710# pOLEGraphic may be zero (no visualisation available),
-        // so we need to use the OLE replacement graphic
-        pClone = new SdrRectObj(GetSnapRect());
-
-        // gray outline
-        pClone->SetMergedItem(XLineStyleItem(XLINE_SOLID));
-        const svtools::ColorConfig aColorConfig;
-        const svtools::ColorConfigValue aColor(aColorConfig.GetColorValue(svtools::OBJECTBOUNDARIES));
-        pClone->SetMergedItem(XLineColorItem(String(), aColor.nColor));
-
-        // bitmap fill
-        pClone->SetMergedItem(XFillStyleItem(XFILL_BITMAP));
-        pClone->SetMergedItem(XFillBitmapItem(String(), GetEmtyOLEReplacementBitmap()));
-        pClone->SetMergedItem(XFillBmpTileItem(false));
-        pClone->SetMergedItem(XFillBmpStretchItem(false));
-    }
-
-	return pClone;
+    // #i118485# use central replacement generator
+    return createSdrGrafObjReplacement(false, true);
 }
 
 // -----------------------------------------------------------------------------
@@ -1557,21 +1612,22 @@ String SdrOle2Obj::GetPersistName() cons
 
 void SdrOle2Obj::TakeObjInfo(SdrObjTransformInfoRec& rInfo) const
 {
-	rInfo.bRotateFreeAllowed=sal_False;
-	rInfo.bRotate90Allowed  =sal_False;
-	rInfo.bMirrorFreeAllowed=sal_False;
-	rInfo.bMirror45Allowed  =sal_False;
-	rInfo.bMirror90Allowed  =sal_False;
-	rInfo.bTransparenceAllowed = sal_False;
-	rInfo.bGradientAllowed = sal_False;
-	rInfo.bShearAllowed     =sal_False;
-	rInfo.bEdgeRadiusAllowed=sal_False;
-	rInfo.bNoOrthoDesired   =sal_False;
-	rInfo.bCanConvToPath    =sal_False;
-	rInfo.bCanConvToPoly    =sal_False;
-	rInfo.bCanConvToPathLineToArea=sal_False;
-	rInfo.bCanConvToPolyLineToArea=sal_False;
-	rInfo.bCanConvToContour = sal_False;
+    // #i118485# Allowing much more attributes for OLEs
+	rInfo.bRotateFreeAllowed = true;
+	rInfo.bRotate90Allowed = true;
+	rInfo.bMirrorFreeAllowed = true;
+	rInfo.bMirror45Allowed = true;
+	rInfo.bMirror90Allowed = true;
+	rInfo.bTransparenceAllowed = true;
+	rInfo.bGradientAllowed = true;
+	rInfo.bShearAllowed = true;
+	rInfo.bEdgeRadiusAllowed = false;
+	rInfo.bNoOrthoDesired = false;
+	rInfo.bCanConvToPath = true;
+	rInfo.bCanConvToPoly = true;
+	rInfo.bCanConvToPathLineToArea = false;
+	rInfo.bCanConvToPolyLineToArea = false;
+	rInfo.bCanConvToContour = true;
 }
 
 // -----------------------------------------------------------------------------

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdopath.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdopath.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdopath.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdopath.cxx Wed Oct 12 01:30:28 2011
@@ -2739,7 +2739,7 @@ SdrObject* SdrPathObj::RipPoint(sal_uInt
 	return pNewObj;
 }
 
-SdrObject* SdrPathObj::DoConvertToPolyObj(sal_Bool bBezier) const
+SdrObject* SdrPathObj::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
 {
     // #i89784# check for FontWork with activated HideContour
     const drawinglayer::attribute::SdrTextAttribute aText(
@@ -2773,7 +2773,10 @@ SdrObject* SdrPathObj::DoConvertToPolyOb
 		}
 	}
 
-	pRet = ImpConvertAddText(pRet, bBezier);
+    if(bAddText)
+    {
+    	pRet = ImpConvertAddText(pRet, bBezier);
+    }
 
 	return pRet;
 }

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdorect.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdorect.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdorect.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdorect.cxx Wed Oct 12 01:30:28 2011
@@ -583,7 +583,7 @@ SdrGluePoint SdrRectObj::GetCornerGluePo
 	return aGP;
 }
 
-SdrObject* SdrRectObj::DoConvertToPolyObj(sal_Bool bBezier) const
+SdrObject* SdrRectObj::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
 {
 	XPolygon aXP(ImpCalcXPoly(aRect,GetEckenradius()));
 	{ // #40608# Nur Uebergangsweise bis zum neuen TakeContour()
@@ -600,7 +600,10 @@ SdrObject* SdrRectObj::DoConvertToPolyOb
 		pRet = ImpConvertMakeObj(aPolyPolygon, sal_True, bBezier);
 	}
 
-	pRet = ImpConvertAddText(pRet, bBezier);
+    if(bAddText)
+    {
+    	pRet = ImpConvertAddText(pRet, bBezier);
+    }
 
 	return pRet;
 }

Modified: incubator/ooo/trunk/main/svx/source/svdraw/svdotxtr.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/svdraw/svdotxtr.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/svdraw/svdotxtr.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/svdraw/svdotxtr.cxx Wed Oct 12 01:30:28 2011
@@ -461,9 +461,14 @@ SdrObject* SdrTextObj::ImpConvertContain
 
 //////////////////////////////////////////////////////////////////////////////
 
-SdrObject* SdrTextObj::DoConvertToPolyObj(sal_Bool bBezier) const
+SdrObject* SdrTextObj::DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const
 {
-	return ImpConvertContainedTextToSdrPathObjs(!bBezier);
+    if(bAddText)
+    {
+    	return ImpConvertContainedTextToSdrPathObjs(!bBezier);
+    }
+
+    return 0;
 }
 
 bool SdrTextObj::ImpCanConvTextToCurve() const 

Modified: incubator/ooo/trunk/main/svx/source/unodraw/unoprov.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/unodraw/unoprov.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/unodraw/unoprov.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/unodraw/unoprov.cxx Wed Oct 12 01:30:28 2011
@@ -251,8 +251,11 @@ SfxItemPropertyMapEntry* ImplGetSvxGraph
 		LINE_PROPERTIES
 		LINE_PROPERTIES_START_END
 		SHAPE_DESCRIPTOR_PROPERTIES
-		MISC_OBJ_PROPERTIES_NO_SHEAR
-		LINKTARGET_PROPERTIES
+        
+        // #i118485# Full properties now, shear included
+		MISC_OBJ_PROPERTIES
+	
+        LINKTARGET_PROPERTIES
 		SHADOW_PROPERTIES
 		TEXT_PROPERTIES
 		// #FontWork#
@@ -468,13 +471,17 @@ SfxItemPropertyMapEntry* ImplGetSvxOle2P
 {
     static SfxItemPropertyMapEntry aOle2PropertyMap_Impl[] =
 	{
-		{ MAP_CHAR_LEN("Transformation"),			OWN_ATTR_TRANSFORMATION		, &::getCppuType((const struct com::sun::star::drawing::HomogenMatrix3*)0), 0, 0 }, \
-		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_ZORDER),	OWN_ATTR_ZORDER				, &::getCppuType((const sal_Int32*)0),		0,		0},
-		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERID),	SDRATTR_LAYERID				, &::getCppuType((const sal_Int16*)0),		0,	0},
-		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_LAYERNAME),SDRATTR_LAYERNAME			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
-		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYBITMAP),	OWN_ATTR_LDBITMAP			, &::getCppuType(( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
-		{ MAP_CHAR_LEN(UNO_NAME_LINKDISPLAYNAME),	OWN_ATTR_LDNAME				, &::getCppuType(( const ::rtl::OUString*)0),	::com::sun::star::beans::PropertyAttribute::READONLY, 0},
-		{ MAP_CHAR_LEN(UNO_NAME_OLE2_METAFILE),		OWN_ATTR_METAFILE			, SEQTYPE(::getCppuType((::com::sun::star::uno::Sequence<sal_Int8>*)0)), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
+        // #i118485# Adding properties for line, fill, text, shadow, fontwork, rotate, shear
+		FILL_PROPERTIES
+		LINE_PROPERTIES
+		LINE_PROPERTIES_START_END
+        SHAPE_DESCRIPTOR_PROPERTIES
+        MISC_OBJ_PROPERTIES
+        LINKTARGET_PROPERTIES
+        SHADOW_PROPERTIES
+        TEXT_PROPERTIES
+		FONTWORK_PROPERTIES
+
 		{ MAP_CHAR_LEN("ThumbnailGraphicURL"),		OWN_ATTR_THUMBNAIL			, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
 		{ MAP_CHAR_LEN("Model"),					OWN_ATTR_OLEMODEL			, &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
 		{ MAP_CHAR_LEN("EmbeddedObject"),			OWN_ATTR_OLE_EMBEDDED_OBJECT	, &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedObject >*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
@@ -484,15 +491,9 @@ SfxItemPropertyMapEntry* ImplGetSvxOle2P
 		{ MAP_CHAR_LEN("IsInternal"),				OWN_ATTR_INTERNAL_OLE		, &::getBooleanCppuType() , ::com::sun::star::beans::PropertyAttribute::READONLY,     0},
 		{ MAP_CHAR_LEN("VisibleArea"),				OWN_ATTR_OLE_VISAREA		, &::getCppuType((const ::com::sun::star::awt::Rectangle*)0), 0, 0},
 		{ MAP_CHAR_LEN("Aspect"),					OWN_ATTR_OLE_ASPECT			, &::getCppuType((const sal_Int64*)0), 0, 0},
-		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_MOVEPROTECT), SDRATTR_OBJMOVEPROTECT, &::getBooleanCppuType(),0, 0},
-		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_SIZEPROTECT), SDRATTR_OBJSIZEPROTECT, &::getBooleanCppuType(),0, 0},
 		{ MAP_CHAR_LEN(UNO_NAME_OLE2_PERSISTNAME),	OWN_ATTR_PERSISTNAME		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
 		{ MAP_CHAR_LEN("LinkURL"),					OWN_ATTR_OLE_LINKURL		, &::getCppuType(( const ::rtl::OUString*)0), 0, 0 },
-	    { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_BOUNDRECT), OWN_ATTR_BOUNDRECT,			&::getCppuType((const ::com::sun::star::awt::Rectangle*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
 		{ MAP_CHAR_LEN(UNO_NAME_GRAPHOBJ_GRAPHIC),	 OWN_ATTR_VALUE_GRAPHIC	    , &::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic>*)0), 	0,     0},
-		// #i68101#
-		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE),		OWN_ATTR_MISC_OBJ_TITLE			, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
-		{ MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION),	OWN_ATTR_MISC_OBJ_DESCRIPTION	, &::getCppuType((const ::rtl::OUString*)0),	0,	0},
 		{0,0,0,0,0,0}
 
 	};

Modified: incubator/ooo/trunk/main/svx/source/unodraw/unoshap4.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/unodraw/unoshap4.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/unodraw/unoshap4.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/unodraw/unoshap4.cxx Wed Oct 12 01:30:28 2011
@@ -84,12 +84,12 @@ using namespace ::com::sun::star::beans;
 
 ///////////////////////////////////////////////////////////////////////
 SvxOle2Shape::SvxOle2Shape( SdrObject* pObject ) throw()
-: SvxShape( pObject, aSvxMapProvider.GetMap(SVXMAP_OLE2), aSvxMapProvider.GetPropertySet(SVXMAP_OLE2, SdrObject::GetGlobalDrawObjectItemPool())  )
+: SvxShapeText( pObject, aSvxMapProvider.GetMap(SVXMAP_OLE2), aSvxMapProvider.GetPropertySet(SVXMAP_OLE2, SdrObject::GetGlobalDrawObjectItemPool())  )
 {
 }
 
 SvxOle2Shape::SvxOle2Shape( SdrObject* pObject, const SfxItemPropertyMapEntry* pPropertyMap, const SvxItemPropertySet* pPropertySet ) throw ()
-: SvxShape( pObject, pPropertyMap, pPropertySet  )
+: SvxShapeText( pObject, pPropertyMap, pPropertySet  )
 {
 }
 
@@ -99,7 +99,7 @@ SvxOle2Shape::~SvxOle2Shape() throw()
 
 ::com::sun::star::uno::Any SAL_CALL SvxOle2Shape::queryAggregation( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException)
 {
-	return SvxShape::queryAggregation( rType );
+	return SvxShapeText::queryAggregation( rType );
 }
 
 //XPropertySet
@@ -252,7 +252,7 @@ bool SvxOle2Shape::setPropertyValueImpl(
 		break;
 	}
 	default:
-        return SvxShape::setPropertyValueImpl( rName, pProperty, rValue );
+        return SvxShapeText::setPropertyValueImpl( rName, pProperty, rValue );
 	}
 	
 	throw IllegalArgumentException();
@@ -453,7 +453,7 @@ bool SvxOle2Shape::getPropertyValueImpl(
 		break;
 	}
 	default:
-        return SvxShape::getPropertyValueImpl( rName, pProperty, rValue );
+        return SvxShapeText::getPropertyValueImpl( rName, pProperty, rValue );
 	}
 
 	return true;
@@ -731,7 +731,7 @@ void SAL_CALL SvxPluginShape::setPropert
 
 void SAL_CALL SvxPluginShape::setPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rValues ) throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException)
 {
-	SvxOle2Shape::setPropertyValues( aPropertyNames, rValues );
+	SvxShape::setPropertyValues( aPropertyNames, rValues );
 	resetModifiedState();
 }
 
@@ -804,7 +804,7 @@ void SAL_CALL SvxFrameShape::setProperty
 
 void SAL_CALL SvxFrameShape::setPropertyValues( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rValues ) throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException)
 {
-	SvxOle2Shape::setPropertyValues( aPropertyNames, rValues );
+	SvxShape::setPropertyValues( aPropertyNames, rValues );
 	resetModifiedState();
 }
 

Modified: incubator/ooo/trunk/main/svx/source/unodraw/unoshape.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/svx/source/unodraw/unoshape.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/svx/source/unodraw/unoshape.cxx (original)
+++ incubator/ooo/trunk/main/svx/source/unodraw/unoshape.cxx Wed Oct 12 01:30:28 2011
@@ -805,7 +805,6 @@ uno::Sequence< uno::Type > SAL_CALL SvxS
 	switch( mpImpl->mnObjId )
 	{
 	// shapes without text
-	case OBJ_OLE2:
 	case OBJ_PAGE:
 	case OBJ_FRAME:
 	case OBJ_OLE2_PLUGIN:
@@ -1043,6 +1042,7 @@ uno::Sequence< uno::Type > SAL_CALL SvxS
 	case OBJ_TEXT:
 	case OBJ_CAPTION:
 	case OBJ_TABLE:
+	case OBJ_OLE2: // #i118485# Moved to shapes with text, was at (shapes without text) before, see above
 	default:
 		{
 			static ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > aTypeSequence;
@@ -3925,7 +3925,20 @@ uno::Sequence< OUString > SAL_CALL SvxSh
 
 						comphelper::ServiceInfoHelper::addToSequence( SvxShape_Ole2Services, 2,
 							sUNO_service_drawing_OLE2Shape,
-							sUNO_service_drawing_Shape);
+							sUNO_service_drawing_Shape,
+
+                            // #i118485# Added Text, Shadow and Rotation
+							sUNO_service_drawing_Text,
+							sUNO_service_drawing_TextProperties,
+							sUNO_service_style_ParagraphProperties,
+							sUNO_service_style_ParagraphPropertiesComplex,
+							sUNO_service_style_ParagraphPropertiesAsian,
+							sUNO_service_style_CharacterProperties,
+							sUNO_service_style_CharacterPropertiesComplex,
+							sUNO_service_style_CharacterPropertiesAsian,
+
+							sUNO_service_drawing_ShadowProperties,
+							sUNO_service_drawing_RotationDescriptor);
 
 						pSeq = &SvxShape_Ole2Services;
 					}

Modified: incubator/ooo/trunk/main/xmloff/inc/xmloff/xmlimp.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/xmloff/inc/xmloff/xmlimp.hxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/xmloff/inc/xmloff/xmlimp.hxx (original)
+++ incubator/ooo/trunk/main/xmloff/inc/xmloff/xmlimp.hxx Wed Oct 12 01:30:28 2011
@@ -453,13 +453,25 @@ public:
 
     static const sal_uInt16 OOo_1x = 10;
     static const sal_uInt16 OOo_2x = 20;
-    static const sal_uInt16 OOo_Current = 30;
+    // --> ORW
+    static const sal_uInt16 OOo_30x = 30;
+    static const sal_uInt16 OOo_31x = 31;
+    static const sal_uInt16 OOo_32x = 32;
+    static const sal_uInt16 OOo_33x = 33;
+    static const sal_uInt16 OOo_34x = 34;
+    static const sal_uInt16 ProductVersionUnknown = SAL_MAX_UINT16;
+    // <--
 
     /** this checks the build ID and returns
     
         * OOo_1x for files created with OpenOffice.org 1.x or StarOffice 7 (this also includes binary import over binfilter)
         * OOo_2x for files created with OpenOffice.org 2.x or StarOffice 8
-        * OOo_Current for files created with OpenOffice.org 3.x and StarOffice9 or newer or for files not created with OpenOffice.org or StarOffice
+        * OOo_30x for files created with OpenOffice.org 3.0/3.0.1 or StarOffice 9/9 PU01
+        * OOo_31x for files created with OpenOffice.org 3.1/3.1.1 or StarOffice 9 PU02/9 PU03
+        * OOo_32x for files created with OpenOffice.org 3.2/3.2.1 or StarOffice 9 PU04 or Oracle Open Office 3.2.1
+        * OOo_33x for files created with OpenOffice.org 3.3 (and minors) or Oracle Open Office 3.3 (and minors)
+        * OOo_34x for files created with OpenOffice.org 3.4 Beta or Oracle Open Office 3.4 Beta
+        * ProductVersionUnknown for files not created with OpenOffice.org, StarOffice or Oracle Open Office
     */
     sal_uInt16 getGeneratorVersion() const;
 

Modified: incubator/ooo/trunk/main/xmloff/source/core/xmlimp.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/xmloff/source/core/xmlimp.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/xmloff/source/core/xmlimp.cxx (original)
+++ incubator/ooo/trunk/main/xmloff/source/core/xmlimp.cxx Wed Oct 12 01:30:28 2011
@@ -165,6 +165,62 @@ void SAL_CALL SvXMLImportEventListener::
 }
 
 //==============================================================================
+// --> ORW
+namespace
+{
+    class DocumentInfo
+    {
+        private:
+            sal_uInt16 mnGeneratorVersion;
+        
+        public:
+            DocumentInfo( const SvXMLImport& rImport )
+                : mnGeneratorVersion( SvXMLImport::ProductVersionUnknown )            
+            {
+                sal_Int32 nUPD, nBuild;
+                if ( rImport.getBuildIds( nUPD, nBuild ) )
+                {
+                    if ( nUPD >= 640 && nUPD <= 645 )
+                    {
+                        mnGeneratorVersion = SvXMLImport::OOo_1x;
+                    }            
+                    else if ( nUPD == 680 )
+                    {        
+                        mnGeneratorVersion = SvXMLImport::OOo_2x;
+                    }
+                    else if ( nUPD == 300 && nBuild <= 9379 )
+                    {
+                        mnGeneratorVersion = SvXMLImport::OOo_30x;
+                    }
+                    else if ( nUPD == 310 )
+                    {
+                        mnGeneratorVersion = SvXMLImport::OOo_31x;
+                    }
+                    else if ( nUPD == 320 )
+                    {
+                        mnGeneratorVersion = SvXMLImport::OOo_32x;
+                    }
+                    else if ( nUPD == 330 )
+                    {
+                        mnGeneratorVersion = SvXMLImport::OOo_33x;
+                    }
+                    else if ( nUPD == 340 )
+                    {
+                        mnGeneratorVersion = SvXMLImport::OOo_34x;
+                    }
+                }
+            }
+            
+            ~DocumentInfo()
+            {}        
+
+            const sal_uInt16 getGeneratorVersion() const
+            {
+                return mnGeneratorVersion;        
+            }
+    };            
+}            
+// <--
 
 class SvXMLImport_Impl
 {
@@ -195,19 +251,23 @@ public:
 
     std::auto_ptr< xmloff::RDFaImportHelper > mpRDFaHelper;
 
-	SvXMLImport_Impl() :
-		hBatsFontConv( 0 ), hMathFontConv( 0 ),
-        mbOwnGraphicResolver( false ),
-        mbOwnEmbeddedResolver( false ),
-        mStreamName(),
-        // --> OD 2004-08-11 #i28749#
-        mbShapePositionInHoriL2R( sal_False ),
-        // <--
-        // --> OD 2007-12-19 #152540#
-        mbTextDocInOOoFileFormat( sal_False ),
+    // --> ORW
+    std::auto_ptr< DocumentInfo > mpDocumentInfo;
+    // <--            
+
+    SvXMLImport_Impl() 
+        : hBatsFontConv( 0 )
+        , hMathFontConv( 0 )
+        , mbOwnGraphicResolver( false )
+        , mbOwnEmbeddedResolver( false )
+        , mStreamName()
+        , mbShapePositionInHoriL2R( sal_False )
+        , mbTextDocInOOoFileFormat( sal_False )
+        , mxComponentContext( ::comphelper::getProcessComponentContext() )
+        , mpRDFaHelper() // lazy
+        // --> ORW
+        , mpDocumentInfo() // lazy
         // <--
-        mxComponentContext( ::comphelper::getProcessComponentContext() ),
-        mpRDFaHelper() // lazy
     {
         OSL_ENSURE(mxComponentContext.is(), "SvXMLImport: no ComponentContext");
         if (!mxComponentContext.is()) throw uno::RuntimeException();
@@ -221,6 +281,18 @@ public:
 			DestroyFontToSubsFontConverter( hMathFontConv );
 	}
 
+    // --> ORW
+    const sal_uInt16 getGeneratorVersion( const SvXMLImport& rImport )
+    {
+        if ( !mpDocumentInfo.get() )
+        {
+            mpDocumentInfo.reset( new DocumentInfo( rImport ) );
+        }
+
+        return mpDocumentInfo->getGeneratorVersion();
+    }            
+    // <--
+
 	::comphelper::UnoInterfaceToUniqueIdentifierMapper	maInterfaceToIdentifierMapper;
 };
 
@@ -1940,18 +2012,9 @@ bool SvXMLImport::getBuildIds( sal_Int32
 
 sal_uInt16 SvXMLImport::getGeneratorVersion() const
 {
-    sal_Int32 nUPD, nBuild;
-
-    if( getBuildIds( nUPD, nBuild ) )
-    {
-        if( nUPD == 680 )
-            return OOo_2x;
-
-        if( nUPD >= 640 && nUPD <= 645 )
-            return OOo_1x;
-    }
-
-    return OOo_Current;
+    // --> ORW
+    return mpImpl->getGeneratorVersion( *this );
+    // <--
 }
 
 bool SvXMLImport::isGraphicLoadOnDemandSupported() const

Modified: incubator/ooo/trunk/main/xmloff/source/draw/shapeexport.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/xmloff/source/draw/shapeexport.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/xmloff/source/draw/shapeexport.cxx (original)
+++ incubator/ooo/trunk/main/xmloff/source/draw/shapeexport.cxx Wed Oct 12 01:30:28 2011
@@ -230,11 +230,11 @@ void XMLShapeExport::collectShapeAutoSty
 	// -----------------------------
 	ImpCalcShapeType(xShape, aShapeInfo.meShapeType);
 
+    // #i118485# enabled XmlShapeTypeDrawChartShape and XmlShapeTypeDrawOLE2Shape
+    // to have text
 	const bool bObjSupportsText =
 //		aShapeInfo.meShapeType != XmlShapeTypeDrawControlShape &&
-		aShapeInfo.meShapeType != XmlShapeTypeDrawChartShape &&
 		aShapeInfo.meShapeType != XmlShapeTypePresChartShape &&
-		aShapeInfo.meShapeType != XmlShapeTypeDrawOLE2Shape &&
 		aShapeInfo.meShapeType != XmlShapeTypePresOLE2Shape &&
 		aShapeInfo.meShapeType != XmlShapeTypeDrawSheetShape &&
 		aShapeInfo.meShapeType != XmlShapeTypePresSheetShape &&

Modified: incubator/ooo/trunk/main/xmloff/source/draw/shapeexport2.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/xmloff/source/draw/shapeexport2.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/xmloff/source/draw/shapeexport2.cxx (original)
+++ incubator/ooo/trunk/main/xmloff/source/draw/shapeexport2.cxx Wed Oct 12 01:30:28 2011
@@ -1691,6 +1691,9 @@ void XMLShapeExport::ImpExportOLE2Shape(
 			enum XMLTokenEnum eElem = sClassId.getLength() ? XML_OBJECT_OLE : XML_OBJECT;
 			SvXMLElementExport aElem( mrExport, XML_NAMESPACE_DRAW, eElem, sal_True, sal_True );
 
+            // #i118485# Add text export, the draw OLE shape allows text now
+            ImpExportText( xShape );
+
 			if(bExportEmbedded && !bIsEmptyPresObj)
 			{
 				// #100592#
@@ -1735,7 +1738,7 @@ void XMLShapeExport::ImpExportOLE2Shape(
 				GetExport().AddEmbeddedObjectAsBase64( sURL );
 		}
 
-		ImpExportEvents( xShape );
+        ImpExportEvents( xShape );
 		ImpExportGluePoints( xShape );
 		ImpExportDescription( xShape ); // #i68101#
 	}

Modified: incubator/ooo/trunk/main/xmloff/source/draw/ximpshap.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/xmloff/source/draw/ximpshap.cxx?rev=1182166&r1=1182165&r2=1182166&view=diff
==============================================================================
--- incubator/ooo/trunk/main/xmloff/source/draw/ximpshap.cxx (original)
+++ incubator/ooo/trunk/main/xmloff/source/draw/ximpshap.cxx Wed Oct 12 01:30:28 2011
@@ -2683,7 +2683,27 @@ void SdXMLObjectShapeContext::StartEleme
 
 void SdXMLObjectShapeContext::EndElement()
 {
-	// #100592#
+    // #i67705#
+    const sal_uInt16 nGeneratorVersion(GetImport().getGeneratorVersion());
+
+    if(nGeneratorVersion < SvXMLImport::OOo_34x)
+    {
+        // #i118485#
+        // If it's an old file from us written before OOo3.4, we need to correct
+        // FillStyle and LineStyle for OLE2 objects. The error was that the old paint
+        // implementations just ignored added fill/linestyles completely, thus
+        // those objects need to be corrected to not show blue and hairline which
+        // always was the default, but would be shown now
+		uno::Reference< beans::XPropertySet > xProps(mxShape, uno::UNO_QUERY);
+
+        if( xProps.is() )
+        {
+            xProps->setPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FillStyle")), uno::makeAny(drawing::FillStyle_NONE));
+            xProps->setPropertyValue(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("LineStyle")), uno::makeAny(drawing::LineStyle_NONE));
+        }
+    }
+
+    // #100592#
 	if( mxBase64Stream.is() )
 	{
 		OUString aPersistName( GetImport().ResolveEmbeddedObjectURLFromBase64() );



Mime
View raw message