You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by al...@apache.org on 2013/02/27 19:10:44 UTC

svn commit: r1450891 [2/2] - in /openoffice/branches/sidebar/main: chart2/source/controller/drawinglayer/ cui/source/tabpages/ filter/source/msfilter/ sc/sdi/ sc/source/filter/excel/ sc/source/ui/app/ sc/source/ui/drawfunc/ sd/sdi/ sd/source/core/ sd/s...

Modified: openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.cxx?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.cxx (original)
+++ openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.cxx Wed Feb 27 18:10:43 2013
@@ -49,6 +49,8 @@
 #include <svx/xlntrit.hxx>
 #include <svx/xlnstit.hxx>
 #include <svx/xlnedit.hxx>
+#include <svx/xlncapit.hxx>
+#include <svx/xlinjoit.hxx>
 
 using namespace css;
 using namespace cssu;
@@ -1275,14 +1277,20 @@ LinePropertyPanel::LinePropertyPanel(
     mpFTArrow(new FixedText(this, SVX_RES(FT_ARROW))),
     mpLBStart(new LineEndLB_LPP(this, SVX_RES(LB_START))),
     mpLBEnd(new LineEndLB_LPP(this, SVX_RES(LB_END))),
-    maColorControl(SID_ATTR_LINE_COLOR, *pBindings, *this),
-    maStyleControl(SID_ATTR_LINE_STYLE, *pBindings, *this),
-    maDashControl (SID_ATTR_LINE_DASH, *pBindings, *this),
-    maWidthControl(SID_ATTR_LINE_WIDTH, *pBindings, *this),
-    maTransControl(SID_ATTR_LINE_TRANSPARENCE, *pBindings, *this),
-    maStartControl(SID_ATTR_LINE_START, *pBindings, *this),
-    maEndControl(SID_ATTR_LINE_END, *pBindings, *this),
-    maLineEndListControl(SID_LINEEND_LIST, *pBindings, *this),
+    mpFTEdgeStyle(new FixedText(this, SVX_RES(FT_EDGESTYLE))),
+    mpLBEdgeStyle(new ListBox(this, SVX_RES(LB_EDGESTYLE))),
+    mpFTCapStyle(new FixedText(this, SVX_RES(FT_CAPSTYLE))),
+    mpLBCapStyle(new ListBox(this, SVX_RES(LB_CAPSTYLE))),
+    maStyleControl(SID_ATTR_LINE_STYLE, *pBindings, *this),             // ( SID_SVX_START + 169 )
+    maDashControl (SID_ATTR_LINE_DASH, *pBindings, *this),              // ( SID_SVX_START + 170 )
+    maWidthControl(SID_ATTR_LINE_WIDTH, *pBindings, *this),             // ( SID_SVX_START + 171 )
+    maColorControl(SID_ATTR_LINE_COLOR, *pBindings, *this),             // ( SID_SVX_START + 172 )
+    maStartControl(SID_ATTR_LINE_START, *pBindings, *this),             // ( SID_SVX_START + 173 )
+    maEndControl(SID_ATTR_LINE_END, *pBindings, *this),                 // ( SID_SVX_START + 174 )
+    maLineEndListControl(SID_LINEEND_LIST, *pBindings, *this),          // ( SID_SVX_START + 184 )
+    maTransControl(SID_ATTR_LINE_TRANSPARENCE, *pBindings, *this),      // (SID_SVX_START+1107)
+    maEdgeStyle(SID_ATTR_LINE_JOINT, *pBindings, *this),                // (SID_SVX_START+1110)
+    maCapStyle(SID_ATTR_LINE_CAP, *pBindings, *this),                   // (SID_SVX_START+1111)
     maColor(COL_BLACK),
     mpColorUpdater(new ::svx::ToolboxButtonColorUpdater(SID_ATTR_LINE_COLOR, TBI_COLOR, mpTBColor.get(), TBX_UPDATER_MODE_CHAR_COLOR_NEW)),
     mpStyleItem(),
@@ -1445,6 +1453,14 @@ void LinePropertyPanel::Initialize()
 	mpMFTransparent->SetAccessibleRelationLabeledBy(mpFTTrancparency.get());
 	mpLBStart->SetAccessibleRelationLabeledBy(mpFTArrow.get());
 	mpLBEnd->SetAccessibleRelationLabeledBy(mpLBEnd.get());
+
+    aLink = LINK( this, LinePropertyPanel, ChangeEdgeStyleHdl );
+    mpLBEdgeStyle->SetSelectHdl( aLink );
+    mpLBEdgeStyle->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Corner Style")));
+
+    aLink = LINK( this, LinePropertyPanel, ChangeCapStyleHdl );
+    mpLBCapStyle->SetSelectHdl( aLink );
+    mpLBCapStyle->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Cap Style")));
 }
 
 //////////////////////////////////////////////////////////////////////////////
