You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by st...@apache.org on 2013/04/23 11:51:53 UTC

svn commit: r1470868 [26/40] - in /openoffice/branches/ia2: ./ ext_libraries/coinmp/ ext_libraries/serf/ ext_libraries/serf/win/ extras/l10n/source/fi/ main/ main/animations/source/animcore/ main/automation/source/communi/ main/basctl/source/basicide/ ...

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdedtv1.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdedtv1.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdedtv1.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdedtv1.cxx Tue Apr 23 09:51:15 2013
@@ -55,6 +55,9 @@
 #include <svx/sdr/contact/viewcontact.hxx>
 #include <svx/e3dsceneupdater.hxx>
 #include <svx/obj3d.hxx>
+#include <basegfx/matrix/b2dhommatrix.hxx>
+#include <svx/AffineMatrixItem.hxx>
+#include <basegfx/matrix/b2dhommatrixtools.hxx>
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -249,23 +252,77 @@ void SdrEditView::ResizeMarkedObj(const 
 	if( bUndo )
 		EndUndo();
 }
-
-long SdrEditView::GetMarkedObjRotate() const
+void SdrEditView::ResizeMultMarkedObj(const Point& rRef,
+    const Fraction& xFact,
+    const Fraction& yFact,
+    const bool bCopy,
+    const bool bWdh,
+    const bool bHgt)
 {
-	sal_Bool b1st=sal_True;
-	sal_Bool bOk=sal_True;
-	long nWink=0;
+	const bool bUndo = IsUndoEnabled();
+	if( bUndo )
+	{
+		XubString aStr;
+		ImpTakeDescriptionStr(STR_EditResize,aStr);
+		if (bCopy)
+			aStr+=ImpGetResStr(STR_EditWithCopy);
+		BegUndo(aStr);
+	}
+	
+	if (bCopy)
+		CopyMarkedObj();
+    
 	sal_uIntPtr nMarkAnz=GetMarkedObjectCount();
-	for (sal_uIntPtr nm=0; nm<nMarkAnz && bOk; nm++) {
+	for (sal_uIntPtr nm=0; nm<nMarkAnz; nm++)
+	{
 		SdrMark* pM=GetSdrMarkByIndex(nm);
 		SdrObject* pO=pM->GetMarkedSdrObj();
-		long nWink2=pO->GetRotateAngle();
-		if (b1st) nWink=nWink2;
-		else if (nWink2!=nWink) bOk=sal_False;
-		b1st=sal_False;
-	}
-	if (!bOk) nWink=0;
-	return nWink;
+		if( bUndo )
+		{
+			std::vector< SdrUndoAction* > vConnectorUndoActions( CreateConnectorUndo( *pO ) );
+			AddUndoActions( vConnectorUndoActions );
+			AddUndo( GetModel()->GetSdrUndoFactory().CreateUndoGeoObject(*pO));
+        }
+
+        Fraction aFrac(1,1);
+        if (bWdh && bHgt)
+            pO->Resize(rRef, xFact, yFact);
+        else if (bWdh)
+            pO->Resize(rRef, xFact, aFrac);
+        else if (bHgt)
+            pO->Resize(rRef, aFrac, yFact);
+    }
+	if( bUndo )
+		EndUndo();
+}
+
+long SdrEditView::GetMarkedObjRotate() const
+{
+    long nRetval(0);
+
+    if(GetMarkedObjectCount())
+    {
+        SdrMark* pM = GetSdrMarkByIndex(0);
+        SdrObject* pO = pM->GetMarkedSdrObj();
+
+        nRetval = pO->GetRotateAngle();
+    }
+
+    return nRetval;
+	//sal_Bool b1st=sal_True;
+	//sal_Bool bOk=sal_True;
+	//long nWink=0;
+	//sal_uIntPtr nMarkAnz=GetMarkedObjectCount();
+	//for (sal_uIntPtr nm=0; nm<nMarkAnz && bOk; nm++) {
+	//	SdrMark* pM=GetSdrMarkByIndex(nm);
+	//	SdrObject* pO=pM->GetMarkedSdrObj();
+	//	long nWink2=pO->GetRotateAngle();
+	//	if (b1st) nWink=nWink2;
+	//	else if (nWink2!=nWink) bOk=sal_False;
+	//	b1st=sal_False;
+	//}
+	//if (!bOk) nWink=0;
+	//return nWink;
 }
 
 void SdrEditView::RotateMarkedObj(const Point& rRef, long nWink, bool bCopy)
