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);