@@ -1518,151 +1534,279 @@ void LinePropertyPanel::NotifyItemUpdate
 {
 	switch(nSID)
 	{
-	case SID_ATTR_LINE_COLOR:
-		if( eState == SFX_ITEM_DISABLED)
-		{ 
-			mpFTColor->Disable();
-			mpTBColor->Disable();
-			mbColorAvailable = false;
-			mpColorUpdater->Update(COL_WHITE);
-		}
-		else
-		{
-			mpFTColor->Enable();
-			mpTBColor->Enable();
-			if (  eState >= SFX_ITEM_DEFAULT && pState && pState->ISA(XLineColorItem) )
-			{
-				maColor = ((const XLineColorItem*)pState)->GetColorValue();
-				mbColorAvailable = true;
-				mpColorUpdater->Update(maColor);
-			}
-			else
-			{
-				mbColorAvailable = false;
-				mpColorUpdater->Update(COL_WHITE);
-			}	
-		}
-		break;
-	case SID_ATTR_LINE_STYLE:
-	case SID_ATTR_LINE_DASH:
-		if( eState == SFX_ITEM_DISABLED)
-		{
-			mpFTStyle->Disable();
-			mpTBStyle->Disable();
-			mpTBStyle->SetItemImage(TBI_STYLE,maIMGNone);
-		}
-		else
-		{
-			mpFTStyle->Enable();
-			mpTBStyle->Enable();
-			if( eState  >= SFX_ITEM_DEFAULT )
-			{
-				if(nSID == SID_ATTR_LINE_STYLE && pState && pState->ISA(XLineStyleItem))
-				{
-					mbStyleAvailable =true;
-					mpStyleItem.reset(pState ? (XLineStyleItem*)pState->Clone() : 0);
-				}
-				else if(nSID == SID_ATTR_LINE_DASH && pState && pState->ISA(XLineDashItem))
-				{
-					mbDashAvailable = true;
-					mpDashItem.reset(pState ? (XLineDashItem*)pState->Clone() : 0);
-				}
-			}
-			else
-			{
-				if(nSID == SID_ATTR_LINE_STYLE)
-					mbStyleAvailable = false;
-				else 
-					mbDashAvailable = false;
-			}
-			SetStyleIcon();
-		}
-		break;
-	case SID_ATTR_LINE_TRANSPARENCE:
-		if( eState == SFX_ITEM_DISABLED )
-		{
-			mpFTTrancparency->Disable();
-			mpMFTransparent->Disable();
-			mpMFTransparent->SetValue(0);//add 
-			mpMFTransparent->SetText(String());
-			mbTransAvailable = false;
-		}
-		else
-		{
-			mpFTTrancparency->Enable();
-			mpMFTransparent->Enable();
-			mbTransAvailable = true;
-			if(eState != SFX_ITEM_DONTCARE && pState && pState->ISA(XLineTransparenceItem) )
-			{
-				const XLineTransparenceItem* pItem = (const XLineTransparenceItem*)pState;
-				mnTrans = pItem->GetValue();
-				mpMFTransparent->SetValue(mnTrans);
-			}
-			else
-			{
-				mpMFTransparent->SetValue(0);//add 
-				mpMFTransparent->SetText(String());
-			}
-		}
-		break;
-	case SID_ATTR_LINE_WIDTH:
-		if(eState == SFX_ITEM_DISABLED)
-		{
-			mpTBWidth->Disable();
-			mpFTWidth->Disable();
-		}
-		else
-		{
-			//enable
-			mpTBWidth->Enable();
-			mpFTWidth->Enable();
-			if(eState >= SFX_ITEM_AVAILABLE && pState->ISA(XLineWidthItem) )
-			{
-				const XLineWidthItem* pItem = (const XLineWidthItem*)pState;
-				mnWidthCoreValue = pItem->GetValue();
-				mbWidthValuable = true;
-			}
-			else
-			{
-				mbWidthValuable = false;
-			}
-		}
-		SetWidthIcon();
-		break;
-	case SID_ATTR_LINE_START:
-		if(eState != SFX_ITEM_DONTCARE && pState && pState->ISA(XLineStartItem) )
-		{
-			mbStartAvailable = true;	//add 
-			mpStartItem.reset(pState ? (XLineStartItem*)pState->Clone() : 0);
-			SelectEndStyle(true);
-		}
-		else
-		{
-			mpLBStart->SetNoSelection();
-			mbStartAvailable = false;	//add 
-		}
-		break;
-	case SID_ATTR_LINE_END:
-		mpFTArrow->Enable();
-		mpLBEnd->Enable();
-		if(eState != SFX_ITEM_DONTCARE && pState && pState->ISA(XLineEndItem))
-		{
-			mbEndAvailable = true;		//add 
-			mpEndItem.reset(pState ? (XLineEndItem*)pState->Clone() : 0);
-			SelectEndStyle(false);		
-		}
-		else
-		{
-			mpLBEnd->SetNoSelection();
-			mbEndAvailable = false;		//add 
-		}	
-		break;
-	case SID_LINEEND_LIST:
-		FillLineEndList();
-		SelectEndStyle(true);
-		SelectEndStyle(false);
-		break;
-	}
+    	case SID_ATTR_LINE_COLOR:
+        {
+		    if( eState == SFX_ITEM_DISABLED)
+		    { 
+			    mpFTColor->Disable();
+			    mpTBColor->Disable();
+			    mbColorAvailable = false;
+			    mpColorUpdater->Update(COL_WHITE);
+		    }
+		    else
+		    {
+			    mpFTColor->Enable();
+			    mpTBColor->Enable();
+                const XLineColorItem* pItem = dynamic_cast< const XLineColorItem* >(pState);
+
+			    if(eState >= SFX_ITEM_DEFAULT && pItem)
+			    {
+				    maColor = pItem->GetColorValue();
+				    mbColorAvailable = true;
+				    mpColorUpdater->Update(maColor);
+			    }
+			    else
+			    {
+				    mbColorAvailable = false;
+				    mpColorUpdater->Update(COL_WHITE);
+			    }	
+		    }
+		    break;
+        }
+	    case SID_ATTR_LINE_STYLE:
+	    case SID_ATTR_LINE_DASH:
+        {
+		    if( eState == SFX_ITEM_DISABLED)
+		    {
+			    mpFTStyle->Disable();
+			    mpTBStyle->Disable();
+			    mpTBStyle->SetItemImage(TBI_STYLE,maIMGNone);
+		    }
+		    else
+		    {
+			    mpFTStyle->Enable();
+			    mpTBStyle->Enable();
+			    if( eState  >= SFX_ITEM_DEFAULT )
+			    {
+				    if(nSID == SID_ATTR_LINE_STYLE)
+				    {
+                        const XLineStyleItem* pItem = dynamic_cast< const XLineStyleItem* >(pState);
+
+                        if(pItem)
+                        {
+					        mbStyleAvailable =true;
+    					    mpStyleItem.reset(pState ? (XLineStyleItem*)pItem->Clone() : 0);
+                        }
+				    }
+				    else if(nSID == SID_ATTR_LINE_DASH)
+				    {
+                        const XLineDashItem* pItem = dynamic_cast< const XLineDashItem* >(pState);
+
+                        if(pItem)
+                        {
+    					    mbDashAvailable = true;
+	    				    mpDashItem.reset(pState ? (XLineDashItem*)pItem->Clone() : 0);
+                        }
+				    }
+			    }
+			    else
+			    {
+				    if(nSID == SID_ATTR_LINE_STYLE)
+					    mbStyleAvailable = false;
+				    else 
+					    mbDashAvailable = false;
+			    }
+			    SetStyleIcon();
+		    }
+		    break;
+        }
+    	case SID_ATTR_LINE_TRANSPARENCE:
+        {
+		    if( eState == SFX_ITEM_DISABLED )
+		    {
+			    mpFTTrancparency->Disable();
+			    mpMFTransparent->Disable();
+			    mpMFTransparent->SetValue(0);//add 
+			    mpMFTransparent->SetText(String());
+			    mbTransAvailable = false;
+		    }
+		    else
+		    {
+			    mpFTTrancparency->Enable();
+			    mpMFTransparent->Enable();
+			    mbTransAvailable = true;
+                const XLineTransparenceItem* pItem = dynamic_cast< const XLineTransparenceItem* >(pState);
+
+                if(eState != SFX_ITEM_DONTCARE && pItem)
+			    {
+				    mnTrans = pItem->GetValue();
+				    mpMFTransparent->SetValue(mnTrans);
+			    }
+			    else
+			    {
+				    mpMFTransparent->SetValue(0);//add 
+				    mpMFTransparent->SetText(String());
+			    }
+		    }
+		    break;
+        }
+    	case SID_ATTR_LINE_WIDTH:
+        {
+		    if(eState == SFX_ITEM_DISABLED)
+		    {
+			    mpTBWidth->Disable();
+			    mpFTWidth->Disable();
+		    }
+		    else
+		    {
+			    //enable
+			    mpTBWidth->Enable();
+			    mpFTWidth->Enable();
+                const XLineWidthItem* pItem = dynamic_cast< const XLineWidthItem* >(pState);
+
+			    if(eState >= SFX_ITEM_AVAILABLE && pItem)
+			    {
+				    mnWidthCoreValue = pItem->GetValue();
+				    mbWidthValuable = true;
+			    }
+			    else
+			    {
+				    mbWidthValuable = false;
+			    }
+		    }
+		    SetWidthIcon();
+		    break;
+        }
+    	case SID_ATTR_LINE_START:
+        {
+            const XLineStartItem* pItem = dynamic_cast< const XLineStartItem* >(pState);
+
+		    if(eState != SFX_ITEM_DONTCARE && pItem)
+		    {
+			    mbStartAvailable = true;	//add 
+			    mpStartItem.reset(pItem ? (XLineStartItem*)pItem->Clone() : 0);
+			    SelectEndStyle(true);
+		    }
+		    else
+		    {
+			    mpLBStart->SetNoSelection();
+			    mbStartAvailable = false;	//add 
+		    }
+		    break;
+        }
+    	case SID_ATTR_LINE_END:
+        {
+		    mpFTArrow->Enable();
+		    mpLBEnd->Enable();
+            const XLineEndItem* pItem = dynamic_cast< const XLineEndItem* >(pState);
+
+		    if(eState != SFX_ITEM_DONTCARE && pItem)
+		    {
+			    mbEndAvailable = true;		//add 
+			    mpEndItem.reset(pItem ? (XLineEndItem*)pItem->Clone() : 0);
+			    SelectEndStyle(false);		
+		    }
+		    else
+		    {
+			    mpLBEnd->SetNoSelection();
+			    mbEndAvailable = false;		//add 
+		    }	
+		    break;
+        }
+    	case SID_LINEEND_LIST:
+        {
+		    FillLineEndList();
+		    SelectEndStyle(true);
+		    SelectEndStyle(false);
+		    break;
+        }
+        case SID_ATTR_LINE_JOINT:
+        {
+            if(eState == SFX_ITEM_DISABLED)
+            {
+                mpLBEdgeStyle->Disable();
+            }
+            else
+            {
+                mpLBEdgeStyle->Enable();
+                const XLineJointItem* pItem = dynamic_cast< const XLineJointItem* >(pState);
+                sal_uInt16 nEntryPos(0);
+
+                if(eState >= SFX_ITEM_AVAILABLE && pItem)
+                {
+                    switch(pItem->GetValue())
+                    {
+                        case com::sun::star::drawing::LineJoint_MIDDLE:
+                        case com::sun::star::drawing::LineJoint_ROUND:
+                        {
+                            nEntryPos = 1;
+                            break;
+                        }
+                        case com::sun::star::drawing::LineJoint_NONE:
+                        {
+                            nEntryPos = 2;
+                            break;
+                        }
+                        case com::sun::star::drawing::LineJoint_MITER:
+                        {
+                            nEntryPos = 3;
+                            break;
+                        }
+                        case com::sun::star::drawing::LineJoint_BEVEL:
+                        {
+                            nEntryPos = 4;
+                            break;
+                        }
+                    }
+                }
+
+                if(nEntryPos)
+                {
+                    mpLBEdgeStyle->SelectEntryPos(nEntryPos - 1);
+                }
+                else
+                {
+                    mpLBEdgeStyle->SetNoSelection();
+                }
+            }
+            break;
+        }
+        case SID_ATTR_LINE_CAP:
+        {
+            if(eState == SFX_ITEM_DISABLED)
+            {
+                mpLBCapStyle->Disable();
+            }
+            else
+            {
+                mpLBCapStyle->Enable();
+                const XLineCapItem* pItem = dynamic_cast< const XLineCapItem* >(pState);
+                sal_uInt16 nEntryPos(0);
+
+                if(eState >= SFX_ITEM_AVAILABLE && pItem)
+                {
+                    switch(pItem->GetValue())
+                    {
+                        case com::sun::star::drawing::LineCap_BUTT:
+                        {
+                            nEntryPos = 1;
+                            break;
+                        }
+                        case com::sun::star::drawing::LineCap_ROUND:
+                        {
+                            nEntryPos = 2;
+                            break;
+                        }
+                        case com::sun::star::drawing::LineCap_SQUARE:
+                        {
+                            nEntryPos = 3;
+                            break;
+                        }
+                    }
+                }
+
+                if(nEntryPos)
+                {
+                    mpLBCapStyle->SelectEntryPos(nEntryPos - 1);
+                }
+                else
+                {
+                    mpLBCapStyle->SetNoSelection();
+                }
+            }
+            break;
+        }
+    }
 }
 
 //////////////////////////////////////////////////////////////////////////////