@@ -1196,15 +1253,17 @@ sal_Bool SdrEditView::SetStyleSheet(SfxS
 SfxItemSet SdrEditView::GetGeoAttrFromMarked() const
 {
 	SfxItemSet aRetSet(pMod->GetItemPool(),   // SID_ATTR_TRANSFORM_... aus s:svxids.hrc
-					   SID_ATTR_TRANSFORM_POS_X,SID_ATTR_TRANSFORM_ANGLE,
-					   SID_ATTR_TRANSFORM_PROTECT_POS,SID_ATTR_TRANSFORM_AUTOHEIGHT,
-					   SDRATTR_ECKENRADIUS,SDRATTR_ECKENRADIUS,
-					   0);
-	if (AreObjectsMarked()) {
+        SID_ATTR_TRANSFORM_POS_X,               SID_ATTR_TRANSFORM_ANGLE,
+        SID_ATTR_TRANSFORM_PROTECT_POS,         SID_ATTR_TRANSFORM_AUTOHEIGHT,
+        SDRATTR_ECKENRADIUS,                    SDRATTR_ECKENRADIUS,
+        0);
+
+    if (AreObjectsMarked()) 
+    {
 		SfxItemSet aMarkAttr(GetAttrFromMarked(sal_False)); // wg. AutoGrowHeight und Eckenradius
 		Rectangle aRect(GetMarkedObjRect());
-		
-		if(GetSdrPageView()) 
+
+        if(GetSdrPageView()) 
 		{
 			GetSdrPageView()->LogicToPagePos(aRect);
 		}
@@ -1262,12 +1321,13 @@ SfxItemSet SdrEditView::GetGeoAttrFromMa
 		sal_Bool bSizProt=pObj->IsResizeProtect();
 		sal_Bool bPosProtDontCare=sal_False;
 		sal_Bool bSizProtDontCare=sal_False;
-		for (sal_uIntPtr i=1; i<nMarkCount && (!bPosProtDontCare || !bSizProtDontCare); i++) {
+		for (sal_uIntPtr i=1; i<nMarkCount && (!bPosProtDontCare || !bSizProtDontCare); i++)
+        {
 			pObj=rMarkList.GetMark(i)->GetMarkedSdrObj();
 			if (bPosProt!=pObj->IsMoveProtect()) bPosProtDontCare=sal_True;
 			if (bSizProt!=pObj->IsResizeProtect()) bSizProtDontCare=sal_True;
-		}
-
+        }
+        
 		// InvalidateItem setzt das Item auf DONT_CARE
 		if (bPosProtDontCare) {
 			aRetSet.InvalidateItem(SID_ATTR_TRANSFORM_PROTECT_POS);
@@ -1304,7 +1364,48 @@ SfxItemSet SdrEditView::GetGeoAttrFromMa
 			aRetSet.Put(SdrEckenradiusItem(nRadius));
 		}
 
+        basegfx::B2DHomMatrix aTransformation;
+
+        if(nMarkCount > 1)
+        {
+            // multiple objects, range is collected in aRect
+            aTransformation = basegfx::tools::createScaleTranslateB2DHomMatrix(
+                aRect.Left(), aRect.Top(),
+                aRect.getWidth(), aRect.getHeight());
+        }
+        else if(pObj)
+        {
+            // single object, get homogen transformation
+            basegfx::B2DPolyPolygon aPolyPolygon;
+
+            pObj->TRGetBaseGeometry(aTransformation, aPolyPolygon);
+        }
+
+        if(aTransformation.isIdentity())
+        {
+            aRetSet.InvalidateItem(SID_ATTR_TRANSFORM_MATRIX);
+        }
+        else
+        {
+            com::sun::star::geometry::AffineMatrix2D aAffineMatrix2D;
+            Point aPageOffset(0, 0);
+
+            if(GetSdrPageView()) 
+            {
+                aPageOffset = GetSdrPageView()->GetPageOrigin();
+            }
+
+            aAffineMatrix2D.m00 = aTransformation.get(0, 0);
+            aAffineMatrix2D.m01 = aTransformation.get(0, 1);
+            aAffineMatrix2D.m02 = aTransformation.get(0, 2) - aPageOffset.X();
+            aAffineMatrix2D.m10 = aTransformation.get(1, 0);
+            aAffineMatrix2D.m11 = aTransformation.get(1, 1);
+            aAffineMatrix2D.m12 = aTransformation.get(1, 2) - aPageOffset.Y();
+
+            aRetSet.Put(AffineMatrixItem(&aAffineMatrix2D));
+        }
 	}
+
 	return aRetSet;
 }
 
@@ -1373,6 +1474,7 @@ void SdrEditView::SetGeoAttrToMarked(con
 
 	sal_Bool bChgPos=sal_False;
 	sal_Bool bChgSiz=sal_False;
+	sal_Bool bChgWdh=sal_False;
 	sal_Bool bChgHgt=sal_False;
 	sal_Bool bRotate=sal_False;
 	sal_Bool bShear =sal_False;
@@ -1395,6 +1497,7 @@ void SdrEditView::SetGeoAttrToMarked(con
 	if (SFX_ITEM_SET==rAttr.GetItemState(SID_ATTR_TRANSFORM_WIDTH,sal_True,&pPoolItem)) {
 		nSizX=((const SfxUInt32Item*)pPoolItem)->GetValue();
 		bChgSiz=sal_True;
+        bChgWdh=sal_True;
 	}
 	if (SFX_ITEM_SET==rAttr.GetItemState(SID_ATTR_TRANSFORM_HEIGHT,sal_True,&pPoolItem)) {
 		nSizY=((const SfxUInt32Item*)pPoolItem)->GetValue();
@@ -1487,7 +1590,7 @@ void SdrEditView::SetGeoAttrToMarked(con
 			GetSdrPageView()->PagePosToLogic(aRef);
 		}
 
-		ResizeMarkedObj(aRef,aWdt,aHgt);
+        ResizeMultMarkedObj(aRef, aWdt, aHgt, false, bChgWdh, bChgHgt);
 	}
 
 	// Rotieren

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdedxv.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdedxv.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdedxv.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdedxv.cxx Tue Apr 23 09:51:15 2013
@@ -2035,6 +2035,38 @@ void SdrObjEditView::OnEndPasteOrDrop( P
     // applications can derive from these virtual methods to do something before a drop or paste operation
 }
 
+sal_uInt16 SdrObjEditView::GetSelectionLevel() const
+{
+	sal_uInt16 nLevel = 0xFFFF;
+    if( IsTextEdit() )
+	{
+        DBG_ASSERT(pTextEditOutlinerView!=NULL,"SdrObjEditView::GetAttributes(): pTextEditOutlinerView=NULL");
+        DBG_ASSERT(pTextEditOutliner!=NULL,"SdrObjEditView::GetAttributes(): pTextEditOutliner=NULL");
+		if( pTextEditOutlinerView )
+		{
+			//start and end position
+			ESelection aSelect = pTextEditOutlinerView->GetSelection();
+			sal_uInt16 nStartPara = ::std::min( aSelect.nStartPara, aSelect.nEndPara );
+			sal_uInt16 nEndPara = ::std::max( aSelect.nStartPara, aSelect.nEndPara );
+			//get level from each paragraph
+			nLevel = 0;
+			for( sal_uInt16 nPara = nStartPara; nPara <= nEndPara; nPara++ )
+			{
+				sal_uInt16 nParaDepth = 1 << pTextEditOutliner->GetDepth( nPara );
+				if( !(nLevel & nParaDepth) )
+					nLevel += nParaDepth;
+			}
+			//reduce one level for Outliner Object
+			//if( nLevel > 0 && GetTextEditObject()->GetObjIdentifier() == OBJ_OUTLINETEXT )
+			//	nLevel = nLevel >> 1;
+			//no bullet paragraph selected
+			if( nLevel == 0)
+				nLevel = 0xFFFF;
+		}
+	}
+	return nLevel;
+}
+
 bool SdrObjEditView::SupportsFormatPaintbrush( sal_uInt32 nObjectInventor, sal_uInt16 nObjectIdentifier ) const
 {
     if( nObjectInventor != SdrInventor && nObjectInventor != E3dInventor )

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdfmtf.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdfmtf.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdfmtf.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdfmtf.cxx Tue Apr 23 09:51:15 2013
@@ -351,19 +351,19 @@ void ImpSdrGDIMetaFileImport::SetAttribu
 		switch(maLineJoin)
 		{
 			default : // basegfx::B2DLINEJOIN_NONE
-				mpLineAttr->Put(XLineJointItem(XLINEJOINT_NONE));
+				mpLineAttr->Put(XLineJointItem(com::sun::star::drawing::LineJoint_NONE));
 				break;
 			case basegfx::B2DLINEJOIN_MIDDLE:
-				mpLineAttr->Put(XLineJointItem(XLINEJOINT_MIDDLE));
+				mpLineAttr->Put(XLineJointItem(com::sun::star::drawing::LineJoint_MIDDLE));
 				break;
 			case basegfx::B2DLINEJOIN_BEVEL:
-				mpLineAttr->Put(XLineJointItem(XLINEJOINT_BEVEL));
+				mpLineAttr->Put(XLineJointItem(com::sun::star::drawing::LineJoint_BEVEL));
 				break;
 			case basegfx::B2DLINEJOIN_MITER:
-				mpLineAttr->Put(XLineJointItem(XLINEJOINT_MITER));
+				mpLineAttr->Put(XLineJointItem(com::sun::star::drawing::LineJoint_MITER));
 				break;
 			case basegfx::B2DLINEJOIN_ROUND:
-				mpLineAttr->Put(XLineJointItem(XLINEJOINT_ROUND));
+				mpLineAttr->Put(XLineJointItem(com::sun::star::drawing::LineJoint_ROUND));
 				break;
 		}
 

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdibrow.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdibrow.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdibrow.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdibrow.cxx Tue Apr 23 09:51:15 2013
@@ -748,7 +748,6 @@ FASTBOOL IsItemIneffective(sal_uInt16 nW
 		case XATTR_FORMTXTSHDWCOLOR :
 		case XATTR_FORMTXTSHDWXVAL  :
 		case XATTR_FORMTXTSHDWYVAL  :
-		case XATTR_FORMTXTSTDFORM   :
 		case XATTR_FORMTXTHIDEFORM  :
 		case XATTR_FORMTXTSHDWTRANSP: {
 			rIndent=1;
@@ -896,11 +895,10 @@ sal_uInt16 ImpSortWhich(sal_uInt16 nWhic
 		case XATTR_FILLBMP_STRETCH      : nWhich=XATTR_FILLBMP_TILEOFFSETY  ; break;
 
 		// Fontwork
-		case XATTR_FORMTXTSHADOW        : nWhich=XATTR_FORMTXTSTDFORM       ; break;
+		case XATTR_FORMTXTSHADOW        : nWhich=XATTR_FORMTXTSHDWXVAL      ; break;
 		case XATTR_FORMTXTSHDWCOLOR     : nWhich=XATTR_FORMTXTHIDEFORM      ; break;
 		case XATTR_FORMTXTSHDWXVAL      : nWhich=XATTR_FORMTXTSHADOW        ; break;
 		case XATTR_FORMTXTSHDWYVAL      : nWhich=XATTR_FORMTXTSHDWCOLOR     ; break;
-		case XATTR_FORMTXTSTDFORM       : nWhich=XATTR_FORMTXTSHDWXVAL      ; break;
 		case XATTR_FORMTXTHIDEFORM      : nWhich=XATTR_FORMTXTSHDWYVAL      ; break;
 
 		// Misc

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdlayer.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdlayer.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdlayer.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdlayer.cxx Tue Apr 23 09:51:15 2013
@@ -238,8 +238,8 @@ SdrLayerAdmin::SdrLayerAdmin(SdrLayerAdm
 	aLSets(1024,16,16),
 	pModel(NULL)
 {
-	sal_Char aTextControls[] = "Controls";
-	aControlLayerName = String(aTextControls, sizeof(aTextControls-1));
+	const sal_Char aTextControls[] = "Controls";
+	aControlLayerName = String(aTextControls, sizeof(aTextControls)-1);
 	pParent=pNewParent;
 }
 
@@ -249,8 +249,8 @@ SdrLayerAdmin::SdrLayerAdmin(const SdrLa
 	pParent(NULL),
 	pModel(NULL)
 {
-	sal_Char aTextControls[] = "Controls";
-	aControlLayerName = String(aTextControls, sizeof(aTextControls-1));
+	const sal_Char aTextControls[] = "Controls";
+	aControlLayerName = String(aTextControls, sizeof(aTextControls)-1);
 	*this = rSrcLayerAdmin;
 }
 

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdmodel.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdmodel.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdmodel.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdmodel.cxx Tue Apr 23 09:51:15 2013
@@ -762,7 +762,7 @@ bool SdrModel::IsUndoEnabled() const
 void SdrModel::ImpCreateTables()
 {
 	// der Writer hat seinen eigenen ColorTable
-	if (!bExtColorTable) pColorTable=new XColorTable(aTablePath,(XOutdevItemPool*)pItemPool);
+	if (!bExtColorTable) pColorTable=new XColorList(aTablePath,(XOutdevItemPool*)pItemPool);
 	pDashList    =new XDashList    (aTablePath,(XOutdevItemPool*)pItemPool);
 	pLineEndList =new XLineEndList (aTablePath,(XOutdevItemPool*)pItemPool);
 	pHatchList   =new XHatchList   (aTablePath,(XOutdevItemPool*)pItemPool);
@@ -1222,20 +1222,20 @@ void SdrModel::TakeUnitStr(FieldUnit eUn
 		}
 		case FUNIT_100TH_MM:
 		{
-			sal_Char aText[] = "/100mm";
-			rStr = UniString(aText, sizeof(aText-1));
+			const sal_Char aText[] = "/100mm";
+			rStr = UniString(aText, sizeof(aText)-1);
 			break;
 		}
 		case FUNIT_MM     :
 		{
-			sal_Char aText[] = "mm";
-			rStr = UniString(aText, sizeof(aText-1));
+			const sal_Char aText[] = "mm";
+			rStr = UniString(aText, sizeof(aText)-1);
 			break;
 		}
 		case FUNIT_CM     :
 		{
-			sal_Char aText[] = "cm";
-			rStr = UniString(aText, sizeof(aText-1));
+			const sal_Char aText[] = "cm";
+			rStr = UniString(aText, sizeof(aText)-1);
 			break;
 		}
 		case FUNIT_M      :
@@ -1246,26 +1246,26 @@ void SdrModel::TakeUnitStr(FieldUnit eUn
 		}
 		case FUNIT_KM     :
 		{
-			sal_Char aText[] = "km";
-			rStr = UniString(aText, sizeof(aText-1));
+			const sal_Char aText[] = "km";
+			rStr = UniString(aText, sizeof(aText)-1);
 			break;
 		}
 		case FUNIT_TWIP   :
 		{
-			sal_Char aText[] = "twip";
-			rStr = UniString(aText, sizeof(aText-1));
+			const sal_Char aText[] = "twip";
+			rStr = UniString(aText, sizeof(aText)-1);
 			break;
 		}
 		case FUNIT_POINT  :
 		{
-			sal_Char aText[] = "pt";
-			rStr = UniString(aText, sizeof(aText-1));
+			const sal_Char aText[] = "pt";
+			rStr = UniString(aText, sizeof(aText)-1);
 			break;
 		}
 		case FUNIT_PICA   :
 		{
 			sal_Char aText[] = "pica";
-			rStr = UniString(aText, sizeof(aText-1));
+			rStr = UniString(aText, sizeof(aText)-1);
 			break;
 		}
 		case FUNIT_INCH   :
@@ -1276,14 +1276,14 @@ void SdrModel::TakeUnitStr(FieldUnit eUn
 		}
 		case FUNIT_FOOT   :
 		{
-			sal_Char aText[] = "ft";
-			rStr = UniString(aText, sizeof(aText-1));
+			const sal_Char aText[] = "ft";
+			rStr = UniString(aText, sizeof(aText)-1);
 			break;
 		}
 		case FUNIT_MILE   :
 		{
-			sal_Char aText[] = "mile(s)";
-			rStr = UniString(aText, sizeof(aText-1));
+			const sal_Char aText[] = "mile(s)";
+			rStr = UniString(aText, sizeof(aText)-1);
 			break;
 		}
 		case FUNIT_PERCENT:
@@ -2173,7 +2173,7 @@ const ::com::sun::star::uno::Sequence< s
 //
 // i120668, move from the header files, add delete action
 //
-void            SdrModel::SetColorTable(XColorTable* pTable)       { delete pColorTable; pColorTable=pTable; }
+void            SdrModel::SetColorTable(XColorList* pTable)       { delete pColorTable; pColorTable=pTable; }
 void            SdrModel::SetDashList(XDashList* pList)            { delete pDashList; pDashList=pList; }
 void            SdrModel::SetLineEndList(XLineEndList* pList)      { delete pLineEndList; pLineEndList=pList; }
 void            SdrModel::SetHatchList(XHatchList* pList)          { delete pHatchList; pHatchList=pList; }

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdoashp.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdoashp.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdoashp.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdoashp.cxx Tue Apr 23 09:51:15 2013
@@ -3300,7 +3300,7 @@ void SdrObjCustomShape::TRSetBaseGeometr
 	aGeo.RecalcTan();
 
 	// force metric to pool metric
-	SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+	const SfxMapUnit eMapUnit(GetObjectMapUnit());
 	if(eMapUnit != SFX_MAPUNIT_100TH_MM)
 	{
 		switch(eMapUnit)
@@ -3343,7 +3343,8 @@ void SdrObjCustomShape::TRSetBaseGeometr
 	if(!basegfx::fTools::equalZero(fShearX))
 	{
 		GeoStat aGeoStat;
-		aGeoStat.nShearWink = FRound((atan(fShearX) / F_PI180) * 100.0);
+        // #121932# do *not* forget to invert shearX(!)
+		aGeoStat.nShearWink = FRound((atan(-fShearX) / F_PI180) * 100.0);
 		aGeoStat.RecalcTan();
 		Shear(Point(), aGeoStat.nShearWink, aGeoStat.nTan, sal_False);
 	}
@@ -3423,11 +3424,11 @@ sal_Bool SdrObjCustomShape::TRGetBaseGeo
 			}
 			// Polygon wenden und etwas schieben
 			Polygon aPol0(aPol);
-			aPol[0]=aPol0[3]; // This was WRONG for vertical (!)
-			aPol[1]=aPol0[2];
-			aPol[2]=aPol0[1];
-			aPol[3]=aPol0[0];
-			aPol[4]=aPol0[3];
+			aPol[0]=aPol0[1]; // This was WRONG for vertical (!)
+			aPol[1]=aPol0[0]; // #121932# Despite my own coment above
+			aPol[2]=aPol0[3]; // it was *not* wrong even when the reordering
+			aPol[3]=aPol0[2]; // *seems* to be specific for X-Mirrorings. Oh
+			aPol[4]=aPol0[1]; // will I be happy when this old stuff is |gone| with aw080 (!)
 			Poly2Rect(aPol,aRectangle,aNewGeo);
 		}
 	}
@@ -3446,7 +3447,7 @@ sal_Bool SdrObjCustomShape::TRGetBaseGeo
 	}
 
 	// force MapUnit to 100th mm
-	SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+	const SfxMapUnit eMapUnit(GetObjectMapUnit());
 	if(eMapUnit != SFX_MAPUNIT_100TH_MM)
 	{
 		switch(eMapUnit)

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdobj.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdobj.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdobj.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdobj.cxx Tue Apr 23 09:51:15 2013
@@ -2030,6 +2030,23 @@ const SfxPoolItem& SdrObject::GetObjectI
 	return GetObjectItemSet().Get(nWhich);
 }
 
+SfxMapUnit SdrObject::GetObjectMapUnit() const
+{
+    SfxMapUnit aRetval(SFX_MAPUNIT_100TH_MM);
+    SdrItemPool* pPool = GetObjectItemPool();
+
+    if(pPool)
+    {
+        aRetval = pPool->GetMetric(0);
+    }
+    else
+    {
+        OSL_ENSURE(pPool, "SdrObjects always need a pool (!)");
+    }
+
+    return aRetval;
+}
+
 const SfxPoolItem& SdrObject::GetMergedItem(const sal_uInt16 nWhich) const
 {
 	return GetMergedItemSet().Get(nWhich);
@@ -3028,7 +3045,7 @@ sal_Bool SdrObject::TRGetBaseGeometry(ba
 	}
 
 	// force MapUnit to 100th mm
-	SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+	const SfxMapUnit eMapUnit(GetObjectMapUnit());
 	if(eMapUnit != SFX_MAPUNIT_100TH_MM)
 	{
 		switch(eMapUnit)
@@ -3079,7 +3096,7 @@ void SdrObject::TRSetBaseGeometry(const 
 	}
 
 	// force metric to pool metric
-	SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+	const SfxMapUnit eMapUnit(GetObjectMapUnit());
 	if(eMapUnit != SFX_MAPUNIT_100TH_MM)
 	{
 		switch(eMapUnit)

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdoedge.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdoedge.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdoedge.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdoedge.cxx Tue Apr 23 09:51:15 2013
@@ -952,8 +952,6 @@ XPolygon SdrEdgeObj::ImpCalcEdgeTrack(co
 		long nXMax=Max(aBewareRect1.Right(),aBewareRect2.Right());
 		long nYMin=Min(aBewareRect1.Top(),aBewareRect2.Top());
 		long nYMax=Max(aBewareRect1.Bottom(),aBewareRect2.Bottom());
-		//int bBoundOverlap=aBoundRect1.Right()>aBoundRect2.Left() && aBoundRect1.Left()<aBoundRect2.Right() &&
-							   aBoundRect1.Bottom()>aBoundRect2.Top() && aBoundRect1.Top()<aBoundRect2.Bottom();
 		FASTBOOL bBewareOverlap=aBewareRect1.Right()>aBewareRect2.Left() && aBewareRect1.Left()<aBewareRect2.Right() &&
 								aBewareRect1.Bottom()>aBewareRect2.Top() && aBewareRect1.Top()<aBewareRect2.Bottom();
 		unsigned nMainCase=3;

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdogrp.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdogrp.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdogrp.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdogrp.cxx Tue Apr 23 09:51:15 2013
@@ -97,8 +97,6 @@ SdrObjGroup::SdrObjGroup()
 	pSub->SetOwnerObj(this);
 	pSub->SetListKind(SDROBJLIST_GROUPOBJ);
 	bRefPoint=sal_False;
-	nDrehWink=0;
-	nShearWink=0;
 	bClosedObj=sal_False;
 }
 
@@ -308,8 +306,6 @@ void SdrObjGroup::operator=(const SdrObj
 		pSub->CopyObjects(*rObj.GetSubList());
 
 		// copy local paremeters
-		nDrehWink  =((SdrObjGroup&)rObj).nDrehWink;
-		nShearWink =((SdrObjGroup&)rObj).nShearWink;
 		aRefPoint  =((SdrObjGroup&)rObj).aRefPoint;
 		bRefPoint  =((SdrObjGroup&)rObj).bRefPoint;
 	}
@@ -388,13 +384,33 @@ FASTBOOL SdrObjGroup::BegCreate(SdrDragS
 
 long SdrObjGroup::GetRotateAngle() const
 {
-	return nDrehWink;
+    const sal_uInt32 nObjCount(pSub->GetObjCount());
+    long nRetval(0);
+
+    if(nObjCount)
+    {
+        SdrObject* pObj = pSub->GetObj(0);
+
+        nRetval = pObj->GetRotateAngle();
+    }
+
+    return nRetval;
 }
 
 
 long SdrObjGroup::GetShearAngle(FASTBOOL /*bVertical*/) const
 {
-	return nShearWink;
+    const sal_uInt32 nObjCount(pSub->GetObjCount());
+    long nRetval(0);
+
+    if(nObjCount)
+    {
+        SdrObject* pObj = pSub->GetObj(0);
+
+        nRetval = pObj->GetShearAngle();
+    }
+
+    return nRetval;
 }
 
 
@@ -476,7 +492,6 @@ void SdrObjGroup::NbcResize(const Point&
 void SdrObjGroup::NbcRotate(const Point& rRef, long nWink, double sn, double cs)
 {
 	SetGlueReallyAbsolute(sal_True);
-	nDrehWink=NormAngle360(nDrehWink+nWink);
 	RotatePoint(aRefPoint,rRef,sn,cs);
 	SdrObjList* pOL=pSub;
 	sal_uIntPtr nObjAnz=pOL->GetObjCount();
@@ -507,7 +522,6 @@ void SdrObjGroup::NbcMirror(const Point&
 void SdrObjGroup::NbcShear(const Point& rRef, long nWink, double tn, FASTBOOL bVShear)
 {
 	SetGlueReallyAbsolute(sal_True);
-	nShearWink+=nWink;
 	ShearPoint(aRefPoint,rRef,tn);
 	SdrObjList* pOL=pSub;
 	sal_uIntPtr nObjAnz=pOL->GetObjCount();
@@ -647,7 +661,6 @@ void SdrObjGroup::Rotate(const Point& rR
 	if (nWink!=0) {
 		SetGlueReallyAbsolute(sal_True);
 		Rectangle aBoundRect0; if (pUserCall!=NULL) aBoundRect0=GetLastBoundRect();
-		nDrehWink=NormAngle360(nDrehWink+nWink);
 		RotatePoint(aRefPoint,rRef,sn,cs);
 		// #32383# Erst die Verbinder verschieben, dann den Rest
 		SdrObjList* pOL=pSub;
@@ -700,7 +713,6 @@ void SdrObjGroup::Shear(const Point& rRe
 	if (nWink!=0) {
 		SetGlueReallyAbsolute(sal_True);
 		Rectangle aBoundRect0; if (pUserCall!=NULL) aBoundRect0=GetLastBoundRect();
-		nShearWink+=nWink;
 		ShearPoint(aRefPoint,rRef,tn);
 		// #32383# Erst die Verbinder verschieben, dann den Rest
 		SdrObjList* pOL=pSub;

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdopath.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdopath.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdopath.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdopath.cxx Tue Apr 23 09:51:15 2013
@@ -2962,7 +2962,7 @@ sal_Bool SdrPathObj::TRGetBaseGeometry(b
 	}
 
 	// force MapUnit to 100th mm
-	SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+	const SfxMapUnit eMapUnit(GetObjectMapUnit());
 	if(eMapUnit != SFX_MAPUNIT_100TH_MM)
 	{
 		switch(eMapUnit)
@@ -3032,7 +3032,7 @@ void SdrPathObj::TRSetBaseGeometry(const
 	aGeo.RecalcTan();
 
 	// force metric to pool metric
-	SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+	const SfxMapUnit eMapUnit(GetObjectMapUnit());
 	if(eMapUnit != SFX_MAPUNIT_100TH_MM)
 	{
 		switch(eMapUnit)

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdotext.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdotext.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdotext.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdotext.cxx Tue Apr 23 09:51:15 2013
@@ -1710,7 +1710,7 @@ sal_Bool SdrTextObj::TRGetBaseGeometry(b
 	}
 
 	// force MapUnit to 100th mm
-	SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+	const SfxMapUnit eMapUnit(GetObjectMapUnit());
 	if(eMapUnit != SFX_MAPUNIT_100TH_MM)
 	{
 		switch(eMapUnit)
@@ -1772,7 +1772,7 @@ void SdrTextObj::TRSetBaseGeometry(const
 	aGeo.RecalcTan();
 
 	// force metric to pool metric
-	SfxMapUnit eMapUnit = GetObjectItemSet().GetPool()->GetMetric(0);
+	const SfxMapUnit eMapUnit(GetObjectMapUnit());
 	if(eMapUnit != SFX_MAPUNIT_100TH_MM)
 	{
 		switch(eMapUnit)

Modified: openoffice/branches/ia2/main/svx/source/svdraw/svdstr.src
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/svdraw/svdstr.src?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/svdraw/svdstr.src (original)
+++ openoffice/branches/ia2/main/svx/source/svdraw/svdstr.src Tue Apr 23 09:51:15 2013
@@ -1910,11 +1910,6 @@ String SIP_XA_FORMTXTSHDWYVAL
 	Text [ en-US ] = "Fontwork shadow offset Y";
 };
 
-String SIP_XA_FORMTXTSTDFORM
-{
-	Text [ en-US ] = "Fontwork default form";
-};
-
 String SIP_XA_FORMTXTHIDEFORM
 {
 	Text [ en-US ] = "Hide fontwork outline";
@@ -2875,6 +2870,16 @@ Bitmap SIP_SA_ACCESSIBILITY_CROP_MARKERS
 	File = "cropmarkersACC.bmp";
 };
 
+// DialControl bitmaps
+Bitmap IMG_DIACONTROL_NORMAL
+{
+    File = "rotation.png";
+};
+Bitmap IMG_DIACONTROL_H
+{
+    File = "rotation_h.png";
+};
+
 //IAccessibility2 Implementation 2009-----
 String STR_ObjNameSingulFONTWORK
 {

Modified: openoffice/branches/ia2/main/svx/source/table/accessibletableshape.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/table/accessibletableshape.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/table/accessibletableshape.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/table/accessibletableshape.cxx Tue Apr 23 09:51:15 2013
@@ -34,7 +34,7 @@
 #include <vcl/svapp.hxx>
 
 #include <svx/AccessibleTableShape.hxx>
-#include "tablecontroller.hxx"
+#include <svx/sdr/table/tablecontroller.hxx>
 #include "accessiblecell.hxx"
 
 #include <algorithm>

Modified: openoffice/branches/ia2/main/svx/source/table/tablecontroller.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/table/tablecontroller.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/table/tablecontroller.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/table/tablecontroller.cxx Tue Apr 23 09:51:15 2013
@@ -24,7 +24,8 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_svx.hxx"
 
-#include "tablecontroller.hxx"
+#include <svx/sdr/table/tablecontroller.hxx>
+#include <tablemodel.hxx>
 
 #include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
 #include <com/sun/star/container/XIndexAccess.hpp>

Modified: openoffice/branches/ia2/main/svx/source/tbxctrls/colorwindow.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/tbxctrls/colorwindow.hxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/tbxctrls/colorwindow.hxx (original)
+++ openoffice/branches/ia2/main/svx/source/tbxctrls/colorwindow.hxx Tue Apr 23 09:51:15 2013
@@ -29,6 +29,7 @@
 #include <svl/lstner.hxx>
 #include <rtl/ustring.hxx>
 #include <com/sun/star/frame/XFrame.hpp>
+#include <svx/SvxColorValueSet.hxx>
 
 //========================================================================
 // class SvxColorWindow_Impl --------------------------------------------------
@@ -39,9 +40,9 @@ class SvxColorWindow_Impl : public SfxPo
 	using FloatingWindow::StateChanged;
 
 private:
-	const sal_uInt16	                                                    theSlotId;
-	ValueSet		                                                    aColorSet;
-    rtl::OUString                                                       maCommand;
+    const sal_uInt16        theSlotId;
+    SvxColorValueSet        aColorSet;
+    rtl::OUString           maCommand;
 
 #if _SOLAR__PRIVATE
 	DECL_LINK( SelectHdl, void * );

Modified: openoffice/branches/ia2/main/svx/source/tbxctrls/colrctrl.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/tbxctrls/colrctrl.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/tbxctrls/colrctrl.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/tbxctrls/colrctrl.cxx Tue Apr 23 09:51:15 2013
@@ -44,8 +44,6 @@
 #include "svx/xexch.hxx"
 #include <vcl/svapp.hxx>
 
-SFX_IMPL_DOCKINGWINDOW( SvxColorChildWindow, SID_COLOR_CONTROL )
-
 // ------------------------
 // - SvxColorValueSetData -
 // ------------------------
@@ -100,55 +98,55 @@ sal_Bool SvxColorValueSetData::WriteObje
 
 /*************************************************************************
 |*
-|* SvxColorValueSet: Ctor
+|* SvxColorValueSet_docking: Ctor
 |*
 \************************************************************************/
 
-SvxColorValueSet::SvxColorValueSet( Window* _pParent, WinBits nWinStyle ) :
-	ValueSet( _pParent, nWinStyle ),
+SvxColorValueSet_docking::SvxColorValueSet_docking( Window* _pParent, WinBits nWinStyle ) :
+	SvxColorValueSet( _pParent, nWinStyle ),
 	DragSourceHelper( this ),
-    bLeft (sal_True)
+    mbLeftButton(true)
 {
 	SetAccessibleName(String( SVX_RES( STR_COLORTABLE ) ) );
 }
 
 /*************************************************************************
 |*
-|* SvxColorValueSet: Ctor
+|* SvxColorValueSet_docking: Ctor
 |*
 \************************************************************************/
 
-SvxColorValueSet::SvxColorValueSet( Window* _pParent, const ResId& rResId ) :
-	ValueSet( _pParent, rResId ),
+SvxColorValueSet_docking::SvxColorValueSet_docking( Window* _pParent, const ResId& rResId ) :
+	SvxColorValueSet( _pParent, rResId ),
 	DragSourceHelper( this ),
-    bLeft (sal_True)
+    mbLeftButton(true)
 {
 	SetAccessibleName(String( SVX_RES( STR_COLORTABLE )  ));
 }
 
 /*************************************************************************
 |*
-|* SvxColorValueSet: MouseButtonDown
+|* SvxColorValueSet_docking: MouseButtonDown
 |*
 \************************************************************************/
 
-void SvxColorValueSet::MouseButtonDown( const MouseEvent& rMEvt )
+void SvxColorValueSet_docking::MouseButtonDown( const MouseEvent& rMEvt )
 {
 	// Fuer Mac noch anders handlen !
 	if( rMEvt.IsLeft() )
 	{
-		bLeft = sal_True;
-		ValueSet::MouseButtonDown( rMEvt );
+		mbLeftButton = true;
+		SvxColorValueSet::MouseButtonDown( rMEvt );
 	}
 	else
 	{
-		bLeft = sal_False;
+		mbLeftButton = false;
 		MouseEvent aMEvt( rMEvt.GetPosPixel(),
 						  rMEvt.GetClicks(),
 						  rMEvt.GetMode(),
 						  MOUSE_LEFT,
 						  rMEvt.GetModifier() );
-		ValueSet::MouseButtonDown( aMEvt );
+		SvxColorValueSet::MouseButtonDown( aMEvt );
 	}
 
 	aDragPosPixel = GetPointerPosPixel();
@@ -156,27 +154,27 @@ void SvxColorValueSet::MouseButtonDown( 
 
 /*************************************************************************
 |*
-|* SvxColorValueSet: MouseButtonUp
+|* SvxColorValueSet_docking: MouseButtonUp
 |*
 \************************************************************************/
 
-void SvxColorValueSet::MouseButtonUp( const MouseEvent& rMEvt )
+void SvxColorValueSet_docking::MouseButtonUp( const MouseEvent& rMEvt )
 {
 	// Fuer Mac noch anders handlen !
 	if( rMEvt.IsLeft() )
 	{
-		bLeft = sal_True;
-		ValueSet::MouseButtonUp( rMEvt );
+		mbLeftButton = true;
+		SvxColorValueSet::MouseButtonUp( rMEvt );
 	}
 	else
 	{
-		bLeft = sal_False;
+		mbLeftButton = false;
 		MouseEvent aMEvt( rMEvt.GetPosPixel(),
 						  rMEvt.GetClicks(),
 						  rMEvt.GetMode(),
 						  MOUSE_LEFT,
 						  rMEvt.GetModifier() );
-		ValueSet::MouseButtonUp( aMEvt );
+		SvxColorValueSet::MouseButtonUp( aMEvt );
 	}
 	SetNoSelection();
 }
@@ -187,10 +185,10 @@ void SvxColorValueSet::MouseButtonUp( co
 |*
 \************************************************************************/
 
-void SvxColorValueSet::Command(const CommandEvent& rCEvt)
+void SvxColorValueSet_docking::Command(const CommandEvent& rCEvt)
 {
 	// Basisklasse
-	ValueSet::Command(rCEvt);
+	SvxColorValueSet::Command(rCEvt);
 }
 
 /*************************************************************************
@@ -199,9 +197,9 @@ void SvxColorValueSet::Command(const Com
 |*
 \************************************************************************/
 
-void SvxColorValueSet::StartDrag( sal_Int8 , const Point&  )
+void SvxColorValueSet_docking::StartDrag( sal_Int8 , const Point&  )
 {
-	Application::PostUserEvent(STATIC_LINK(this, SvxColorValueSet, ExecDragHdl));
+	Application::PostUserEvent(STATIC_LINK(this, SvxColorValueSet_docking, ExecDragHdl));
 }
 
 /*************************************************************************
@@ -210,7 +208,7 @@ void SvxColorValueSet::StartDrag( sal_In
 |*
 \************************************************************************/
 
-void SvxColorValueSet::DoDrag()
+void SvxColorValueSet_docking::DoDrag()
 {
 	SfxObjectShell* pDocSh = SfxObjectShell::Current();
 	sal_uInt16			nItemId = GetItemId( aDragPosPixel );
@@ -235,7 +233,7 @@ void SvxColorValueSet::DoDrag()
 |*
 \************************************************************************/
 
-IMPL_STATIC_LINK(SvxColorValueSet, ExecDragHdl, void*, EMPTYARG)
+IMPL_STATIC_LINK(SvxColorValueSet_docking, ExecDragHdl, void*, EMPTYARG)
 {
 	// Als Link, damit asynchron ohne ImpMouseMoveMsg auf dem Stack auch die
 	// Farbleiste geloescht werden darf
@@ -245,29 +243,6 @@ IMPL_STATIC_LINK(SvxColorValueSet, ExecD
 
 /*************************************************************************
 |*
-|* Ableitung vom SfxChildWindow als "Behaelter" fuer Animator
-|*
-\************************************************************************/
-
-SvxColorChildWindow::SvxColorChildWindow( Window* _pParent,
-    									  sal_uInt16 nId,
-										  SfxBindings* pBindings,
-										  SfxChildWinInfo* pInfo ) :
-	SfxChildWindow( _pParent, nId )
-{
-	SvxColorDockingWindow* pWin = new SvxColorDockingWindow( pBindings, this,
-										_pParent, SVX_RES( RID_SVXCTRL_COLOR ) );
-	pWindow = pWin;
-
-	eChildAlignment = SFX_ALIGN_BOTTOM;
-
-	pWin->Initialize( pInfo );
-}
-
-
-
-/*************************************************************************
-|*
 |* Ctor: SvxColorDockingWindow
 |*
 \************************************************************************/
@@ -287,8 +262,7 @@ SvxColorDockingWindow::SvxColorDockingWi
 	nLeftSlot		( SID_ATTR_FILL_COLOR ),
 	nRightSlot		( SID_ATTR_LINE_COLOR ),
 	nCols			( 20 ),
-	nLines			( 1 ),
-	aColorSize		( 14, 14 )
+	nLines			( 1 )
 
 {
 	FreeResource();
@@ -320,13 +294,14 @@ SvxColorDockingWindow::SvxColorDockingWi
 		if( pItem )
 		{
 			pColorTable = ( (SvxColorTableItem*) pItem )->GetColorTable();
-			FillValueSet();
+            FillValueSet();
 		}
 	}
-	aItemSize = aColorSet.CalcItemSizePixel( aColorSize );
-	aItemSize.Width() = aItemSize.Width() + aColorSize.Width();
+
+	aItemSize = aColorSet.CalcItemSizePixel(Size(aColorSet.getEntryEdgeLength(), aColorSet.getEntryEdgeLength()));
+	aItemSize.Width() = aItemSize.Width() + aColorSet.getEntryEdgeLength();
 	aItemSize.Width() /= 2;
-	aItemSize.Height() = aItemSize.Height() + aColorSize.Height();
+	aItemSize.Height() = aItemSize.Height() + aColorSet.getEntryEdgeLength();
 	aItemSize.Height() /= 2;
 
 	SetSize();
@@ -374,13 +349,16 @@ void SvxColorDockingWindow::FillValueSet
 {
 	if( pColorTable )
 	{
+		nCount = pColorTable->Count();
 		aColorSet.Clear();
 
-		// Erster Eintrag: unsichtbar
+		// create the first entry for 'invisible/none'
+        const Size aColorSize(aColorSet.getEntryEdgeLength(), aColorSet.getEntryEdgeLength());
 		long nPtX = aColorSize.Width() - 1;
 		long nPtY = aColorSize.Height() - 1;
 		VirtualDevice aVD;
-		aVD.SetOutputSizePixel( aColorSize );
+
+        aVD.SetOutputSizePixel( aColorSize );
 		aVD.SetLineColor( Color( COL_BLACK ) );
 		aVD.SetBackground( Wallpaper( Color( COL_WHITE ) ) );
 		aVD.DrawLine( Point(), Point( nPtX, nPtY ) );
@@ -389,16 +367,7 @@ void SvxColorDockingWindow::FillValueSet
 		Bitmap aBmp( aVD.GetBitmap( Point(), aColorSize ) );
 
 		aColorSet.InsertItem( (sal_uInt16)1, Image(aBmp), SVX_RESSTR( RID_SVXSTR_INVISIBLE ) );
-
-		XColorEntry* pEntry;
-		nCount = pColorTable->Count();
-
-		for( long i = 0; i < nCount; i++ )
-		{
-			pEntry = pColorTable->GetColor( i );
-			aColorSet.InsertItem( (sal_uInt16)i+2,
-							pEntry->GetColor(), pEntry->GetName() );
-		}
+        aColorSet.addEntriesForXColorList(*pColorTable, 2);
 	}
 }
 

Modified: openoffice/branches/ia2/main/svx/source/tbxctrls/fillctrl.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/tbxctrls/fillctrl.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/tbxctrls/fillctrl.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/tbxctrls/fillctrl.cxx Tue Apr 23 09:51:15 2013
@@ -129,14 +129,6 @@ void SvxFillToolBoxControl::StateChanged
 				delete pStyleItem;
 				pStyleItem = (XFillStyleItem*) pState->Clone();
 				pFillTypeLB->Enable();
-
-				eLastXFS = pFillTypeLB->GetSelectEntryPos();
-				bUpdate = sal_True;
-
-				XFillStyle eXFS = (XFillStyle)pStyleItem->GetValue();
-				pFillTypeLB->SelectEntryPos(
-                    sal::static_int_cast< sal_uInt16 >( eXFS ) );
-				pFillAttrLB->Enable();
 			}
 			else if( pStyleItem )
 			{
@@ -175,7 +167,28 @@ void SvxFillToolBoxControl::StateChanged
 						bEnableControls = sal_True;
 				}
 			}
-			if( bEnableControls )
+
+            if( pStyleItem )
+            {
+                // ensure that the correct entry is selected in pFillTypeLB. It
+                // might have been changed by nSID == SID_ATTR_FILL_STYLE, but
+                // it might also be in an in-between state when user had started to
+                // change fillstyle, but not yet changed fillvalue for new style
+                // and when nSID == SID_ATTR_FILL_COLOR/SID_ATTR_FILL_GRADIENT/
+                // SID_ATTR_FILL_HATCH/SID_ATTR_FILL_BITMAP value change is triggered
+                eLastXFS = pFillTypeLB->GetSelectEntryPos();
+                XFillStyle eXFS = (XFillStyle)pStyleItem->GetValue();
+
+                if(eLastXFS != eXFS)
+                {
+                    bUpdate = sal_True;
+                    pFillTypeLB->SelectEntryPos( sal::static_int_cast< sal_uInt16 >( eXFS ) );
+                }
+
+                pFillAttrLB->Enable();
+            }
+
+            if( bEnableControls )
 			{
 				//pFillTypeLB->Enable();
 				pFillAttrLB->Enable();
@@ -320,13 +333,13 @@ void SvxFillToolBoxControl::Update( cons
  						XGradientList aGradientList( aEmptyString );
 						aGradientList.Insert( pEntry );
 						aGradientList.SetDirty( sal_False );
-						Bitmap* pBmp = aGradientList.CreateBitmapForUI( 0 );
+						const Bitmap aBmp = aGradientList.GetUiBitmap( 0 );
 
-						if( pBmp )
+						if( !aBmp.IsEmpty() )
 						{
-							( (ListBox*)pFillAttrLB )->InsertEntry( pEntry->GetName(), *pBmp );
+							( (ListBox*)pFillAttrLB )->InsertEntry( pEntry->GetName(), aBmp );
 							pFillAttrLB->SelectEntryPos( pFillAttrLB->GetEntryCount() - 1 );
-							delete pBmp;
+							//delete pBmp;
 						}
 
 						aGradientList.Remove( 0 );
@@ -370,13 +383,13 @@ void SvxFillToolBoxControl::Update( cons
 						XHatchList aHatchList( aEmptyString );
 						aHatchList.Insert( pEntry );
 						aHatchList.SetDirty( sal_False );
-						Bitmap* pBmp = aHatchList.CreateBitmapForUI( 0 );
+						const Bitmap aBmp = aHatchList.GetUiBitmap( 0 );
 
-						if( pBmp )
+						if( !aBmp.IsEmpty() )
 						{
-							( (ListBox*)pFillAttrLB )->InsertEntry( pEntry->GetName(), *pBmp );
+							( (ListBox*)pFillAttrLB )->InsertEntry( pEntry->GetName(), aBmp );
 							pFillAttrLB->SelectEntryPos( pFillAttrLB->GetEntryCount() - 1 );
-							delete pBmp;
+							//delete pBmp;
 						}
 
 						aHatchList.Remove( 0 );

Modified: openoffice/branches/ia2/main/svx/source/tbxctrls/itemwin.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/tbxctrls/itemwin.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/tbxctrls/itemwin.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/tbxctrls/itemwin.cxx Tue Apr 23 09:51:15 2013
@@ -52,8 +52,6 @@
 #include "svx/linectrl.hxx"
 #include <svtools/colorcfg.hxx>
 
-#include "linectrl.hrc"
-
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::frame;
 using namespace ::com::sun::star::util;
@@ -272,7 +270,7 @@ void SvxLineBox::DataChanged( const Data
 
 void SvxLineBox::FillControl()
 {
-	FillStyles();
+	// FillStyles();
     if ( !mpSh )
         mpSh = SfxObjectShell::Current();
 

Modified: openoffice/branches/ia2/main/svx/source/tbxctrls/linectrl.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/tbxctrls/linectrl.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/tbxctrls/linectrl.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/tbxctrls/linectrl.cxx Tue Apr 23 09:51:15 2013
@@ -525,7 +525,6 @@ void SvxLineEndWindow::FillValueSet()
 	if( pLineEndList )
 	{
 		XLineEndEntry*		pEntry	= NULL;
-		Bitmap*				pBmp	= NULL;
 		VirtualDevice		aVD;
 
 		long nCount = pLineEndList->Count();
@@ -535,16 +534,16 @@ void SvxLineEndWindow::FillValueSet()
 		basegfx::B2DPolyPolygon aNothing;
 		pLineEndList->Insert( new XLineEndEntry( aNothing, SVX_RESSTR( RID_SVXSTR_NONE ) ) );
 		pEntry = pLineEndList->GetLineEnd( nCount );
-		pBmp = pLineEndList->GetBitmap( nCount );
-		DBG_ASSERT( pBmp, "UI-Bitmap wurde nicht erzeugt" );
+		Bitmap aBmp = pLineEndList->GetUiBitmap( nCount );
+		OSL_ENSURE( !aBmp.IsEmpty(), "UI-Bitmap wurde nicht erzeugt" );
 
-		aBmpSize = pBmp->GetSizePixel();
+		aBmpSize = aBmp.GetSizePixel();
 		aVD.SetOutputSizePixel( aBmpSize, sal_False );
 		aBmpSize.Width() = aBmpSize.Width() / 2;
 		Point aPt0( 0, 0 );
 		Point aPt1( aBmpSize.Width(), 0 );
 
-		aVD.DrawBitmap( Point(), *pBmp );
+		aVD.DrawBitmap( Point(), aBmp );
 		aLineEndSet.InsertItem( 1, aVD.GetBitmap( aPt0, aBmpSize ), pEntry->GetName() );
 		aLineEndSet.InsertItem( 2, aVD.GetBitmap( aPt1, aBmpSize ), pEntry->GetName() );
 
@@ -554,10 +553,10 @@ void SvxLineEndWindow::FillValueSet()
 		{
 			pEntry = pLineEndList->GetLineEnd( i );
 			DBG_ASSERT( pEntry, "Konnte auf LineEndEntry nicht zugreifen" );
-			pBmp = pLineEndList->GetBitmap( i );
-			DBG_ASSERT( pBmp, "UI-Bitmap wurde nicht erzeugt" );
+			aBmp = pLineEndList->GetUiBitmap( i );
+			OSL_ENSURE( !aBmp.IsEmpty(), "UI-Bitmap wurde nicht erzeugt" );
 
-			aVD.DrawBitmap( aPt0, *pBmp );
+			aVD.DrawBitmap( aPt0, aBmp );
 			aLineEndSet.InsertItem( (sal_uInt16)((i+1L)*2L+1L), aVD.GetBitmap( aPt0, aBmpSize ), pEntry->GetName() );
 			aLineEndSet.InsertItem( (sal_uInt16)((i+2L)*2L), 	aVD.GetBitmap( aPt1, aBmpSize ), pEntry->GetName() );
 		}

Modified: openoffice/branches/ia2/main/svx/source/tbxctrls/tbcontrl.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/tbxctrls/tbcontrl.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/tbxctrls/tbcontrl.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/tbxctrls/tbcontrl.cxx Tue Apr 23 09:51:15 2013
@@ -815,10 +815,6 @@ void SvxFontNameBox_Impl::Select()
 #define WB_NO_DIRECTSELECT      ((WinBits)0x04000000)
 #endif
 
-#define PALETTE_X 10
-#define PALETTE_Y 11
-#define PALETTE_SIZE (PALETTE_X * PALETTE_Y)
-
 SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString&            rCommand,
                                           sal_uInt16                     nSlotId,
                                           const Reference< XFrame >& rFrame,
@@ -834,9 +830,8 @@ SvxColorWindow_Impl::SvxColorWindow_Impl
 {
 	SfxObjectShell* pDocSh = SfxObjectShell::Current();
 	const SfxPoolItem* pItem = NULL;
-	XColorTable* pColorTable = NULL;
+	XColorList* pColorTable = NULL;
 	sal_Bool bKillTable = sal_False;
-    const Size aSize12( 13, 13 );
 
 	if ( pDocSh )
 		if ( 0 != ( pItem = pDocSh->GetItem( SID_COLOR_TABLE ) ) )
@@ -844,7 +839,7 @@ SvxColorWindow_Impl::SvxColorWindow_Impl
 
 	if ( !pColorTable )
 	{
-		pColorTable = new XColorTable( SvtPathOptions().GetPalettePath() );
+		pColorTable = new XColorList( SvtPathOptions().GetPalettePath() );
 		bKillTable = sal_True;
 	}
 
@@ -877,44 +872,24 @@ SvxColorWindow_Impl::SvxColorWindow_Impl
 
 	if ( pColorTable )
 	{
-		short i = 0;
-		long nCount = pColorTable->Count();
-		XColorEntry* pEntry = NULL;
-		::Color aColWhite( COL_WHITE );
-		String aStrWhite( EditResId(RID_SVXITEMS_COLOR_WHITE) );
-
-        if ( nCount > PALETTE_SIZE )
-            // Show scrollbar if more than PALLETTE_SIZE colors are available
-			aColorSet.SetStyle( aColorSet.GetStyle() | WB_VSCROLL );
-
-		for ( i = 0; i < nCount; i++ )
-		{
-			pEntry = pColorTable->GetColor(i);
-			aColorSet.InsertItem( i+1, pEntry->GetColor(), pEntry->GetName() );
-		}
-
-        while ( i < PALETTE_SIZE )
-		{
-            // fill empty elements if less then PALLETTE_SIZE colors are available
-			aColorSet.InsertItem( i+1, aColWhite, aStrWhite );
-			i++;
-		}
+		const long nColorCount(pColorTable->Count());
+        const Size aNewSize(aColorSet.layoutAllVisible(nColorCount));
+        aColorSet.SetOutputSizePixel(aNewSize);
+        static sal_Int32 nAdd = 4;
+
+        SetOutputSizePixel(Size(aNewSize.Width() + nAdd, aNewSize.Height() + nAdd));
+        aColorSet.Clear();
+        aColorSet.addEntriesForXColorList(*pColorTable);
 	}
 
     aColorSet.SetSelectHdl( LINK( this, SvxColorWindow_Impl, SelectHdl ) );
-    aColorSet.SetColCount( PALETTE_X );
-    aColorSet.SetLineCount( PALETTE_Y );
-
-	lcl_CalcSizeValueSet( *this, aColorSet, aSize12 );
-
 	SetHelpId( HID_POPUP_COLOR );
 	aColorSet.SetHelpId( HID_POPUP_COLOR_CTRL );
-
 	SetText( rWndTitle );
 	aColorSet.Show();
-
     AddStatusListener( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:ColorTableState" )));
-	if ( bKillTable )
+
+    if ( bKillTable )
 		delete pColorTable;
 }
 
@@ -1014,38 +989,19 @@ void SvxColorWindow_Impl::StateChanged( 
     {
         if (( nSID == SID_COLOR_TABLE ) && ( pState->ISA( SvxColorTableItem )))
         {
-	        XColorTable* pColorTable = pState ? ((SvxColorTableItem *)pState)->GetColorTable() : NULL;
+	        XColorList* pColorTable = pState ? ((SvxColorTableItem *)pState)->GetColorTable() : NULL;
 
 			if ( pColorTable )
 			{
 				// Die Liste der Farben (ColorTable) hat sich ge"andert:
-				short i = 0;
-				long nCount = pColorTable->Count();
-				XColorEntry* pEntry = NULL;
-				::Color aColWhite( COL_WHITE );
-				String aStrWhite( SVX_RES( RID_SVXITEMS_COLOR_WHITE ) );
-
-				// ScrollBar an oder aus
-				WinBits nBits = aColorSet.GetStyle();
-        		if ( nCount > PALETTE_SIZE )
-					nBits &= ~WB_VSCROLL;
-				else
-					nBits |= WB_VSCROLL;
-				aColorSet.SetStyle( nBits );
-
-				for ( i = 0; i < nCount; ++i )
-				{
-					pEntry = pColorTable->GetColor(i);
-					aColorSet.SetItemColor( i + 1, pEntry->GetColor() );
-					aColorSet.SetItemText ( i + 1, pEntry->GetName() );
-				}
-
-        		while ( i < PALETTE_SIZE )
-				{
-					aColorSet.SetItemColor( i + 1, aColWhite );
-					aColorSet.SetItemText ( i + 1, aStrWhite );
-					i++;
-				}
+		        const long nColorCount(pColorTable->Count());
+                const Size aNewSize(aColorSet.layoutAllVisible(nColorCount));
+                aColorSet.SetOutputSizePixel(aNewSize);
+                static sal_Int32 nAdd = 4;
+
+                SetOutputSizePixel(Size(aNewSize.Width() + nAdd, aNewSize.Height() + nAdd));
+                aColorSet.Clear();
+                aColorSet.addEntriesForXColorList(*pColorTable);
 			}
 		}
 	}

Modified: openoffice/branches/ia2/main/svx/source/tbxctrls/tbxcolorupdate.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/tbxctrls/tbxcolorupdate.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/tbxctrls/tbxcolorupdate.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/tbxctrls/tbxcolorupdate.cxx Tue Apr 23 09:51:15 2013
@@ -83,7 +83,7 @@ namespace svx
         {
             BitmapEx            aBmpEx( aImage.GetBitmapEx() );
             Bitmap              aBmp( aBmpEx.GetBitmap() );
-            BitmapWriteAccess*  pBmpAcc = aBmp.AcquireWriteAccess();
+            BitmapWriteAccess*  pBmpAcc = aBmp.IsEmpty() ? NULL : aBmp.AcquireWriteAccess();
 
             maBmpSize = aBmp.GetSizePixel();
 
@@ -117,6 +117,20 @@ namespace svx
                     {
                         if( maBmpSize.Width() <= 16 )
                             maUpdRect = Rectangle( Point( 0,12 ), Size( maBmpSize.Width(), 4 ) );
+                        else if(76 == maBmpSize.Width() && 12 == maBmpSize.Height())
+                        {
+                            maUpdRect.Left() = 22;
+                            maUpdRect.Top() = 2;
+                            maUpdRect.Right() = 73;
+                            maUpdRect.Bottom() = 9;
+                        }
+                        else if(30 == maBmpSize.Width() && 16 == maBmpSize.Height())
+                        {
+                            maUpdRect.Left() = 17;
+                            maUpdRect.Top() = 2;
+                            maUpdRect.Right() = 27;
+                            maUpdRect.Bottom() = 13;
+                        }
                         else
                             maUpdRect = Rectangle( Point( 1, maBmpSize.Height() - 7 ), Size( maBmpSize.Width() - 2 ,6 ) );
                     }

Modified: openoffice/branches/ia2/main/svx/source/unodraw/XPropertyTable.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/unodraw/XPropertyTable.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/unodraw/XPropertyTable.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/unodraw/XPropertyTable.cxx Tue Apr 23 09:51:15 2013
@@ -50,15 +50,13 @@ using namespace ::vos;
 class SvxUnoXPropertyTable : public WeakImplHelper2< container::XNameContainer, lang::XServiceInfo >
 {
 private:
-	XPropertyTable*	mpTable;
 	XPropertyList*	mpList;
 	sal_Int16 mnWhich;
 
-	long getCount() const { return mpList ? mpList->Count() : (mpTable?mpTable->Count():0); }
+    long getCount() const { return mpList ? mpList->Count() : 0 ; }
 	XPropertyEntry* get( long index ) const;
 public:
 	SvxUnoXPropertyTable( sal_Int16 nWhich, XPropertyList* pList ) throw();
-	SvxUnoXPropertyTable( sal_Int16 nWhich, XPropertyTable* pTable ) throw();
 
 	virtual	~SvxUnoXPropertyTable() throw();
 
@@ -84,13 +82,8 @@ public:
     virtual sal_Bool SAL_CALL hasElements(  ) throw( uno::RuntimeException);
 };
 
-SvxUnoXPropertyTable::SvxUnoXPropertyTable( sal_Int16 nWhich, XPropertyTable* pTable ) throw()
-: mpTable( pTable ), mpList( NULL ), mnWhich( nWhich )
-{
-}
-
 SvxUnoXPropertyTable::SvxUnoXPropertyTable( sal_Int16 nWhich, XPropertyList* pList ) throw()
-: mpTable( NULL ), mpList( pList ), mnWhich( nWhich )
+: mpList( pList ), mnWhich( nWhich )
 {
 }
 
@@ -100,9 +93,7 @@ SvxUnoXPropertyTable::~SvxUnoXPropertyTa
 
 XPropertyEntry* SvxUnoXPropertyTable::get( long index ) const
 {
-	if( mpTable )
-		return mpTable->Get( index, 0 );
-	else if( mpList )
+    if( mpList )
 		return mpList->Get( index, 0 );
 	else
 		return NULL;
@@ -131,7 +122,7 @@ void SAL_CALL SvxUnoXPropertyTable::inse
 {
 	OGuard aGuard( Application::GetSolarMutex() );
 
-	if( NULL == mpList && NULL == mpTable )
+	if( NULL == mpList )
 		throw lang::IllegalArgumentException();
 
 	if( hasByName( aName ) )
@@ -146,8 +137,6 @@ void SAL_CALL SvxUnoXPropertyTable::inse
 
 	if( mpList )
 		mpList->Insert( pNewEntry );
-	else
-		mpTable->Insert( mpTable->Count(), pNewEntry );
 }
 
 void SAL_CALL SvxUnoXPropertyTable::removeByName( const  OUString& Name )
@@ -168,8 +157,6 @@ void SAL_CALL SvxUnoXPropertyTable::remo
 		{
 			if( mpList )
 				delete mpList->Remove( i, 0 );
-			else
-				delete mpTable->Remove( i, 0 );
 			return;
 		}
 	}
@@ -200,8 +187,6 @@ void SAL_CALL SvxUnoXPropertyTable::repl
 
 			if( mpList )
 				delete mpList->Replace( pNewEntry, i );
-			else
-				delete mpTable->Replace( i, pNewEntry );
 			return;
 		}
 	}
@@ -291,7 +276,7 @@ sal_Bool SAL_CALL SvxUnoXPropertyTable::
 class SvxUnoXColorTable : public SvxUnoXPropertyTable
 {
 public:
-	SvxUnoXColorTable( XPropertyTable* pTable ) throw() : SvxUnoXPropertyTable( XATTR_LINECOLOR, pTable ) {};
+	SvxUnoXColorTable( XPropertyList* pTable ) throw() : SvxUnoXPropertyTable( XATTR_LINECOLOR, pTable ) {};
 
 	// SvxUnoXPropertyTable
 	virtual uno::Any getAny( const XPropertyEntry* pEntry ) const throw();
@@ -305,7 +290,7 @@ public:
     virtual uno::Sequence<  OUString > SAL_CALL getSupportedServiceNames(  ) throw( uno::RuntimeException);
 };
 
-uno::Reference< uno::XInterface > SAL_CALL SvxUnoXColorTable_createInstance( XPropertyTable* pTable ) throw()
+uno::Reference< uno::XInterface > SAL_CALL SvxUnoXColorTable_createInstance( XPropertyList* pTable ) throw()
 {
 	return (OWeakObject*) new SvxUnoXColorTable( pTable );
 }

Modified: openoffice/branches/ia2/main/svx/source/unodraw/recoveryui.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/unodraw/recoveryui.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/unodraw/recoveryui.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/unodraw/recoveryui.cxx Tue Apr 23 09:51:15 2013
@@ -186,7 +186,7 @@ static OUString GetCrashConfigDir() 
 {
 
 #if defined(WNT) || defined(OS2)
-	OUString	ustrValue = OUString::createFromAscii("${$BRAND_BASE_DIR/program/bootstrap.ini:UserInstallation}");
+	OUString	ustrValue = OUString::createFromAscii("${$OOO_BASE_DIR/program/bootstrap.ini:UserInstallation}");
 #elif defined(MACOSX)
 	OUString	ustrValue = OUString::createFromAscii("~");
 #else

Modified: openoffice/branches/ia2/main/svx/source/unodraw/unoctabl.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/unodraw/unoctabl.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/unodraw/unoctabl.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/unodraw/unoctabl.cxx Tue Apr 23 09:51:15 2013
@@ -44,7 +44,7 @@ using namespace ::cppu;
 class SvxUnoColorTable : public WeakImplHelper2< container::XNameContainer, lang::XServiceInfo >
 {
 private:
-	XColorTable*	pTable;
+	XColorList*	pTable;
 
 public:
 	SvxUnoColorTable() throw();
@@ -83,7 +83,7 @@ public:
 
 SvxUnoColorTable::SvxUnoColorTable() throw()
 {
-	pTable = new XColorTable( SvtPathOptions().GetPalettePath() );
+	pTable = new XColorList( SvtPathOptions().GetPalettePath() );
 }
 
 SvxUnoColorTable::~SvxUnoColorTable() throw()
@@ -135,14 +135,14 @@ void SAL_CALL SvxUnoColorTable::insertBy
 	if( pTable )
 	{
 		XColorEntry* pEntry = new XColorEntry( Color( (ColorData)nColor ), aName  );
-		pTable->Insert( pTable->Count(), pEntry );
+		pTable->Insert( pEntry, pTable->Count() );
 	}
 }
 
 void SAL_CALL SvxUnoColorTable::removeByName( const OUString& Name )
 	throw( container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException)
 {
-	long nIndex = pTable ? ((XPropertyTable*)pTable)->Get( Name ) : -1;
+	long nIndex = pTable ? ((XPropertyList*)pTable)->Get( Name ) : -1;
 	if( nIndex == -1 )
 		throw container::NoSuchElementException();
 
@@ -157,23 +157,23 @@ void SAL_CALL SvxUnoColorTable::replaceB
 	if( !(aElement >>= nColor) )
 		throw lang::IllegalArgumentException();
 
-	long nIndex = pTable ? ((XPropertyTable*)pTable)->Get( aName ) : -1;
+	long nIndex = pTable ? ((XPropertyList*)pTable)->Get( aName ) : -1;
 	if( nIndex == -1  )
 		throw container::NoSuchElementException();
 
 	XColorEntry* pEntry = new XColorEntry( Color( (ColorData)nColor ), aName );
-	delete pTable->Replace( nIndex, pEntry );
+	delete pTable->Replace( pEntry, nIndex );
 }
 
 // XNameAccess
 uno::Any SAL_CALL SvxUnoColorTable::getByName( const  OUString& aName )
 	throw( container::NoSuchElementException,  lang::WrappedTargetException, uno::RuntimeException)
 {
-	long nIndex = pTable ? ((XPropertyTable*)pTable)->Get( aName ) : -1;
+	long nIndex = pTable ? ((XPropertyList*)pTable)->Get( aName ) : -1;
 	if( nIndex == -1 )
 		throw container::NoSuchElementException();
 
-	XColorEntry* pEntry = ((XColorTable*)pTable)->GetColor( nIndex );
+	XColorEntry* pEntry = ((XColorList*)pTable)->GetColor( nIndex );
 	return uno::Any( (sal_Int32) pEntry->GetColor().GetRGBColor() );
 }
 
@@ -197,7 +197,7 @@ uno::Sequence< OUString > SAL_CALL SvxUn
 sal_Bool SAL_CALL SvxUnoColorTable::hasByName( const OUString& aName )
 	throw( uno::RuntimeException )
 {
-	long nIndex = pTable ? ((XPropertyTable*)pTable)->Get( aName ) : -1;
+	long nIndex = pTable ? ((XPropertyList*)pTable)->Get( aName ) : -1;
 	return nIndex != -1;
 }
 
@@ -238,6 +238,8 @@ uno::Reference< uno::XInterface > SAL_CA
 #include "cppuhelper/factory.hxx"
 #include "uno/lbnames.h"
 #include <svx/sdr/primitive2d/primitiveFactory2d.hxx>
+#include "sidebar/PanelFactory.hxx"
+
 
 /*
 namespace svx
@@ -366,16 +368,15 @@ SAL_DLLPUBLIC_EXPORT void * SAL_CALL com
                 ::svx::SvXMLGraphicExportHelper_createInstance,
                 ::svx::SvXMLGraphicExportHelper_getSupportedServiceNames() );
         }
-/*
-		else if( ::svx::ExtrusionDepthController_getImplementationName().equalsAscii( pImplName ) )
-		{
-			xFactory = ::cppu::createSingleFactory(
-				reinterpret_cast< lang::XMultiServiceFactory * >( pServiceManager ),
-				::svx::ExtrusionDepthController_getImplementationName(),
-				::svx::ExtrusionDepthController_createInstance,
-				::svx::ExtrusionDepthController_getSupportedServiceNames() );
-		}
-*/
+        else if (::svx::sidebar::PanelFactory::getImplementationName().equalsAscii(pImplName))
+        {
+            xFactory = ::cppu::createSingleFactory(
+                reinterpret_cast<lang::XMultiServiceFactory*>(pServiceManager),
+                ::svx::sidebar::PanelFactory::getImplementationName(),
+                ::svx::sidebar::PanelFactory::createInstance,
+                ::svx::sidebar::PanelFactory::getSupportedServiceNames());
+        }
+
 		if( xFactory.is())
 		{
 			xFactory->acquire();

Modified: openoffice/branches/ia2/main/svx/source/xoutdev/xattr.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/xoutdev/xattr.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/xoutdev/xattr.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/xoutdev/xattr.cxx Tue Apr 23 09:51:15 2013
@@ -471,11 +471,11 @@ SvStream& XColorItem::Store( SvStream& r
 
 /*************************************************************************
 |*
-|*	  const XColor& XColorItem::GetColorValue(const XColorTable* pTable) const
+|*	  const XColor& XColorItem::GetColorValue(const XColorList* pTable) const
 |*
 \************************************************************************/
 
-const Color& XColorItem::GetColorValue(const XColorTable* pTable) const
+const Color& XColorItem::GetColorValue(const XColorList* pTable) const
 {
 	if (!IsIndex())
 		return aColor;
@@ -1047,7 +1047,7 @@ SvStream& XLineDashItem::Store( SvStream
 
 /*************************************************************************
 |*
-|*	  const XDash& XLineDashItem::GetValue(const XDashTable* pTable) const
+|*	  const XDash& XLineDashItem::GetValue(const XDashList* pTable) const
 |*
 |*	  Beschreibung
 |*	  Ersterstellung	15.11.94
@@ -1055,7 +1055,7 @@ SvStream& XLineDashItem::Store( SvStream
 |*
 *************************************************************************/
 
-const XDash& XLineDashItem::GetDashValue(const XDashTable* pTable) const // GetValue -> GetDashValue
+const XDash& XLineDashItem::GetDashValue(const XDashList* pTable) const // GetValue -> GetDashValue
 {
 	if (!IsIndex())
 		return aDash;
@@ -1868,7 +1868,7 @@ SvStream& XLineStartItem::Store( SvStrea
 
 /*************************************************************************
 |*
-|*	  const basegfx::B2DPolyPolygon& XLineStartItem::GetValue(const XLineEndTable* pTable)
+|*	  const basegfx::B2DPolyPolygon& XLineStartItem::GetValue(const XLineEndList* pTable)
 |*											   const
 |*
 |*	  Beschreibung
@@ -1877,7 +1877,7 @@ SvStream& XLineStartItem::Store( SvStrea
 |*
 *************************************************************************/
 
-basegfx::B2DPolyPolygon XLineStartItem::GetLineStartValue(const XLineEndTable* pTable) const
+basegfx::B2DPolyPolygon XLineStartItem::GetLineStartValue(const XLineEndList* pTable) const
 {
 	if (!IsIndex())
 	{
@@ -2340,7 +2340,7 @@ SvStream& XLineEndItem::Store( SvStream&
 
 /*************************************************************************
 |*
-|*	  const basegfx::B2DPolyPolygon& XLineEndItem::GetValue(const XLineEndTable* pTable) const
+|*	  const basegfx::B2DPolyPolygon& XLineEndItem::GetValue(const XLineEndList* pTable) const
 |*
 |*	  Beschreibung
 |*	  Ersterstellung	15.11.94
@@ -2348,7 +2348,7 @@ SvStream& XLineEndItem::Store( SvStream&
 |*
 *************************************************************************/
 
-basegfx::B2DPolyPolygon XLineEndItem::GetLineEndValue(const XLineEndTable* pTable) const
+basegfx::B2DPolyPolygon XLineEndItem::GetLineEndValue(const XLineEndList* pTable) const
 {
 	if (!IsIndex())
 	{
@@ -3713,7 +3713,7 @@ SvStream& XFillGradientItem::Store( SvSt
 
 /*************************************************************************
 |*
-|*	  const XGradient& XFillGradientItem::GetValue(const XGradientTable* pTable)
+|*	  const XGradient& XFillGradientItem::GetValue(const XGradientList* pTable)
 |*																   const
 |*
 |*	  Beschreibung
@@ -3722,7 +3722,7 @@ SvStream& XFillGradientItem::Store( SvSt
 |*
 *************************************************************************/
 
-const XGradient& XFillGradientItem::GetGradientValue(const XGradientTable* pTable) const // GetValue -> GetGradientValue
+const XGradient& XFillGradientItem::GetGradientValue(const XGradientList* pTable) const // GetValue -> GetGradientValue
 {
 	if (!IsIndex())
 		return aGradient;
@@ -4423,7 +4423,7 @@ SvStream& XFillHatchItem::Store( SvStrea
 
 /*************************************************************************
 |*
-|*	  const XHatch& XFillHatchItem::GetValue(const XHatchTable* pTable) const
+|*	  const XHatch& XFillHatchItem::GetValue(const XHatchList* pTable) const
 |*
 |*	  Beschreibung
 |*	  Ersterstellung	15.11.94
@@ -4431,7 +4431,7 @@ SvStream& XFillHatchItem::Store( SvStrea
 |*
 *************************************************************************/
 
-const XHatch& XFillHatchItem::GetHatchValue(const XHatchTable* pTable) const // GetValue -> GetHatchValue
+const XHatch& XFillHatchItem::GetHatchValue(const XHatchList* pTable) const // GetValue -> GetHatchValue
 {
 	if (!IsIndex())
 		return aHatch;
@@ -5454,113 +5454,6 @@ SfxPoolItem* XFormTextShadowYValItem::Cr
 	return new XFormTextShadowYValItem(rIn);
 }
 
-//---------------------------
-// class XFormTextStdFormItem
-//---------------------------
-TYPEINIT1_AUTOFACTORY(XFormTextStdFormItem, SfxEnumItem);
-
-/*************************************************************************
-|*
-|*	  XFormTextStdFormItem::XFormTextStdFormItem()
-|*
-|*	  Beschreibung
-|*	  Ersterstellung	27.06.95
-|*	  Letzte Aenderung	27.06.95
-|*
-*************************************************************************/
-
-XFormTextStdFormItem::XFormTextStdFormItem(XFormTextStdForm eFormTextStdForm) :
-	SfxEnumItem(
-        XATTR_FORMTXTSTDFORM, sal::static_int_cast< sal_uInt16 >(eFormTextStdForm))
-{
-}
-
-/*************************************************************************
-|*
-|*	  XFormTextStdFormItem::XFormTextStdFormItem(SvStream& rIn)
-|*
-|*	  Beschreibung
-|*	  Ersterstellung	27.06.95
-|*	  Letzte Aenderung	27.06.95
-|*
-*************************************************************************/
-
-XFormTextStdFormItem::XFormTextStdFormItem(SvStream& rIn) :
-	SfxEnumItem(XATTR_FORMTXTSTDFORM, rIn)
-{
-}
-
-/*************************************************************************
-|*
-|*	  XFormTextStdFormItem::Clone(SfxItemPool* pPool) const
-|*
-|*	  Beschreibung
-|*	  Ersterstellung	27.06.95
-|*	  Letzte Aenderung	27.06.95
-|*
-*************************************************************************/
-
-SfxPoolItem* XFormTextStdFormItem::Clone(SfxItemPool* /*pPool*/) const
-{
-	return new XFormTextStdFormItem( *this );
-}
-
-/*************************************************************************
-|*
-|*	  SfxPoolItem* XFormTextStdFormItem::Create(SvStream& rIn, sal_uInt16 nVer) const
-|*
-|*	  Beschreibung
-|*	  Ersterstellung	27.06.95
-|*	  Letzte Aenderung	27.06.95
-|*
-*************************************************************************/
-
-SfxPoolItem* XFormTextStdFormItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const
-{
-	return new XFormTextStdFormItem(rIn);
-}
-
-
-/*************************************************************************
-|*
-|*
-|*
-\*************************************************************************/
-
-sal_uInt16 XFormTextStdFormItem::GetValueCount() const
-{
-	return 3;
-}
-
-/*************************************************************************
-|*
-|*
-|*
-\*************************************************************************/
-
-// #FontWork#
-sal_Bool XFormTextStdFormItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
-{
-	rVal <<= (sal_Int32)GetValue();
-	return sal_True;
-}
-
-/*************************************************************************
-|*
-|*
-|*
-\*************************************************************************/
-
-// #FontWork#
-sal_Bool XFormTextStdFormItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
-{
-	sal_Int32 nValue = 0;
-	rVal >>= nValue;
-	SetValue(sal::static_int_cast< sal_uInt16 >(nValue));
-
-	return sal_True;
-}
-
 // --------------------------
 // class XFormTextHideFormItem
 // --------------------------

Modified: openoffice/branches/ia2/main/svx/source/xoutdev/xattr2.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/xoutdev/xattr2.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/xoutdev/xattr2.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/xoutdev/xattr2.cxx Tue Apr 23 09:51:15 2013
@@ -37,6 +37,7 @@
 #include <svx/dialmgr.hxx>
 #include <editeng/itemtype.hxx>
 #include <svx/xdef.hxx>
+#include <svx/AffineMatrixItem.hxx>
 
 #define GLOBALOVERFLOW
 
@@ -143,7 +144,7 @@ TYPEINIT1_AUTOFACTORY(XLineJointItem, Sf
 
 // -----------------------------------------------------------------------------
 
-XLineJointItem::XLineJointItem( XLineJoint eLineJoint ) :
+XLineJointItem::XLineJointItem( com::sun::star::drawing::LineJoint eLineJoint ) :
 	SfxEnumItem(XATTR_LINEJOINT, sal::static_int_cast< sal_uInt16 >(eLineJoint))
 {
 }
@@ -169,7 +170,7 @@ SfxPoolItem* XLineJointItem::Create( SvS
 	XLineJointItem* pRet = new XLineJointItem( rIn );
 
 	if(nVer < 1)
-		pRet->SetValue(XLINEJOINT_ROUND);
+		pRet->SetValue(com::sun::star::drawing::LineJoint_ROUND);
 
 	return pRet;
 }
@@ -184,7 +185,7 @@ SfxPoolItem* XLineJointItem::Clone(SfxIt
 // -----------------------------------------------------------------------------
 
 SfxItemPresentation XLineJointItem::GetPresentation( SfxItemPresentation ePres,	SfxMapUnit /*eCoreUnit*/,
-                                                     SfxMapUnit /*ePresUnit*/, XubString& rText, const IntlWrapper*) const
+    SfxMapUnit /*ePresUnit*/, XubString& rText, const IntlWrapper*) const
 {
 	rText.Erase();
 
@@ -199,26 +200,26 @@ SfxItemPresentation XLineJointItem::GetP
 
 			switch( GetValue() )
 			{
-				case( XLINEJOINT_NONE ):
+				case( com::sun::star::drawing::LineJoint_NONE ):
 					nId = RID_SVXSTR_LINEJOINT_NONE;
 				break;
 
-				case( XLINEJOINT_MIDDLE ):
+				case( com::sun::star::drawing::LineJoint_MIDDLE ):
 					nId = RID_SVXSTR_LINEJOINT_MIDDLE;
 				break;
 
 
-				case( XLINEJOINT_BEVEL ):
+				case( com::sun::star::drawing::LineJoint_BEVEL ):
 					nId = RID_SVXSTR_LINEJOINT_BEVEL;
 				break;
 
 
-				case( XLINEJOINT_MITER ):
+				case( com::sun::star::drawing::LineJoint_MITER ):
 					nId = RID_SVXSTR_LINEJOINT_MITER;
 				break;
 
 
-				case( XLINEJOINT_ROUND ):
+				case( com::sun::star::drawing::LineJoint_ROUND ):
 					nId = RID_SVXSTR_LINEJOINT_ROUND;
 				break;
 			}
@@ -237,28 +238,7 @@ SfxItemPresentation XLineJointItem::GetP
 
 sal_Bool XLineJointItem::QueryValue( ::com::sun::star::uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
 {
-	::com::sun::star::drawing::LineJoint eJoint = ::com::sun::star::drawing::LineJoint_NONE;
-
-	switch( GetValue() )
-	{
-	case XLINEJOINT_NONE:
-		break;
-	case XLINEJOINT_MIDDLE:
-		eJoint = ::com::sun::star::drawing::LineJoint_MIDDLE;
-		break;
-	case XLINEJOINT_BEVEL:
-		eJoint = ::com::sun::star::drawing::LineJoint_BEVEL;
-		break;
-	case XLINEJOINT_MITER:
-		eJoint = ::com::sun::star::drawing::LineJoint_MITER;
-		break;
-	case XLINEJOINT_ROUND:
-		eJoint = ::com::sun::star::drawing::LineJoint_ROUND;
-		break;
-	default:
-		DBG_ERROR( "Unknown LineJoint enum value!" );
-	}
-
+	const ::com::sun::star::drawing::LineJoint eJoint = GetValue();
 	rVal <<= eJoint;
 	return sal_True;
 }
@@ -267,7 +247,6 @@ sal_Bool XLineJointItem::QueryValue( ::c
 
 sal_Bool XLineJointItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_uInt8 /*nMemberId*/)
 {
-	XLineJoint eJoint = XLINEJOINT_NONE;
 	::com::sun::star::drawing::LineJoint eUnoJoint;
 
 	if(!(rVal >>= eUnoJoint))
@@ -279,25 +258,7 @@ sal_Bool XLineJointItem::PutValue( const
         eUnoJoint = (::com::sun::star::drawing::LineJoint)nLJ;
     }
 
-	switch( eUnoJoint )
-	{
-	case ::com::sun::star::drawing::LineJoint_MIDDLE:
-		eJoint = XLINEJOINT_MIDDLE;
-		break;
-	case ::com::sun::star::drawing::LineJoint_BEVEL:
-		eJoint = XLINEJOINT_BEVEL;
-		break;
-	case ::com::sun::star::drawing::LineJoint_MITER:
-		eJoint = XLINEJOINT_MITER;
-		break;
-	case ::com::sun::star::drawing::LineJoint_ROUND:
-		eJoint = XLINEJOINT_ROUND;
-		break;
-	default:
-		break;
-	}
-
-	SetValue( sal::static_int_cast< sal_uInt16 >( eJoint ) );
+	SetValue( sal::static_int_cast< sal_uInt16 >( eUnoJoint ) );
 
 	return sal_True;
 }
@@ -310,6 +271,116 @@ sal_uInt16 XLineJointItem::GetValueCount
 	return 5;
 }
 
+//---------------------
+// class AffineMatrixItem
+//---------------------
+
+TYPEINIT1_AUTOFACTORY(AffineMatrixItem, SfxPoolItem);
+
+AffineMatrixItem::AffineMatrixItem(const com::sun::star::geometry::AffineMatrix2D* pMatrix)
+:   SfxPoolItem(SID_ATTR_TRANSFORM_MATRIX)
+{
+    if(pMatrix)
+    {
+        maMatrix = *pMatrix;
+    }
+    else
+    {
+        maMatrix.m00 = 1.0;
+        maMatrix.m01 = 0.0;
+        maMatrix.m02 = 0.0;
+        maMatrix.m10 = 0.0;
+        maMatrix.m11 = 1.0;
+        maMatrix.m12 = 0.0;
+    }
+}
+
+AffineMatrixItem::AffineMatrixItem(SvStream& rIn)
+:   SfxPoolItem(SID_ATTR_TRANSFORM_MATRIX)
+{
+    rIn >> maMatrix.m00;
+    rIn >> maMatrix.m01;
+    rIn >> maMatrix.m02;
+    rIn >> maMatrix.m10;
+    rIn >> maMatrix.m11;
+    rIn >> maMatrix.m12;
+}
+
+AffineMatrixItem::AffineMatrixItem(const AffineMatrixItem& rRef)
+:   SfxPoolItem(SID_ATTR_TRANSFORM_MATRIX)
+{
+    maMatrix = rRef.maMatrix;
+}
+
+AffineMatrixItem::~AffineMatrixItem()
+{
+}
+
+int AffineMatrixItem::operator==(const SfxPoolItem& rRef) const
+{
+    if(!SfxPoolItem::operator==(rRef))
+    {
+        return 0;
+    }
+
+    const AffineMatrixItem* pRef = dynamic_cast< const AffineMatrixItem* >(&rRef);
+
+    if(!pRef)
+    {
+        return 0;
+    }
+
+    return (maMatrix.m00 == pRef->maMatrix.m00
+        && maMatrix.m01 == pRef->maMatrix.m01
+        && maMatrix.m02 == pRef->maMatrix.m02
+        && maMatrix.m10 == pRef->maMatrix.m10
+        && maMatrix.m11 == pRef->maMatrix.m11
+        && maMatrix.m12 == pRef->maMatrix.m12);
+}
+
+SfxPoolItem* AffineMatrixItem::Clone( SfxItemPool* /*pPool*/ ) const
+{
+    return new AffineMatrixItem(*this);
+}
+
+SfxPoolItem* AffineMatrixItem::Create( SvStream& rIn, sal_uInt16 /*nVer*/ ) const
+{
+    return new AffineMatrixItem(rIn);
+}
+
+SvStream& AffineMatrixItem::Store(SvStream &rStream, sal_uInt16 /*nItemVersion*/ ) const
+{
+    rStream << maMatrix.m00;
+    rStream << maMatrix.m01;
+    rStream << maMatrix.m02;
+    rStream << maMatrix.m10;
+    rStream << maMatrix.m11;
+    rStream << maMatrix.m12;
+    return rStream;
+}
+
+sal_Bool AffineMatrixItem::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 /* nMemberId */ ) const
+{
+    rVal <<= maMatrix;
+    return sal_True;
+}
+
+sal_Bool AffineMatrixItem::PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 /* nMemberId */ )
+{
+    if (rVal >>= maMatrix)
+    {
+        return sal_True;
+    }
+
+    DBG_ERROR( "AffineMatrixItem::PutValue - Wrong type!" );
+    return sal_False;
+}
+
+const com::sun::star::geometry::AffineMatrix2D& AffineMatrixItem::GetAffineMatrix2D() const
+{
+    return maMatrix;
+}
+
 //-----------------------
 // class XLineCapItem -
 //-----------------------

Modified: openoffice/branches/ia2/main/svx/source/xoutdev/xpool.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/xoutdev/xpool.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/xoutdev/xpool.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/xoutdev/xpool.cxx Tue Apr 23 09:51:15 2013
@@ -118,7 +118,6 @@ XOutdevItemPool::XOutdevItemPool(
 	mppLocalPoolDefaults[XATTR_FORMTXTSHDWCOLOR   -XATTR_START] = new XFormTextShadowColorItem(aNullStr,aNullShadowCol);
 	mppLocalPoolDefaults[XATTR_FORMTXTSHDWXVAL    -XATTR_START] = new XFormTextShadowXValItem;
 	mppLocalPoolDefaults[XATTR_FORMTXTSHDWYVAL    -XATTR_START] = new XFormTextShadowYValItem;
-	mppLocalPoolDefaults[XATTR_FORMTXTSTDFORM     -XATTR_START] = new XFormTextStdFormItem;
 	mppLocalPoolDefaults[XATTR_FORMTXTHIDEFORM    -XATTR_START] = new XFormTextHideFormItem;
 	mppLocalPoolDefaults[XATTR_FORMTXTSHDWTRANSP  -XATTR_START] = new XFormTextShadowTranspItem;
 
@@ -161,9 +160,15 @@ XOutdevItemPool::XOutdevItemPool(
 	mpLocalItemInfos[XATTR_FORMTXTSHDWCOLOR -XATTR_START]._nSID = SID_FORMTEXT_SHDWCOLOR;
 	mpLocalItemInfos[XATTR_FORMTXTSHDWXVAL  -XATTR_START]._nSID = SID_FORMTEXT_SHDWXVAL;
 	mpLocalItemInfos[XATTR_FORMTXTSHDWYVAL  -XATTR_START]._nSID = SID_FORMTEXT_SHDWYVAL;
-	mpLocalItemInfos[XATTR_FORMTXTSTDFORM   -XATTR_START]._nSID = SID_FORMTEXT_STDFORM;
 	mpLocalItemInfos[XATTR_FORMTXTHIDEFORM  -XATTR_START]._nSID = SID_FORMTEXT_HIDEFORM;
 
+    // associate new slots for panels with known items
+    mpLocalItemInfos[XATTR_FILLTRANSPARENCE - XATTR_START]._nSID = SID_ATTR_FILL_TRANSPARENCE;
+    mpLocalItemInfos[XATTR_FILLFLOATTRANSPARENCE - XATTR_START]._nSID = SID_ATTR_FILL_FLOATTRANSPARENCE;
+    mpLocalItemInfos[XATTR_LINETRANSPARENCE - XATTR_START]._nSID = SID_ATTR_LINE_TRANSPARENCE;
+    mpLocalItemInfos[XATTR_LINEJOINT - XATTR_START]._nSID = SID_ATTR_LINE_JOINT;
+    mpLocalItemInfos[XATTR_LINECAP - XATTR_START]._nSID = SID_ATTR_LINE_CAP;
+
 	// if it's my own creation level, set Defaults and ItemInfos
 	if(XATTR_START == GetFirstWhich() && XATTR_END == GetLastWhich())
 	{

Modified: openoffice/branches/ia2/main/svx/source/xoutdev/xtabbtmp.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/svx/source/xoutdev/xtabbtmp.cxx?rev=1470868&r1=1470867&r2=1470868&view=diff
==============================================================================
--- openoffice/branches/ia2/main/svx/source/xoutdev/xtabbtmp.cxx (original)
+++ openoffice/branches/ia2/main/svx/source/xoutdev/xtabbtmp.cxx Tue Apr 23 09:51:15 2013
@@ -51,102 +51,13 @@ static char const aChckBitmap0[] = { 0x0
 static char const aChckBitmap1[] = { 0x04, 0x00, 'S','O','B','1'};	// = 5.2
 static char const aChckXML[]     = { 'P', 'K', 0x03, 0x04 };		// = 6.0
 
-// -------------------
-// class XBitmapTable
-// -------------------
-
-/*************************************************************************
-|*
-|* XBitmapTable::XBitmapTable()
-|*
-*************************************************************************/
-
-XBitmapTable::XBitmapTable( const String& rPath,
-							XOutdevItemPool* pInPool,
-							sal_uInt16 nInitSize, sal_uInt16 nReSize ) :
-				XPropertyTable( rPath, pInPool, nInitSize, nReSize)
-{
-	pBmpTable = new Table( nInitSize, nReSize );
-}
-
-/************************************************************************/
-
-XBitmapTable::~XBitmapTable()
-{
-}
-
-/************************************************************************/
-
-XBitmapEntry* XBitmapTable::Replace(long nIndex, XBitmapEntry* pEntry )
-{
-	return (XBitmapEntry*) XPropertyTable::Replace(nIndex, pEntry);
-}
-
-/************************************************************************/
-
-XBitmapEntry* XBitmapTable::Remove(long nIndex)
-{
-	return (XBitmapEntry*) XPropertyTable::Remove(nIndex, 0);
-}
-
-/************************************************************************/
-
-XBitmapEntry* XBitmapTable::GetBitmap(long nIndex) const
-{
-	return (XBitmapEntry*) XPropertyTable::Get(nIndex, 0);
-}
-
-/************************************************************************/
-
-sal_Bool XBitmapTable::Load()
-{
-	return( sal_False );
-}
-
-/************************************************************************/
-
-sal_Bool XBitmapTable::Save()
-{
-	return( sal_False );
-}
-
-/************************************************************************/
-
-sal_Bool XBitmapTable::Create()
-{
-	return( sal_False );
-}
-
-/************************************************************************/
-
-sal_Bool XBitmapTable::CreateBitmapsForUI()
-{
-	return( sal_False );
-}
-
-/************************************************************************/
-
-Bitmap* XBitmapTable::CreateBitmapForUI( long /*nIndex*/, sal_Bool /*bDelete*/)
-{
-	return( NULL );
-}
-
 // ------------------
 // class XBitmapList
 // ------------------
 
-/*************************************************************************
-|*
-|* XBitmapList::XBitmapList()
-|*
-*************************************************************************/
-
-XBitmapList::XBitmapList( const String& rPath,
-							XOutdevItemPool* pInPool,
-							sal_uInt16 nInitSize, sal_uInt16 nReSize ) :
-				XPropertyList( rPath, pInPool, nInitSize, nReSize)
+XBitmapList::XBitmapList( const String& rPath, XOutdevItemPool* pInPool ) :
+				XPropertyList( rPath, pInPool )
 {
-	// pBmpList = new List( nInitSize, nReSize );
 }
 
 /************************************************************************/
@@ -180,19 +91,19 @@ XBitmapEntry* XBitmapList::GetBitmap(lon
 
 sal_Bool XBitmapList::Load()
 {
-	if( bListDirty )
+	if( mbListDirty )
 	{
-		bListDirty = sal_False;
+		mbListDirty = false;
 
-		INetURLObject aURL( aPath );
+		INetURLObject aURL( maPath );
 
 		if( INET_PROT_NOT_VALID == aURL.GetProtocol() )
 		{
-			DBG_ASSERT( !aPath.Len(), "invalid URL" );
+			DBG_ASSERT( !maPath.Len(), "invalid URL" );
 			return sal_False;
 		}
 
-		aURL.Append( aName );
+		aURL.Append( maName );
 
 		if( !aURL.getExtension().getLength() )
 			aURL.setExtension( rtl::OUString( pszExtBitmap, 3 ) );
@@ -207,15 +118,15 @@ sal_Bool XBitmapList::Load()
 
 sal_Bool XBitmapList::Save()
 {
-	INetURLObject aURL( aPath );
+	INetURLObject aURL( maPath );
 
 	if( INET_PROT_NOT_VALID == aURL.GetProtocol() )
 	{
-		DBG_ASSERT( !aPath.Len(), "invalid URL" );
+		DBG_ASSERT( !maPath.Len(), "invalid URL" );
 		return sal_False;
 	}
 
-	aURL.Append( aName );
+	aURL.Append( maName );
 
 	if( !aURL.getExtension().getLength() )
 		aURL.setExtension( rtl::OUString( pszExtBitmap, 3 ) );
@@ -276,16 +187,9 @@ sal_Bool XBitmapList::Create()
 
 /************************************************************************/
 
-sal_Bool XBitmapList::CreateBitmapsForUI()
-{
-	return( sal_False );
-}
-
-/************************************************************************/
-
-Bitmap* XBitmapList::CreateBitmapForUI( long /*nIndex*/, sal_Bool /*bDelete*/)
+Bitmap XBitmapList::CreateBitmapForUI( long /*nIndex*/ )
 {
-	return( NULL );
+	return Bitmap();
 }
 
 // eof