diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2017-06-19 09:32:45 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2017-06-19 09:38:05 +0200 |
commit | 1e3a00f0c772a76a1dd76b8272e2c35a1802d574 (patch) | |
tree | a1eadac1680f1e46c789964200aa8a61bb659189 /chart2 | |
parent | 9fe114e78f1285397dcd2a0d2e3d6afc3024fa66 (diff) |
Make SfxItemSet ranges correct by construction: Fix static cases
...with the aid of an extended compilerplugins/clang/store/sfxitemsetrewrite.cxx
(which in turn needed a small addition to compilerplugins/clang/check.hxx).
Enable svl::detail::validGap check for the static case, but keep it disabled for
now for the dynamic case.
Change-Id: I4846ba8e99aff94a86518e2cb5044e575093386e
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/source/controller/drawinglayer/DrawViewWrapper.cxx | 12 | ||||
-rw-r--r-- | chart2/source/controller/main/DrawCommandDispatch.cxx | 28 | ||||
-rw-r--r-- | chart2/source/controller/main/ShapeController.cxx | 12 |
3 files changed, 28 insertions, 24 deletions
diff --git a/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx b/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx index 59cff5f86c18..ff550d587ac1 100644 --- a/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx +++ b/chart2/source/controller/drawinglayer/DrawViewWrapper.cxx @@ -283,11 +283,13 @@ SdrOutliner* DrawViewWrapper::getOutliner() const SfxItemSet DrawViewWrapper::getPositionAndSizeItemSetFromMarkedObject() const { - SfxItemSet aFullSet( GetModel()->GetItemPool(), - svl::Items<SID_ATTR_TRANSFORM_POS_X, SID_ATTR_TRANSFORM_ANGLE, - SID_ATTR_TRANSFORM_PROTECT_POS, SID_ATTR_TRANSFORM_AUTOHEIGHT, - SDRATTR_ECKENRADIUS, SDRATTR_ECKENRADIUS, - SID_ATTR_METRIC, SID_ATTR_METRIC>{}); + SfxItemSet aFullSet( + GetModel()->GetItemPool(), + svl::Items< + SDRATTR_ECKENRADIUS, SDRATTR_ECKENRADIUS, + SID_ATTR_TRANSFORM_POS_X, SID_ATTR_TRANSFORM_ANGLE, + SID_ATTR_TRANSFORM_PROTECT_POS, SID_ATTR_TRANSFORM_AUTOHEIGHT, + SID_ATTR_METRIC, SID_ATTR_METRIC>{}); SfxItemSet aGeoSet( E3dView::GetGeoAttrFromMarked() ); aFullSet.Put( aGeoSet ); aFullSet.Put( SfxUInt16Item(SID_ATTR_METRIC,static_cast< sal_uInt16 >( ConfigurationAccess::getFieldUnit()))); diff --git a/chart2/source/controller/main/DrawCommandDispatch.cxx b/chart2/source/controller/main/DrawCommandDispatch.cxx index 92485496c731..53929d720a81 100644 --- a/chart2/source/controller/main/DrawCommandDispatch.cxx +++ b/chart2/source/controller/main/DrawCommandDispatch.cxx @@ -135,18 +135,22 @@ void DrawCommandDispatch::setAttributes( SdrObject* pObj ) if ( pSourceObj ) { const SfxItemSet& rSource = pSourceObj->GetMergedItemSet(); - SfxItemSet aDest( pObj->GetModel()->GetItemPool(), // ranges from SdrAttrObj - svl::Items<SDRATTR_START, SDRATTR_SHADOW_LAST, - SDRATTR_MISC_FIRST, SDRATTR_MISC_LAST, - SDRATTR_TEXTDIRECTION, SDRATTR_TEXTDIRECTION, - // Graphic Attributes - SDRATTR_GRAF_FIRST, SDRATTR_GRAF_LAST, - // 3d Properties - SDRATTR_3D_FIRST, SDRATTR_3D_LAST, - // CustomShape properties - SDRATTR_CUSTOMSHAPE_FIRST, SDRATTR_CUSTOMSHAPE_LAST, - // range from SdrTextObj - EE_ITEMS_START, EE_ITEMS_END>{}); + SfxItemSet aDest( + pObj->GetModel()->GetItemPool(), + svl::Items< + // Ranges from SdrAttrObj: + SDRATTR_START, SDRATTR_SHADOW_LAST, + SDRATTR_MISC_FIRST, + SDRATTR_MISC_LAST, + SDRATTR_TEXTDIRECTION, + SDRATTR_TEXTDIRECTION, + // Graphic attributes, 3D + // properties, CustomShape + // properties: + SDRATTR_GRAF_FIRST, + SDRATTR_CUSTOMSHAPE_LAST, + // Range from SdrTextObj: + EE_ITEMS_START, EE_ITEMS_END>{}); aDest.Set( rSource ); pObj->SetMergedItemSet( aDest ); sal_Int32 nAngle = pSourceObj->GetRotateAngle(); diff --git a/chart2/source/controller/main/ShapeController.cxx b/chart2/source/controller/main/ShapeController.cxx index 2a3d28f649d9..5404eb6df464 100644 --- a/chart2/source/controller/main/ShapeController.cxx +++ b/chart2/source/controller/main/ShapeController.cxx @@ -562,13 +562,11 @@ void ShapeController::executeDispatch_ParagraphDialog() SfxItemSet aAttr( rPool ); pDrawViewWrapper->GetAttributes( aAttr ); - SfxItemSet aNewAttr( rPool, - svl::Items<EE_ITEMS_START, EE_ITEMS_END, - SID_ATTR_PARA_HYPHENZONE, SID_ATTR_PARA_HYPHENZONE, - SID_ATTR_PARA_PAGEBREAK, SID_ATTR_PARA_PAGEBREAK, - SID_ATTR_PARA_SPLIT, SID_ATTR_PARA_SPLIT, - SID_ATTR_PARA_WIDOWS, SID_ATTR_PARA_WIDOWS, - SID_ATTR_PARA_ORPHANS, SID_ATTR_PARA_ORPHANS>{} ); + SfxItemSet aNewAttr( + rPool, + svl::Items< + EE_ITEMS_START, EE_ITEMS_END, + SID_ATTR_PARA_PAGEBREAK, SID_ATTR_PARA_WIDOWS>{}); aNewAttr.Put( aAttr ); aNewAttr.Put( SvxHyphenZoneItem( false, SID_ATTR_PARA_HYPHENZONE ) ); aNewAttr.Put( SvxFormatBreakItem( SvxBreak::NONE, SID_ATTR_PARA_PAGEBREAK ) ); |