@@ -1790,6 +1934,81 @@ IMPL_LINK(LinePropertyPanel, ChangeEndHd
 
 //////////////////////////////////////////////////////////////////////////////
 
+IMPL_LINK(LinePropertyPanel, ChangeEdgeStyleHdl, void*, EMPTYARG)
+{
+    const sal_uInt16 nPos(mpLBEdgeStyle->GetSelectEntryPos());
+
+    if(LISTBOX_ENTRY_NOTFOUND != nPos && nPos != mpLBEdgeStyle->GetSavedValue())
+    {
+        XLineJointItem* pItem = 0;
+
+        switch(nPos)
+        {
+            case 0: // rounded
+            {
+                pItem = new XLineJointItem(com::sun::star::drawing::LineJoint_ROUND);
+                break;
+            }
+            case 1: // none
+            {
+                pItem = new XLineJointItem(com::sun::star::drawing::LineJoint_NONE);
+                break;
+            }
+            case 2: // mitered
+            {
+                pItem = new XLineJointItem(com::sun::star::drawing::LineJoint_MITER);
+                break;
+            }
+            case 3: // beveled
+            {
+                pItem = new XLineJointItem(com::sun::star::drawing::LineJoint_BEVEL);
+                break;
+            }
+        }
+
+        GetBindings()->GetDispatcher()->Execute(SID_ATTR_LINE_JOINT, SFX_CALLMODE_RECORD, pItem,  0L);
+        delete pItem;
+    }
+    return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
+IMPL_LINK(LinePropertyPanel, ChangeCapStyleHdl, void*, EMPTYARG)
+{
+    const sal_uInt16 nPos(mpLBCapStyle->GetSelectEntryPos());
+
+    if(LISTBOX_ENTRY_NOTFOUND != nPos && nPos != mpLBCapStyle->GetSavedValue())
+    {
+        XLineCapItem* pItem = 0;
+
+        switch(nPos)
+        {
+            case 0: // flat
+            {
+                pItem = new XLineCapItem(com::sun::star::drawing::LineCap_BUTT);
+                break;
+            }
+            case 1: // round
+            {
+                pItem = new XLineCapItem(com::sun::star::drawing::LineCap_ROUND);
+                break;
+            }
+            case 2: // square
+            {
+                pItem = new XLineCapItem(com::sun::star::drawing::LineCap_SQUARE);
+                break;
+            }
+        }
+
+        GetBindings()->GetDispatcher()->Execute(SID_ATTR_LINE_CAP, SFX_CALLMODE_RECORD, pItem,  0L);
+        delete pItem;
+    }
+    return 0;
+}
+
+//////////////////////////////////////////////////////////////////////////////
+
 IMPL_LINK(LinePropertyPanel, ToolboxWidthSelectHdl,ToolBox*, pToolBox)
 {
 	sal_uInt16 nId = pToolBox->GetCurItemId();

Modified: openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.hrc
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.hrc?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.hrc (original)
+++ openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.hrc Wed Feb 27 18:10:43 2013
@@ -25,68 +25,73 @@
 #define CUSTOM_W	74  
 #define CUSTOM_H	POPUPPANEL_MARGIN_LARGE * 2 +  TEXT_HEIGHT + 12 +  TEXT_CONTROL_SPACING_VERTICAL
 
-#define FT_COLOR	1
-#define TB_COLOR	2
-#define FT_WIDTH	3
-#define TB_WIDTH	4
-#define FT_STYLE	5
-#define TB_STYLE	6
-#define FT_ARROW	7
-#define FT_TRANSPARENT	8
-#define MF_TRANSPARENT	9
-#define LB_START		10
-#define LB_END			11
-#define TBI_COLOR	12
-#define TBI_WIDTH	13
-#define TBI_STYLE	14
-#define STR_QH_TB_WIDTH	15
-#define STR_QH_TB_COLOR	16
-#define STR_QH_TB_STYLE	17
-
-#define IMG_COLOR		21
-#define IMG_COLOR_NO	22
-#define IMG_LINE1_ICON			25
-#define IMG_LINE2_ICON			26
-#define IMG_LINE3_ICON			27
-#define IMG_LINE4_ICON			28
-#define IMG_LINE5_ICON				29
-#define IMG_LINE6_ICON			30
-#define IMG_LINE7_ICON			31
-#define IMG_LINE8_ICON				32
-#define IMG_LINE9_ICON			33
-#define IMG_LINE10_ICON				34
-#define IMG_LINE11_ICON			35
-#define IMG_NONE_ICON			36
-
-#define IMG_WIDTH1_ICON			41
-#define IMG_WIDTH2_ICON			42
-#define IMG_WIDTH3_ICON			43
-#define IMG_WIDTH4_ICON			44
-#define IMG_WIDTH5_ICON			45
-#define IMG_WIDTH6_ICON			46
-#define IMG_WIDTH7_ICON			47
-#define IMG_WIDTH8_ICON			48
-
-#define IMG_LINE1_ICON_H		51
-#define IMG_LINE2_ICON_H		52
-#define IMG_LINE3_ICON_H		53
-#define IMG_LINE4_ICON_H		54
-#define IMG_LINE5_ICON_H		55
-#define IMG_LINE6_ICON_H		56
-#define IMG_LINE7_ICON_H		57
-#define IMG_LINE8_ICON_H		58
-#define IMG_LINE9_ICON_H		59
-#define IMG_LINE10_ICON_H		60
-#define IMG_LINE11_ICON_H		50
-
-#define IMG_WIDTH1_ICON_H			61
-#define IMG_WIDTH2_ICON_H			62
-#define IMG_WIDTH3_ICON_H			63
-#define IMG_WIDTH4_ICON_H			64
-#define IMG_WIDTH5_ICON_H			65
-#define IMG_WIDTH6_ICON_H			66
-#define IMG_WIDTH7_ICON_H			67
-#define IMG_WIDTH8_ICON_H			68
+#define FT_COLOR            1
+#define TB_COLOR            2
+#define FT_WIDTH            3
+#define TB_WIDTH            4
+#define FT_STYLE            5
+#define TB_STYLE            6
+#define FT_ARROW            7
+#define FT_TRANSPARENT      8
+#define MF_TRANSPARENT      9
+#define LB_START            10
+#define LB_END              11
+#define TBI_COLOR           12
+#define TBI_WIDTH           13
+#define TBI_STYLE           14
+#define STR_QH_TB_WIDTH     15
+#define STR_QH_TB_COLOR     16
+#define STR_QH_TB_STYLE     17
+
+#define FT_EDGESTYLE        18
+#define LB_EDGESTYLE        19
+#define FT_CAPSTYLE         20
+#define LB_CAPSTYLE         21
+
+#define IMG_COLOR           23
+#define IMG_COLOR_NO        24
+#define IMG_LINE1_ICON      25
+#define IMG_LINE2_ICON      26
+#define IMG_LINE3_ICON      27
+#define IMG_LINE4_ICON      28
+#define IMG_LINE5_ICON      29
+#define IMG_LINE6_ICON      30
+#define IMG_LINE7_ICON      31
+#define IMG_LINE8_ICON      32
+#define IMG_LINE9_ICON      33
+#define IMG_LINE10_ICON     34
+#define IMG_LINE11_ICON     35
+#define IMG_NONE_ICON       36
+
+#define IMG_WIDTH1_ICON     41
+#define IMG_WIDTH2_ICON     42
+#define IMG_WIDTH3_ICON     43
+#define IMG_WIDTH4_ICON     44
+#define IMG_WIDTH5_ICON     45
+#define IMG_WIDTH6_ICON     46
+#define IMG_WIDTH7_ICON     47
+#define IMG_WIDTH8_ICON     48
+
+#define IMG_LINE1_ICON_H    51
+#define IMG_LINE2_ICON_H    52
+#define IMG_LINE3_ICON_H    53
+#define IMG_LINE4_ICON_H    54
+#define IMG_LINE5_ICON_H    55
+#define IMG_LINE6_ICON_H    56
+#define IMG_LINE7_ICON_H    57
+#define IMG_LINE8_ICON_H    58
+#define IMG_LINE9_ICON_H    59
+#define IMG_LINE10_ICON_H   60
+#define IMG_LINE11_ICON_H   50
+
+#define IMG_WIDTH1_ICON_H   61
+#define IMG_WIDTH2_ICON_H   62
+#define IMG_WIDTH3_ICON_H   63
+#define IMG_WIDTH4_ICON_H   64
+#define IMG_WIDTH5_ICON_H   65
+#define IMG_WIDTH6_ICON_H   66
+#define IMG_WIDTH7_ICON_H   67
+#define IMG_WIDTH8_ICON_H   68
 
 //color popup page
 #define VS_COLOR		1

Modified: openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.hxx?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.hxx (original)
+++ openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.hxx Wed Feb 27 18:10:43 2013
@@ -43,6 +43,7 @@ class XLineStartItem;
 class XLineEndItem;
 class LineEndLB_LPP;
 class XLineEndList;
+class ListBox;
 
 //////////////////////////////////////////////////////////////////////////////
 // namespace open
@@ -93,18 +94,24 @@ private:
     ::boost::scoped_ptr< FixedText >                        mpFTTrancparency;
     ::boost::scoped_ptr< MetricField >                      mpMFTransparent;
     ::boost::scoped_ptr< FixedText >                        mpFTArrow;
-    ::boost::scoped_ptr< LineEndLB_LPP >                        mpLBStart;
-    ::boost::scoped_ptr< LineEndLB_LPP >                        mpLBEnd;
+    ::boost::scoped_ptr< LineEndLB_LPP >                    mpLBStart;
+    ::boost::scoped_ptr< LineEndLB_LPP >                    mpLBEnd;
+    ::boost::scoped_ptr< FixedText >                        mpFTEdgeStyle;
+    ::boost::scoped_ptr< ListBox >                          mpLBEdgeStyle;
+    ::boost::scoped_ptr< FixedText >                        mpFTCapStyle;
+    ::boost::scoped_ptr< ListBox >                          mpLBCapStyle;
 
     //ControllerItem
-    ::sfx2::sidebar::ControllerItem                         maColorControl;
     ::sfx2::sidebar::ControllerItem                         maStyleControl;
     ::sfx2::sidebar::ControllerItem                         maDashControl;
     ::sfx2::sidebar::ControllerItem                         maWidthControl;
-    ::sfx2::sidebar::ControllerItem                         maTransControl;
+    ::sfx2::sidebar::ControllerItem                         maColorControl;
     ::sfx2::sidebar::ControllerItem                         maStartControl;
     ::sfx2::sidebar::ControllerItem                         maEndControl;
     ::sfx2::sidebar::ControllerItem                         maLineEndListControl;
+    ::sfx2::sidebar::ControllerItem                         maTransControl;
+    ::sfx2::sidebar::ControllerItem                         maEdgeStyle;
+    ::sfx2::sidebar::ControllerItem                         maCapStyle;
 
     Color                                                   maColor;
     ::boost::scoped_ptr< ::svx::ToolboxButtonColorUpdater > mpColorUpdater;
@@ -161,6 +168,8 @@ private:
 	DECL_LINK(ChangeTransparentHdl , void *);
 	DECL_LINK(ChangeStartHdl, void *);
 	DECL_LINK(ChangeEndHdl, void *);
+	DECL_LINK(ChangeEdgeStyleHdl, void *);
+	DECL_LINK(ChangeCapStyleHdl, void *);
 
     // constructor/destuctor
     LinePropertyPanel(

Modified: openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.src
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.src?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.src (original)
+++ openoffice/branches/sidebar/main/svx/source/sidebar/geometry/LinePropertyPanel.src Wed Feb 27 18:10:43 2013
@@ -34,7 +34,9 @@ Control RID_SIDEBAR_LINE_PANEL
 	Border = FALSE;
 	Text = "Line";
 
-	Size = MAP_APPFONT( PROPERTYPAGE_WIDTH, SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*3 +  + TEXT_CONTROL_SPACING_VERTICAL*3 + TOOLBOX_HEIGHT*2  + CONTROL_SPACING_VERTICAL*2 + CBOX_HEIGHT + SECTIONPAGE_MARGIN_VERTICAL_BOT );
+    Size = MAP_APPFONT( 
+        PROPERTYPAGE_WIDTH, 
+        SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*4 + TEXT_CONTROL_SPACING_VERTICAL*4 + TOOLBOX_HEIGHT*3  + CONTROL_SPACING_VERTICAL*3 + CBOX_HEIGHT + SECTIONPAGE_MARGIN_VERTICAL_BOT );
 	HelpID = HID_PROPERTYPANEL_LINE_SECTION ;
 	
 	FixedText FT_WIDTH
@@ -99,14 +101,14 @@ Control RID_SIDEBAR_LINE_PANEL
 
 	FixedText FT_STYLE
 	{
-        Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL , SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT +  + TEXT_CONTROL_SPACING_VERTICAL + TOOLBOX_HEIGHT  + CONTROL_SPACING_VERTICAL) ;
+        Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL , SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL + TOOLBOX_HEIGHT  + CONTROL_SPACING_VERTICAL) ;
         Size = MAP_APPFONT (TOOLBOX_WIDTH  , TEXT_HEIGHT ) ;
         Text [ en-US ] = "~Style:" ;        
 	};
 	ToolBox TB_STYLE
 	{
 		SVLook = TRUE ;
-		Pos = MAP_APPFONT (SECTIONPAGE_MARGIN_HORIZONTAL, SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*2 +  + TEXT_CONTROL_SPACING_VERTICAL*2 + TOOLBOX_HEIGHT  + CONTROL_SPACING_VERTICAL) ;
+		Pos = MAP_APPFONT (SECTIONPAGE_MARGIN_HORIZONTAL, SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*2 + TEXT_CONTROL_SPACING_VERTICAL*2 + TOOLBOX_HEIGHT  + CONTROL_SPACING_VERTICAL) ;
 		Size = MAP_APPFONT (TOOLBOX_WIDTH ,TOOLBOX_HEIGHT ) ;
 		TabStop = TRUE ;
 		HelpID = HID_PPROPERTYPANEL_LINE_TBX_STYLE;
@@ -129,7 +131,7 @@ Control RID_SIDEBAR_LINE_PANEL
 	
 	FixedText FT_TRANSPARENT
 	{
-        Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL + TOOLBOX_WIDTH + 3 , SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT +  + TEXT_CONTROL_SPACING_VERTICAL + TOOLBOX_HEIGHT  + CONTROL_SPACING_VERTICAL) ;
+        Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL + TOOLBOX_WIDTH + 3 , SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL + TOOLBOX_HEIGHT  + CONTROL_SPACING_VERTICAL) ;
         Size = MAP_APPFONT (TOOLBOX_WIDTH  , TEXT_HEIGHT ) ;
         Text [ en-US ] = "~Transparency:" ;        
 	};
@@ -137,7 +139,7 @@ Control RID_SIDEBAR_LINE_PANEL
 	{
 		Border = TRUE ;
 		HelpID = HID_PPROPERTYPANEL_LINE_MTR_TRANCEPARENCE;
-		Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL + TOOLBOX_WIDTH + 3 , SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*2 +  + TEXT_CONTROL_SPACING_VERTICAL*2 + TOOLBOX_HEIGHT  + CONTROL_SPACING_VERTICAL) ;
+		Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL + TOOLBOX_WIDTH + 3 , SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*2 + TEXT_CONTROL_SPACING_VERTICAL*2 + TOOLBOX_HEIGHT  + CONTROL_SPACING_VERTICAL) ;
 		Size = MAP_APPFONT ( TOOLBOX_WIDTH + 1 , 12 ) ;
 		TabStop = TRUE ;
 		Repeat = TRUE ;
@@ -153,7 +155,7 @@ Control RID_SIDEBAR_LINE_PANEL
 	
 	FixedText FT_ARROW
 	{
-        Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL, SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*2 +  + TEXT_CONTROL_SPACING_VERTICAL*2 + TOOLBOX_HEIGHT*2  + CONTROL_SPACING_VERTICAL*2) ;
+        Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL, SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*2 + TEXT_CONTROL_SPACING_VERTICAL*2 + TOOLBOX_HEIGHT*2  + CONTROL_SPACING_VERTICAL*2) ;
         Size = MAP_APPFONT (TOOLBOX_WIDTH * 2 + 3 , TEXT_HEIGHT ) ;
         Text [ en-US ] = "~Arrow:" ;        
 	};
@@ -161,7 +163,7 @@ Control RID_SIDEBAR_LINE_PANEL
 	{
 		Border = TRUE ;
 		HelpID = HID_PPROPERTYPANEL_LINE_LB_START;
-		Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL , SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*3 +  + TEXT_CONTROL_SPACING_VERTICAL*3 + TOOLBOX_HEIGHT*2  + CONTROL_SPACING_VERTICAL*2 ) ;
+		Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL , SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*3 + TEXT_CONTROL_SPACING_VERTICAL*3 + TOOLBOX_HEIGHT*2  + CONTROL_SPACING_VERTICAL*2 ) ;
 		Size = MAP_APPFONT ( TOOLBOX_WIDTH , 99 ) ;
 		TabStop = TRUE ;
 		DropDown = TRUE ;
@@ -172,7 +174,7 @@ Control RID_SIDEBAR_LINE_PANEL
 	{
 		Border = TRUE ;
 		HelpID = HID_PPROPERTYPANEL_LINE_LB_END;
-		Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL + TOOLBOX_WIDTH + 3 , SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*3 +  + TEXT_CONTROL_SPACING_VERTICAL*3 + TOOLBOX_HEIGHT*2  + CONTROL_SPACING_VERTICAL*2 ) ;
+		Pos = MAP_APPFONT ( SECTIONPAGE_MARGIN_HORIZONTAL + TOOLBOX_WIDTH + 3 , SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*3 + TEXT_CONTROL_SPACING_VERTICAL*3 + TOOLBOX_HEIGHT*2  + CONTROL_SPACING_VERTICAL*2 ) ;
 		Size = MAP_APPFONT ( TOOLBOX_WIDTH + 1, 100 ) ;
 		TabStop = TRUE ;
 		DropDown = TRUE ;
@@ -180,7 +182,62 @@ Control RID_SIDEBAR_LINE_PANEL
 		QuickHelpText [ en-US ] = "Select the style of the ending arrowhead.";
 	};
 
-	
+	FixedText FT_EDGESTYLE
+	{
+        Pos = MAP_APPFONT ( 
+            SECTIONPAGE_MARGIN_HORIZONTAL, 
+            SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*3 + TEXT_CONTROL_SPACING_VERTICAL*3 + TOOLBOX_HEIGHT*3  + CONTROL_SPACING_VERTICAL*3) ;
+        Size = MAP_APPFONT (TOOLBOX_WIDTH * 2 + 3 , TEXT_HEIGHT ) ;
+		Text [ en-US ] = "~Corner style" ;
+	};
+	ListBox LB_EDGESTYLE
+	{
+		HelpID = HID_PPROPERTYPANEL_LINE_LB_EDGESTYLE;
+		Border = TRUE ;
+		Pos = MAP_APPFONT ( 
+            SECTIONPAGE_MARGIN_HORIZONTAL , 
+            SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*4 + TEXT_CONTROL_SPACING_VERTICAL*4 + TOOLBOX_HEIGHT*3  + CONTROL_SPACING_VERTICAL*3 ) ;
+		Size = MAP_APPFONT ( TOOLBOX_WIDTH , 99 ) ;
+		TabStop = TRUE ;
+		DropDown = TRUE ;
+		DDExtraWidth = TRUE ;
+		QuickHelpText [ en-US ] = "Select the style of the edge connections.";
+		StringList [ en-US ] =
+		{
+			< "Rounded" ; Default ; > ;
+			< "- none -" ; > ;
+			< "Mitered" ; > ;
+			< "Beveled" ; > ;
+		};
+	};
+    FixedText FT_CAPSTYLE
+    {
+        Pos = MAP_APPFONT ( 
+            SECTIONPAGE_MARGIN_HORIZONTAL + TOOLBOX_WIDTH + 3, 
+            SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*3 + TEXT_CONTROL_SPACING_VERTICAL*3 + TOOLBOX_HEIGHT*3  + CONTROL_SPACING_VERTICAL*3) ;
+        Size = MAP_APPFONT (TOOLBOX_WIDTH * 2 + 3 , TEXT_HEIGHT ) ;
+        Text [ en-US ] = "Ca~p style" ;
+    };
+    ListBox LB_CAPSTYLE
+    {
+		HelpID = HID_PPROPERTYPANEL_LINE_LB_CAPSTYLE;
+        Border = TRUE ;
+		Pos = MAP_APPFONT ( 
+            SECTIONPAGE_MARGIN_HORIZONTAL + TOOLBOX_WIDTH + 3, 
+            SECTIONPAGE_MARGIN_VERTICAL_TOP + TEXT_HEIGHT*4 + TEXT_CONTROL_SPACING_VERTICAL*4 + TOOLBOX_HEIGHT*3  + CONTROL_SPACING_VERTICAL*3 ) ;
+		Size = MAP_APPFONT ( TOOLBOX_WIDTH , 99 ) ;
+        TabStop = TRUE ;
+        DropDown = TRUE ;
+		DDExtraWidth = TRUE ;
+		QuickHelpText [ en-US ] = "Select the style of the line caps.";
+        StringList [ en-US ] =
+        {
+            < "Flat" ; Default ; > ; // Same string as in Excel
+            < "Round" ; > ;
+            < "Square" ; > ;
+        };
+    };
+
 	Image IMG_COLOR
 	{
 		ImageBitmap = Bitmap{File = "symphony/Line_color.png";};

Modified: openoffice/branches/sidebar/main/svx/source/sidebar/geometry/TransformationPropertyPanel.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/sidebar/geometry/TransformationPropertyPanel.cxx?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/svx/source/sidebar/geometry/TransformationPropertyPanel.cxx (original)
+++ openoffice/branches/sidebar/main/svx/source/sidebar/geometry/TransformationPropertyPanel.cxx Wed Feb 27 18:10:43 2013
@@ -26,24 +26,12 @@
 #include <TransformationPropertyPanel.hrc>
 #include <svx/dialogs.hrc>
 #include <svx/dialmgr.hxx>
-//#include <svx/sizeitem.hxx>
-//#include <svl/aeitem.hxx>
-//#include <vcl/toolbox.hxx>
 #include <sfx2/dispatch.hxx>
 #include <sfx2/bindings.hxx>
-//#include <drawitem.hxx>
 #include <sfx2/viewsh.hxx>
-//#include <svx/xtable.hxx>
-//#include <svx/numitem.hxx>
-//#include <vcl/fixed.hxx>
-//#include <svl/poolitem.hxx>
-//#include <sfx2/sectionpage.hxx>
-//#include <svx/svxitems.hrc>
-//#include <sfx2/app.hxx>
 #include <sfx2/objsh.hxx>
 #include <svx/dlgutil.hxx>
 #include <unotools/viewoptions.hxx>
-//#include <svl/ptitem.hxx>
 #include <vcl/virdev.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/field.hxx>
@@ -392,8 +380,6 @@ namespace
 class DialControl : public Control
 {
 public:
-//    explicit            DialControl( Window* pParent, const Size& rSize, const Font& rFont, WinBits nWinStyle = 0 );
-//    explicit            DialControl( Window* pParent, const Size& rSize, WinBits nWinStyle = 0 );
     DialControl( Window* pParent, const ResId& rResId, bool bForSideBar = false );
     virtual             ~DialControl();
 
@@ -446,23 +432,6 @@ private:
     std::auto_ptr< DialControl_Impl > mpImpl;
 };
 
-//DialControl::DialControl( Window* pParent, const Size& rSize, const Font& rFont, WinBits nWinStyle ) :
-//    Control( pParent, nWinStyle ),
-//    mpImpl( new DialControl_Impl( *this ) )
-//{
-//    Init( rSize, rFont );
-//}
-//
-//DialControl::DialControl( Window* pParent, const Size& rSize, WinBits nWinStyle ) :
-//    Control( pParent, nWinStyle ),
-//    mpImpl( new DialControl_Impl( *this ) )
-//{
-//    if( pParent )
-//        Init( rSize, pParent->GetFont() );
-//    else
-//        Init( rSize );
-//}
-
 DialControl::DialControl( Window* pParent, const ResId& rResId, bool bForSideBar ) :
     Control( pParent, rResId ),
 	mbForSideBar(bForSideBar),
@@ -745,7 +714,7 @@ TransformationPropertyPanel::Transformat
     maTransfPosYControl(SID_ATTR_TRANSFORM_POS_Y, *pBindings, *this),
     maTransfWidthControl(SID_ATTR_TRANSFORM_WIDTH, *pBindings, *this),
     maTransfHeightControl(SID_ATTR_TRANSFORM_HEIGHT, *pBindings, *this),
-    maTransfAnchor(SID_ATTR_TRANSFORM_ANCHOR, *pBindings, *this),
+    maTransAffineMatrix2DControl(SID_ATTR_TRANSFORM_MATRIX, *pBindings, *this),
     maSvxAngleControl( SID_ATTR_TRANSFORM_ANGLE, *pBindings, *this),
     maRotXControl(SID_ATTR_TRANSFORM_ROT_X, *pBindings, *this),
     maRotYControl(SID_ATTR_TRANSFORM_ROT_Y, *pBindings, *this),
@@ -1217,16 +1186,16 @@ IMPL_LINK( TransformationPropertyPanel, 
 	{
 		case FLIP_HORIZONTAL:
 		{
-			SfxVoidItem aHoriItem( SID_FLIP_HORIZONTAL );
+			SfxBoolItem aHoriItem( SID_ATTR_TRANSFORM_MIRROR_HORIZONTAL );
 			GetBindings()->GetDispatcher()->Execute(
-				SID_FLIP_HORIZONTAL, SFX_CALLMODE_RECORD, &aHoriItem, 0L );
+				SID_ATTR_TRANSFORM_MIRROR_HORIZONTAL, SFX_CALLMODE_RECORD, &aHoriItem, 0L );
 		}
 		break;
 		case FLIP_VERTICAL:
 		{
-			SfxVoidItem aVertItem( SID_FLIP_VERTICAL );
+			SfxBoolItem aVertItem( SID_ATTR_TRANSFORM_MIRROR_VERTICAL );
 			GetBindings()->GetDispatcher()->Execute(
-				SID_FLIP_VERTICAL, SFX_CALLMODE_RECORD, &aVertItem, 0L );
+				SID_ATTR_TRANSFORM_MIRROR_VERTICAL, SFX_CALLMODE_RECORD, &aVertItem, 0L );
 		}
 		break;
 	}
@@ -1273,13 +1242,21 @@ void TransformationPropertyPanel::Notify
 	else
 		mbAdjustEnabled = false;
 
-	if (nSID == SID_ATTR_TRANSFORM_WIDTH)
+    if (nSID == SID_ATTR_TRANSFORM_MATRIX)
+    {
+        // check if slot for AffineMatrixItem does work. If yes,
+        // most direct values can be migrated to this full object transformation,
+        // except the common slots like rotation center, move/size protect, etc.
+        bool bBla = true;
+    }
+	else if (nSID == SID_ATTR_TRANSFORM_WIDTH)
 	{
 		if ( SFX_ITEM_AVAILABLE == eState )
 		{
-			if (pState->ISA(SfxUInt32Item))
+            pWidthItem = dynamic_cast< const SfxUInt32Item* >(pState);
+
+			if (pWidthItem)
 			{				
-				pWidthItem = (const SfxUInt32Item*)pState;
 				long mlOldWidth1 = pWidthItem->GetValue();
 
 				mlOldWidth1 = Fraction( mlOldWidth1 ) / maUIScale;
@@ -1296,9 +1273,10 @@ void TransformationPropertyPanel::Notify
 	{
 		if ( SFX_ITEM_AVAILABLE == eState )
 		{
-			if(pState->ISA(SfxUInt32Item))
+            pHeightItem = dynamic_cast< const SfxUInt32Item* >(pState);
+
+            if(pHeightItem)
 			{
-				pHeightItem  = (const SfxUInt32Item*)pState;
 				long mlOldHeight1 = pHeightItem->GetValue();
 
 				mlOldHeight1 = Fraction( mlOldHeight1 ) / maUIScale;
@@ -1313,9 +1291,11 @@ void TransformationPropertyPanel::Notify
 	}
 	else if ( nSID == SID_ATTR_TRANSFORM_POS_X)
 	{
-		if (SFX_ITEM_AVAILABLE == eState && pState->ISA(SfxInt32Item))
+        const SfxInt32Item* pItem = dynamic_cast< const SfxInt32Item* >(pState);
+
+		if (SFX_ITEM_AVAILABLE == eState && pItem)
 		{
-			long nTmp = ((const SfxInt32Item*)pState)->GetValue(); 
+			long nTmp = pItem->GetValue(); 
 			nTmp = Fraction( nTmp ) / maUIScale;
 			SetMetricValue( *mpMtrPosX, nTmp, mePoolUnit );
 		}
@@ -1326,9 +1306,11 @@ void TransformationPropertyPanel::Notify
 	}
 	else if ( nSID == SID_ATTR_TRANSFORM_POS_Y)
 	{
-		if (SFX_ITEM_AVAILABLE == eState && pState->ISA(SfxInt32Item))
+        const SfxInt32Item* pItem = dynamic_cast< const SfxInt32Item* >(pState);
+
+		if (SFX_ITEM_AVAILABLE == eState && pItem)
 		{
-			long nTmp = ((const SfxInt32Item*)pState)->GetValue(); 
+			long nTmp = pItem->GetValue(); 
 			nTmp = Fraction( nTmp ) / maUIScale;
 			SetMetricValue( *mpMtrPosY, nTmp, mePoolUnit );
 		}
@@ -1355,10 +1337,12 @@ void TransformationPropertyPanel::Notify
 	}
 	else if (nSID == SID_ATTR_TRANSFORM_PROTECT_POS)
 	{
-		if (SFX_ITEM_AVAILABLE == eState && pState->ISA(SfxBoolItem))
+        const SfxBoolItem* pItem = dynamic_cast< const SfxBoolItem* >(pState);
+
+        if (SFX_ITEM_AVAILABLE == eState && pItem)
 		{
 			// record the state of position protect
-			mbPositionProtected = ((const SfxBoolItem*)pState)->GetValue();
+			mbPositionProtected = pItem->GetValue();
 		}
 		else
 		{
@@ -1367,10 +1351,12 @@ void TransformationPropertyPanel::Notify
 	}
 	else if (nSID == SID_ATTR_TRANSFORM_PROTECT_SIZE)
 	{
-		if (SFX_ITEM_AVAILABLE == eState && pState->ISA(SfxBoolItem))
+        const SfxBoolItem* pItem = dynamic_cast< const SfxBoolItem* >(pState);
+
+		if (SFX_ITEM_AVAILABLE == eState && pItem)
 		{
 			// record the state of size protect
-			mbSizeProtected = ((const SfxBoolItem*)pState)->GetValue();
+			mbSizeProtected = pItem->GetValue();
 		}
 		else
 		{
@@ -1379,13 +1365,21 @@ void TransformationPropertyPanel::Notify
 	}	
 	else if (nSID == SID_ATTR_TRANSFORM_AUTOWIDTH)
 	{
-		if (SFX_ITEM_AVAILABLE == eState && pState->ISA(SfxBoolItem))
-			mbAutoWidth = ((const SfxBoolItem*)pState)->GetValue();
+        const SfxBoolItem* pItem = dynamic_cast< const SfxBoolItem* >(pState);
+
+        if (SFX_ITEM_AVAILABLE == eState && pItem)
+        {
+			mbAutoWidth = pItem->GetValue();
+        }
 	}
 	else if (nSID == SID_ATTR_TRANSFORM_AUTOHEIGHT)
 	{
-		if (SFX_ITEM_AVAILABLE == eState && pState->ISA(SfxBoolItem))
-			mbAutoHeight = ((const SfxBoolItem*)pState)->GetValue();
+        const SfxBoolItem* pItem = dynamic_cast< const SfxBoolItem* >(pState);
+
+		if (SFX_ITEM_AVAILABLE == eState && pItem)
+        {
+			mbAutoHeight = pItem->GetValue();
+        }
 	}
 	else if( nSID == SID_ATTR_TRANSFORM_ANGLE )
 	{

Modified: openoffice/branches/sidebar/main/svx/source/sidebar/geometry/TransformationPropertyPanel.hxx
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/sidebar/geometry/TransformationPropertyPanel.hxx?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/svx/source/sidebar/geometry/TransformationPropertyPanel.hxx (original)
+++ openoffice/branches/sidebar/main/svx/source/sidebar/geometry/TransformationPropertyPanel.hxx Wed Feb 27 18:10:43 2013
@@ -25,16 +25,6 @@
 #include <vcl/ctrl.hxx>
 #include <sfx2/sidebar/SidebarPanelBase.hxx>
 #include <sfx2/sidebar/ControllerItem.hxx>
-//#include <sfx2/sectionpage.hxx>
-//#include <svx/svxdllapi.h>
-//#include <vcl/fixed.hxx>
-//#include <vcl/field.hxx>
-//#include <vcl/button.hxx>
-//#include <svx/rectenum.hxx>
-//#include <svx/svdview.hxx>
-//#include <svx/dlgctrl.hxx>
-//#include "dialcontrol.hxx"
-//#include <vcl/toolbox.hxx>
 #include <boost/scoped_ptr.hpp>
 #include <svx/rectenum.hxx>
 #include <svl/poolitem.hxx>
@@ -123,8 +113,8 @@ private:
     ::sfx2::sidebar::ControllerItem         maTransfPosYControl;
     ::sfx2::sidebar::ControllerItem         maTransfWidthControl;
     ::sfx2::sidebar::ControllerItem         maTransfHeightControl;
+    ::sfx2::sidebar::ControllerItem         maTransAffineMatrix2DControl;
 
-    ::sfx2::sidebar::ControllerItem         maTransfAnchor;
     ::sfx2::sidebar::ControllerItem         maSvxAngleControl;
     ::sfx2::sidebar::ControllerItem         maRotXControl;
     ::sfx2::sidebar::ControllerItem         maRotYControl;

Modified: openoffice/branches/sidebar/main/svx/source/svdraw/svdedtv1.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/svdraw/svdedtv1.cxx?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/svx/source/svdraw/svdedtv1.cxx (original)
+++ openoffice/branches/sidebar/main/svx/source/svdraw/svdedtv1.cxx Wed Feb 27 18:10:43 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>
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1195,16 +1198,45 @@ sal_Bool SdrEditView::SetStyleSheet(SfxS
 
 SfxItemSet SdrEditView::GetGeoAttrFromMarked() const
 {
+    // used items are:
+    //
+    // SID_ATTR_TRANSFORM_POS_X                 ( SID_SVX_START + 88 )
+    // SID_ATTR_TRANSFORM_POS_Y                 ( SID_SVX_START + 89 )
+    // SID_ATTR_TRANSFORM_WIDTH                 ( SID_SVX_START + 90 )
+    // SID_ATTR_TRANSFORM_HEIGHT                ( SID_SVX_START + 91 )
+    // SID_ATTR_TRANSFORM_ROT_X                 ( SID_SVX_START + 93 )
+    // SID_ATTR_TRANSFORM_ROT_Y                 ( SID_SVX_START + 94 )
+    // SID_ATTR_TRANSFORM_ANGLE                 ( SID_SVX_START + 95 )
+    // SID_ATTR_TRANSFORM_PROTECT_POS           ( SID_SVX_START + 236 )
+    // SID_ATTR_TRANSFORM_PROTECT_SIZE          ( SID_SVX_START + 237 )
+    // SID_ATTR_TRANSFORM_SHEAR                 ( SID_SVX_START + 304 )
+    // SID_ATTR_TRANSFORM_SHEAR_X               ( SID_SVX_START + 305 )
+    // SID_ATTR_TRANSFORM_SHEAR_Y               ( SID_SVX_START + 306 )
+    // SID_ATTR_TRANSFORM_RESIZE_REF_X          ( SID_SVX_START + 308 )
+    // SID_ATTR_TRANSFORM_RESIZE_REF_Y          ( SID_SVX_START + 309 )
+    // SID_ATTR_TRANSFORM_AUTOWIDTH             ( SID_SVX_START + 310 )
+    // SID_ATTR_TRANSFORM_AUTOHEIGHT            ( SID_SVX_START + 311 )
+    // SID_ATTR_TRANSFORM_MIRROR_HORIZONTAL     (SID_SVX_START+1108)
+    // SID_ATTR_TRANSFORM_MIRROR_VERTICAL       (SID_SVX_START+1109)
+    // SID_ATTR_TRANSFORM_MATRIX                (SID_SVX_START+1112)
+    // SDRATTR_ECKENRADIUS                      ????
+    //
+    // SfxItemSet needs sorted pairs of IDs as ranges, an null-termainated array of ranges.
+    // No need to be too exact as long as the SfxItemSet is not used as a filter (which it is not here)
+
 	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,
+        SID_ATTR_TRANSFORM_MIRROR_HORIZONTAL,   SID_ATTR_TRANSFORM_MATRIX,
+        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 +1294,54 @@ 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++) {
+        bool bMirroredX(false); // pObj->IsMirroredX()); // currently not supported, needs aw080
+        bool bMirroredY(false); // pObj->IsMirroredY());
+        bool bMirroredXDontCare(false);
+        bool bMirroredYDontCare(false);
+
+        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;
+
+            if (bPosProt!=pObj->IsMoveProtect()) 
+            {
+                bPosProtDontCare=sal_True;
+            }
+
+			if (bSizProt!=pObj->IsResizeProtect()) 
+            {
+                bSizProtDontCare=sal_True;
+            }
+
+            if(bMirroredX != false) // pObj->IsMirroredX())
+            {
+                bMirroredXDontCare = true;
+            }
+
+            if(bMirroredY != false) // pObj->IsMirroredY())
+            {
+                bMirroredYDontCare = true;
+            }
 		}
 
+        if(bMirroredXDontCare)
+        {
+            aRetSet.InvalidateItem(SID_ATTR_TRANSFORM_MIRROR_HORIZONTAL);
+        }
+        else
+        {
+            aRetSet.Put(SfxBoolItem(SID_ATTR_TRANSFORM_MIRROR_HORIZONTAL, bMirroredX));
+        }
+
+        if(bMirroredYDontCare)
+        {
+            aRetSet.InvalidateItem(SID_ATTR_TRANSFORM_MIRROR_VERTICAL);
+        }
+        else
+        {
+            aRetSet.Put(SfxBoolItem(SID_ATTR_TRANSFORM_MIRROR_VERTICAL, bMirroredY));
+        }
+
 		// InvalidateItem setzt das Item auf DONT_CARE
 		if (bPosProtDontCare) {
 			aRetSet.InvalidateItem(SID_ATTR_TRANSFORM_PROTECT_POS);
@@ -1304,7 +1378,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;
 }
 
@@ -1553,6 +1668,108 @@ void SdrEditView::SetGeoAttrToMarked(con
 		MoveMarkedObj(Size(nPosDX,nPosDY));
 	}
 
+    // mirror cannot be hold at SdrObjects in this version (needs aw080 to do so), will just be applied if set
+    if(nMarkCount)
+    {
+        if(SFX_ITEM_SET == rAttr.GetItemState(SID_ATTR_TRANSFORM_MIRROR_HORIZONTAL, true, &pPoolItem))
+        {
+            const bool bMirrorX(((const SfxBoolItem*)pPoolItem)->GetValue());
+
+            if(bMirrorX)
+            {
+                MirrorMarkedObj(aRect.TopCenter(), aRect.BottomCenter(), false);
+            }
+        }
+        if(SFX_ITEM_SET == rAttr.GetItemState(SID_ATTR_TRANSFORM_MIRROR_VERTICAL, true, &pPoolItem))
+        {
+            const bool bMirrorY(((const SfxBoolItem*)pPoolItem)->GetValue());
+
+            if(bMirrorY)
+            {
+                MirrorMarkedObj(aRect.LeftCenter(), aRect.RightCenter(), false);
+            }
+        }
+        if(SFX_ITEM_SET == rAttr.GetItemState(SID_ATTR_TRANSFORM_MATRIX, true, &pPoolItem))
+        {
+            const AffineMatrixItem* pMatItem = dynamic_cast< const AffineMatrixItem* >(pPoolItem);
+
+            if(pMatItem)
+            {
+                const com::sun::star::geometry::AffineMatrix2D aAffineMatrix2D = pMatItem->GetAffineMatrix2D();
+                Point aPageOffset(0, 0);
+                basegfx::B2DHomMatrix aTransformation;
+
+                if(GetSdrPageView()) 
+                {
+                    aPageOffset = GetSdrPageView()->GetPageOrigin();
+                }
+
+                aTransformation.set(0, 0, aAffineMatrix2D.m00);
+                aTransformation.set(0, 1, aAffineMatrix2D.m01);
+                aTransformation.set(0, 2, aAffineMatrix2D.m02 + aPageOffset.X());
+                aTransformation.set(1, 0, aAffineMatrix2D.m10);
+                aTransformation.set(1, 1, aAffineMatrix2D.m11);
+                aTransformation.set(1, 2, aAffineMatrix2D.m12 + aPageOffset.Y());
+
+                if(!aTransformation.isIdentity())
+                {
+                    basegfx::B2DPolyPolygon aPolyPolygon;
+
+                    if(nMarkCount > 1)
+                    {
+                        // get the current and the target range
+                        const Rectangle aRect(GetMarkedObjRect());
+                        const basegfx::B2DRange aCurrent(aRect.Left(), aRect.Top(), aRect.Right(), aRect.Bottom());
+                        basegfx::B2DRange aTarget(0.0, 0.0, 1.0, 1.0);
+                        
+                        aTarget.transform(aTransformation);
+
+                        // create transformation from current range to target range
+                        aTransformation = basegfx::tools::createScaleTranslateB2DHomMatrix(
+                            aCurrent.getRange(),
+                            aCurrent.getMinimum());
+                        aTransformation.invert();
+                        aTransformation = basegfx::tools::createScaleTranslateB2DHomMatrix(
+                            aTarget.getRange(),
+                            aTarget.getMinimum()) * aTransformation;
+
+                        // apply to each object
+                        for(sal_uInt32 i(0); i < nMarkCount; i++) 
+                        {
+                            pObj = rMarkList.GetMark(i)->GetMarkedSdrObj();
+
+                            if(pObj)
+                            {
+                                basegfx::B2DHomMatrix aTransform;
+
+                                pObj->TRGetBaseGeometry(aTransform, aPolyPolygon);
+                                aTransform = aTransformation * aTransform;
+                                pObj->TRSetBaseGeometry(aTransform, aPolyPolygon);
+                            }
+                        }
+                    }
+                    else
+                    {
+                        // single object, replace transformation
+                        pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
+
+                        if(pObj)
+                        {
+                            basegfx::B2DHomMatrix aOldTransform;
+
+                            pObj->TRGetBaseGeometry(aOldTransform, aPolyPolygon);
+                            pObj->TRSetBaseGeometry(aTransformation, aPolyPolygon);
+                        }
+                    }
+                }
+            }
+            else
+            {
+                OSL_ENSURE(false, "SID_ATTR_TRANSFORM_MATRIX not containing a AffineMatrixItem (!)");
+            }
+        }
+    }
+
 	// protect position
 	if(SFX_ITEM_SET == rAttr.GetItemState(SID_ATTR_TRANSFORM_PROTECT_POS, sal_True, &pPoolItem))
 	{

Modified: openoffice/branches/sidebar/main/svx/source/svdraw/svdfmtf.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/svdraw/svdfmtf.cxx?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/svx/source/svdraw/svdfmtf.cxx (original)
+++ openoffice/branches/sidebar/main/svx/source/svdraw/svdfmtf.cxx Wed Feb 27 18:10:43 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/sidebar/main/svx/source/xoutdev/xattr2.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/xoutdev/xattr2.cxx?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/svx/source/xoutdev/xattr2.cxx (original)
+++ openoffice/branches/sidebar/main/svx/source/xoutdev/xattr2.cxx Wed Feb 27 18:10:43 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/sidebar/main/svx/source/xoutdev/xpool.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/svx/source/xoutdev/xpool.cxx?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/svx/source/xoutdev/xpool.cxx (original)
+++ openoffice/branches/sidebar/main/svx/source/xoutdev/xpool.cxx Wed Feb 27 18:10:43 2013
@@ -146,14 +146,11 @@ XOutdevItemPool::XOutdevItemPool(
 	mpLocalItemInfos[XATTR_LINEENDWIDTH     -XATTR_START]._nSID = SID_ATTR_LINE_ENDWIDTH;
 	mpLocalItemInfos[XATTR_LINESTARTCENTER  -XATTR_START]._nSID = SID_ATTR_LINE_STARTCENTER;
 	mpLocalItemInfos[XATTR_LINEENDCENTER    -XATTR_START]._nSID = SID_ATTR_LINE_ENDCENTER;
-	mpLocalItemInfos[XATTR_LINETRANSPARENCE -XATTR_START]._nSID = SID_ATTR_LINE_TRANSPARENCE;  
 	mpLocalItemInfos[XATTR_FILLSTYLE        -XATTR_START]._nSID = SID_ATTR_FILL_STYLE;
 	mpLocalItemInfos[XATTR_FILLCOLOR        -XATTR_START]._nSID = SID_ATTR_FILL_COLOR;
 	mpLocalItemInfos[XATTR_FILLGRADIENT     -XATTR_START]._nSID = SID_ATTR_FILL_GRADIENT;
 	mpLocalItemInfos[XATTR_FILLHATCH        -XATTR_START]._nSID = SID_ATTR_FILL_HATCH;
 	mpLocalItemInfos[XATTR_FILLBITMAP       -XATTR_START]._nSID = SID_ATTR_FILL_BITMAP;
-	mpLocalItemInfos[XATTR_FILLTRANSPARENCE -XATTR_START]._nSID = SID_SVX_AREA_TRANSPARENCY;
-	mpLocalItemInfos[XATTR_FILLFLOATTRANSPARENCE -XATTR_START]._nSID = SID_SVX_AREA_TRANSP_GRADIENT;
 	mpLocalItemInfos[XATTR_FORMTXTSTYLE     -XATTR_START]._nSID = SID_FORMTEXT_STYLE;
 	mpLocalItemInfos[XATTR_FORMTXTADJUST    -XATTR_START]._nSID = SID_FORMTEXT_ADJUST;
 	mpLocalItemInfos[XATTR_FORMTXTDISTANCE  -XATTR_START]._nSID = SID_FORMTEXT_DISTANCE;
@@ -167,6 +164,13 @@ XOutdevItemPool::XOutdevItemPool(
 	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/sidebar/main/sw/sdi/drawsh.sdi
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/sw/sdi/drawsh.sdi?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/sw/sdi/drawsh.sdi (original)
+++ openoffice/branches/sidebar/main/sw/sdi/drawsh.sdi Wed Feb 27 18:10:43 2013
@@ -33,6 +33,43 @@ interface TextDraw : TextDrawBase
 		Export = FALSE;
 	]
 
+	SID_ATTR_LINE_START
+	[
+		ExecMethod = ExecDrawAttrArgs ;
+		StateMethod = DisableState ;
+		Export = FALSE;
+	]
+
+	SID_ATTR_LINE_END
+	[
+		ExecMethod = ExecDrawAttrArgs ;
+		StateMethod = DisableState ;
+		Export = FALSE;
+	]
+
+    SID_ATTR_TRANSFORM // ole : no, status : ?
+    [
+        ExecMethod = ExecDrawAttrArgs ;
+        StateMethod = DisableState ;
+        Export = FALSE;
+    ]
+
+    // use same as SID_ATTR_LINEEND_STYLE
+    SID_ATTR_TRANSFORM_MIRROR_HORIZONTAL [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_MIRROR_VERTICAL [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_POS_X [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_POS_Y [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_WIDTH [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_HEIGHT [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_ANGLE [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_ROT_X [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_ROT_Y [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_PROTECT_POS [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_PROTECT_SIZE [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_AUTOWIDTH [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_AUTOHEIGHT [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+    SID_ATTR_TRANSFORM_MATRIX [ ExecMethod = ExecDrawAttrArgs; StateMethod = DisableState; Export = FALSE; ]
+
 	SID_ATTR_LINE_STYLE
 	[
 		Export = FALSE;
@@ -48,6 +85,30 @@ interface TextDraw : TextDrawBase
 		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
 	]
 	
+	SID_ATTR_LINE_TRANSPARENCE
+	[
+		Export = FALSE;
+		ExecMethod = ExecDrawAttrArgs ;
+		StateMethod = GetDrawAttrState ;
+		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+	]
+
+	SID_ATTR_LINE_JOINT
+	[
+		Export = FALSE;
+		ExecMethod = ExecDrawAttrArgs ;
+		StateMethod = GetDrawAttrState ;
+		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+	]
+
+	SID_ATTR_LINE_CAP
+	[
+		Export = FALSE;
+		ExecMethod = ExecDrawAttrArgs ;
+		StateMethod = GetDrawAttrState ;
+		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+	]
+
 	SID_DASH_LIST
 	[
 	    StateMethod = GetDrawAttrState ;
@@ -134,6 +195,22 @@ interface TextDraw : TextDrawBase
 		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
 	]
 
+	SID_ATTR_FILL_TRANSPARENCE
+	[
+		Export = FALSE;
+		ExecMethod = ExecDrawAttrArgs ;
+		StateMethod = GetDrawAttrState ;
+		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+	]
+
+	SID_ATTR_FILL_FLOATTRANSPARENCE
+	[
+		Export = FALSE;
+		ExecMethod = ExecDrawAttrArgs ;
+		StateMethod = GetDrawAttrState ;
+		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
+	]
+
 	SID_ATTRIBUTES_LINE
 	[
 		ExecMethod = ExecDrawDlg ;

Modified: openoffice/branches/sidebar/main/sw/source/ui/shells/drawdlg.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/sw/source/ui/shells/drawdlg.cxx?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/sw/source/ui/shells/drawdlg.cxx (original)
+++ openoffice/branches/sidebar/main/sw/source/ui/shells/drawdlg.cxx Wed Feb 27 18:10:43 2013
@@ -121,12 +121,18 @@ void SwDrawShell::ExecDrawDlg(SfxRequest
 
 				static sal_uInt16 __READONLY_DATA aInval[] =
 				{
-					SID_ATTR_FILL_STYLE, SID_ATTR_FILL_COLOR, 0
+					SID_ATTR_FILL_STYLE, 
+                    SID_ATTR_FILL_COLOR, 
+                    SID_ATTR_FILL_TRANSPARENCE,
+                    SID_ATTR_FILL_FLOATTRANSPARENCE,
+                    0
 				};
 				SfxBindings &rBnd = GetView().GetViewFrame()->GetBindings();
 				rBnd.Invalidate(aInval);
 				rBnd.Update(SID_ATTR_FILL_STYLE);
 				rBnd.Update(SID_ATTR_FILL_COLOR);
+				rBnd.Update(SID_ATTR_FILL_TRANSPARENCE);
+				rBnd.Update(SID_ATTR_FILL_FLOATTRANSPARENCE);
 			}
 			delete pDlg;
 		}
@@ -160,8 +166,16 @@ void SwDrawShell::ExecDrawDlg(SfxRequest
 
 				static sal_uInt16 __READONLY_DATA aInval[] =
 				{
-					SID_ATTR_LINE_STYLE, SID_ATTR_LINE_WIDTH,
-					SID_ATTR_LINE_COLOR, 0
+                    SID_ATTR_LINE_STYLE,                // ( SID_SVX_START + 169 )
+                    SID_ATTR_LINE_DASH,                 // ( SID_SVX_START + 170 )
+                    SID_ATTR_LINE_WIDTH,                // ( SID_SVX_START + 171 )
+                    SID_ATTR_LINE_COLOR,                // ( SID_SVX_START + 172 )
+                    SID_ATTR_LINE_START,                // ( SID_SVX_START + 173 )
+                    SID_ATTR_LINE_END,                  // ( SID_SVX_START + 174 )
+                    SID_ATTR_LINE_TRANSPARENCE,         // (SID_SVX_START+1107)
+                    SID_ATTR_LINE_JOINT,                // (SID_SVX_START+1110)
+                    SID_ATTR_LINE_CAP,                  // (SID_SVX_START+1111)
+                    0
 				};
 
 				GetView().GetViewFrame()->GetBindings().Invalidate(aInval);
@@ -214,12 +228,17 @@ void SwDrawShell::ExecDrawAttrArgs(SfxRe
 			case SID_ATTR_FILL_GRADIENT:
 			case SID_ATTR_FILL_HATCH:
 			case SID_ATTR_FILL_BITMAP:
+			case SID_ATTR_FILL_TRANSPARENCE:
+			case SID_ATTR_FILL_FLOATTRANSPARENCE:
 				pDis->Execute(SID_ATTRIBUTES_AREA, sal_False);
 				break;
 			case SID_ATTR_LINE_STYLE:
 			case SID_ATTR_LINE_DASH:
 			case SID_ATTR_LINE_WIDTH:
 			case SID_ATTR_LINE_COLOR:
+            case SID_ATTR_LINE_TRANSPARENCE:
+            case SID_ATTR_LINE_JOINT:
+            case SID_ATTR_LINE_CAP:
 				pDis->Execute(SID_ATTRIBUTES_LINE, sal_False);
 				break;
 		}

Modified: openoffice/branches/sidebar/main/sw/source/ui/shells/slotadd.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/sw/source/ui/shells/slotadd.cxx?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/sw/source/ui/shells/slotadd.cxx (original)
+++ openoffice/branches/sidebar/main/sw/source/ui/shells/slotadd.cxx Wed Feb 27 18:10:43 2013
@@ -138,6 +138,11 @@
 #define SvxDrawBezierItem SfxAllEnumItem
 #define avmedia_MediaItem ::avmedia::MediaItem
 
+#include <svx/xflftrit.hxx>
+#include <svx/xlncapit.hxx>
+#include <svx/xlinjoit.hxx>
+#include <svx/AffineMatrixItem.hxx>
+
 #define SFX_TYPEMAP
 #include <sfx2/msg.hxx>
 #include "swslots.hxx"

Modified: openoffice/branches/sidebar/main/sw/source/ui/wrtsh/wrtsh3.cxx
URL: http://svn.apache.org/viewvc/openoffice/branches/sidebar/main/sw/source/ui/wrtsh/wrtsh3.cxx?rev=1450891&r1=1450890&r2=1450891&view=diff
==============================================================================
--- openoffice/branches/sidebar/main/sw/source/ui/wrtsh/wrtsh3.cxx (original)
+++ openoffice/branches/sidebar/main/sw/source/ui/wrtsh/wrtsh3.cxx Wed Feb 27 18:10:43 2013
@@ -127,8 +127,40 @@ void SwWrtShell::DrawSelChanged( )
 {
     static sal_uInt16 __READONLY_DATA aInval[] =
     {
-        SID_ATTR_FILL_STYLE, SID_ATTR_FILL_COLOR, SID_ATTR_LINE_STYLE,
-        SID_ATTR_LINE_WIDTH, SID_ATTR_LINE_COLOR, 0
+        SID_ATTR_TRANSFORM_POS_X,           // ( SID_SVX_START + 88 )  // for TransformationPropertyPanel
+        SID_ATTR_TRANSFORM_POS_Y,           // ( SID_SVX_START + 89 )  // for TransformationPropertyPanel
+        SID_ATTR_TRANSFORM_WIDTH,           // ( SID_SVX_START + 90 )  // for TransformationPropertyPanel
+        SID_ATTR_TRANSFORM_HEIGHT,          // ( SID_SVX_START + 91 )  // for TransformationPropertyPanel
+        SID_ATTR_TRANSFORM_ROT_X,           // ( SID_SVX_START + 93 )  // for TransformationPropertyPanel
+        SID_ATTR_TRANSFORM_ROT_Y,           // ( SID_SVX_START + 94 )  // for TransformationPropertyPanel
+        SID_ATTR_TRANSFORM_ANGLE,           // ( SID_SVX_START + 95 )  // for TransformationPropertyPanel
+        SID_ATTR_FILL_STYLE,                // ( SID_SVX_START + 164 )
+        SID_ATTR_FILL_COLOR,                // ( SID_SVX_START + 165 )
+        SID_ATTR_FILL_GRADIENT,             // ( SID_SVX_START + 166 ) // for AreaPropertyPanel
+        SID_ATTR_FILL_HATCH,                // ( SID_SVX_START + 167 ) // for AreaPropertyPanel
+        SID_ATTR_FILL_BITMAP,               // ( SID_SVX_START + 168 ) // for AreaPropertyPanel
+        SID_ATTR_LINE_STYLE,                // ( SID_SVX_START + 169 )
+        SID_ATTR_LINE_DASH,                 // ( SID_SVX_START + 170 ) // for LinePropertyPanel
+        SID_ATTR_LINE_WIDTH,                // ( SID_SVX_START + 171 )
+        SID_ATTR_LINE_COLOR,                // ( SID_SVX_START + 172 )
+        SID_ATTR_LINE_START,                // ( SID_SVX_START + 173 ) // for LinePropertyPanel
+        SID_ATTR_LINE_END,                  // ( SID_SVX_START + 174 ) // for LinePropertyPanel
+        SID_COLOR_TABLE,                    // ( SID_SVX_START + 179 ) // for AreaPropertyPanel
+        SID_GRADIENT_LIST,                  // ( SID_SVX_START + 180 ) // for AreaPropertyPanel
+        SID_HATCH_LIST,                     // ( SID_SVX_START + 181 ) // for AreaPropertyPanel
+        SID_BITMAP_LIST,                    // ( SID_SVX_START + 182 ) // for AreaPropertyPanel
+        SID_LINEEND_LIST,                   // ( SID_SVX_START + 184 ) // for LinePropertyPanel
+        SID_ATTR_TRANSFORM_PROTECT_POS,     // ( SID_SVX_START + 236 ) // for TransformationPropertyPanel
+        SID_ATTR_TRANSFORM_PROTECT_SIZE,    // ( SID_SVX_START + 237 ) // for TransformationPropertyPanel
+        SID_ATTR_TRANSFORM_AUTOWIDTH,       // ( SID_SVX_START + 310 ) // for TransformationPropertyPanel
+        SID_ATTR_TRANSFORM_AUTOHEIGHT,      // ( SID_SVX_START + 311 ) // for TransformationPropertyPanel
+        SID_ATTR_TRANSFORM_ANCHOR,          // ( SID_SVX_START + 318 ) // for TransformationPropertyPanel
+        SID_ATTR_FILL_TRANSPARENCE,         // (SID_SVX_START+1105)
+        SID_ATTR_FILL_FLOATTRANSPARENCE,    // (SID_SVX_START+1106)
+        SID_ATTR_LINE_TRANSPARENCE,         // (SID_SVX_START+1107)
+        SID_ATTR_LINE_JOINT,                // (SID_SVX_START+1110)
+        SID_ATTR_LINE_CAP,                  // (SID_SVX_START+1111)
+        0
     };
 
     GetView().GetViewFrame()->GetBindings().Invalidate(aInval);