From 9783ea516f007ce4dc46af3362b94dcece59b0dc Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 13 Oct 2014 16:52:36 +0100 Subject: Resolves: fdo#84930 format page background in report-builder crash another regression from one of... commit 7d9bb549d498d6beed2c4050c402d09643febdfa Author: Armin Le Grand Date: Mon Jun 2 15:00:50 2014 +0000 Related: #i124638# Second step of DrawingLayer FillAttributes... for Writer objects, now added support for Paragraph and PageStyle (including Header and Footer) for direct attributes and style attributes commit 4a0b5e569d070c286daefb0fdfe45c0dd15d241c Author: Armin Le Grand Date: Thu Apr 17 16:44:58 2014 +0000 i#124638 support for DrawingLayre FillStyle for GraphicFrames and ... ... EmbeddedObjectFrames in Writer commit 6e61ecd09679a66060f932835622821d39e92f01 Author: Armin Le Grand Date: Wed Mar 19 16:17:02 2014 +0000 This is something of a horror, and this is a suboptimal fix, but it appears to work. Change-Id: Iee7e6fdb40ca2e32beaa8e4bfea31872b8e0642e --- reportdesign/source/ui/report/ReportController.cxx | 98 ++++++++++++++++++---- 1 file changed, 80 insertions(+), 18 deletions(-) diff --git a/reportdesign/source/ui/report/ReportController.cxx b/reportdesign/source/ui/report/ReportController.cxx index f827456fbc2e..d1646b4140db 100644 --- a/reportdesign/source/ui/report/ReportController.cxx +++ b/reportdesign/source/ui/report/ReportController.cxx @@ -17,16 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#define RPTUI_ID_LRSPACE 1 -#define RPTUI_ID_ULSPACE 2 -#define RPTUI_ID_PAGE 3 -#define RPTUI_ID_SIZE 4 -#define RPTUI_ID_PAGE_MODE 5 -#define RPTUI_ID_START 6 -#define RPTUI_ID_END 7 -#define RPTUI_ID_BRUSH 8 -#define RPTUI_ID_METRIC 9 - #include "ReportController.hxx" #include "ReportDefinition.hxx" #include "CondFormat.hxx" @@ -98,6 +88,17 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -154,6 +155,16 @@ #define MAX_ROWS_FOR_PREVIEW 20 +#define RPTUI_ID_LRSPACE XATTR_FILL_FIRST - 8 +#define RPTUI_ID_ULSPACE XATTR_FILL_FIRST - 7 +#define RPTUI_ID_PAGE XATTR_FILL_FIRST - 6 +#define RPTUI_ID_SIZE XATTR_FILL_FIRST - 5 +#define RPTUI_ID_PAGE_MODE XATTR_FILL_FIRST - 4 +#define RPTUI_ID_START XATTR_FILL_FIRST - 3 +#define RPTUI_ID_END XATTR_FILL_FIRST - 2 +#define RPTUI_ID_BRUSH XATTR_FILL_FIRST - 1 +#define RPTUI_ID_METRIC XATTR_FILL_LAST + 1 + using namespace ::com::sun::star; using namespace uno; using namespace io; @@ -2378,12 +2389,47 @@ void OReportController::openPageDialog(const uno::Reference& _ { SID_PAPER_START, SFX_ITEM_POOLABLE }, { SID_PAPER_END, SFX_ITEM_POOLABLE }, { SID_ATTR_BRUSH, SFX_ITEM_POOLABLE }, - { SID_FLAG_TYPE, SFX_ITEM_POOLABLE }, + { XATTR_FILLSTYLE, SFX_ITEM_POOLABLE }, + { XATTR_FILLCOLOR, SFX_ITEM_POOLABLE }, + { XATTR_FILLGRADIENT, SFX_ITEM_POOLABLE }, + { XATTR_FILLHATCH, SFX_ITEM_POOLABLE }, + { XATTR_FILLBITMAP, SFX_ITEM_POOLABLE }, + { XATTR_FILLTRANSPARENCE, SFX_ITEM_POOLABLE }, + { XATTR_GRADIENTSTEPCOUNT, SFX_ITEM_POOLABLE }, + { XATTR_FILLBMP_TILE, SFX_ITEM_POOLABLE }, + { XATTR_FILLBMP_POS, SFX_ITEM_POOLABLE }, + { XATTR_FILLBMP_SIZEX, SFX_ITEM_POOLABLE }, + { XATTR_FILLBMP_SIZEY, SFX_ITEM_POOLABLE }, + { XATTR_FILLBMP_SIZELOG, SFX_ITEM_POOLABLE }, + { XATTR_FILLBMP_TILEOFFSETX, SFX_ITEM_POOLABLE }, + { XATTR_FILLBMP_TILEOFFSETY, SFX_ITEM_POOLABLE }, + { XATTR_FILLBMP_STRETCH, SFX_ITEM_POOLABLE }, + { XATTR_FILLBMP_POSOFFSETX, SFX_ITEM_POOLABLE }, + { XATTR_FILLBMP_POSOFFSETY, SFX_ITEM_POOLABLE }, + { XATTR_FILLFLOATTRANSPARENCE, SFX_ITEM_POOLABLE }, + { XATTR_SECONDARYFILLCOLOR, SFX_ITEM_POOLABLE }, + { XATTR_FILLBACKGROUND, SFX_ITEM_POOLABLE }, { SID_ATTR_METRIC, SFX_ITEM_POOLABLE } }; MeasurementSystem eSystem = SvtSysLocale().GetLocaleData().getMeasurementSystemEnum(); FieldUnit eUserMetric = MEASURE_METRIC == eSystem ? FUNIT_CM : FUNIT_INCH; + static const sal_uInt16 pRanges[] = + { + RPTUI_ID_LRSPACE, XATTR_FILL_LAST, + SID_ATTR_METRIC,SID_ATTR_METRIC, + 0 + }; + SfxItemPool* pPool( new SfxItemPool(OUString("ReportPageProperties"), RPTUI_ID_LRSPACE, RPTUI_ID_METRIC, aItemInfos ) ); + + const Graphic aNullGraphic; + const ::Color aNullLineCol(COL_DEFAULT_SHAPE_STROKE); // #i121448# Use defined default color + const ::Color aNullFillCol(COL_DEFAULT_SHAPE_FILLING); // #i121448# Use defined default color + const ::Color aNullShadowCol(RGB_Color(COL_LIGHTGRAY)); + const XDash aNullDash; + const XGradient aNullGrad(RGB_Color(COL_BLACK), RGB_Color(COL_WHITE)); + const XHatch aNullHatch(aNullLineCol); + SfxPoolItem* pDefaults[] = { new SvxLRSpaceItem(RPTUI_ID_LRSPACE), @@ -2394,16 +2440,32 @@ void OReportController::openPageDialog(const uno::Reference& _ new SfxAllEnumItem(RPTUI_ID_START,PAPER_A4), new SfxAllEnumItem(RPTUI_ID_END,PAPER_E), new SvxBrushItem(RPTUI_ID_BRUSH), + new XFillStyleItem, + new XFillColorItem("", aNullFillCol), + new XFillGradientItem(aNullGrad), + new XFillHatchItem(pPool, aNullHatch), + new XFillBitmapItem(pPool, aNullGraphic), + new XFillTransparenceItem, + new XGradientStepCountItem, + new XFillBmpTileItem, + new XFillBmpPosItem, + new XFillBmpSizeXItem, + new XFillBmpSizeYItem, + new XFillBmpSizeLogItem, + new XFillBmpTileOffsetXItem, + new XFillBmpTileOffsetYItem, + new XFillBmpStretchItem, + new XFillBmpPosOffsetXItem, + new XFillBmpPosOffsetYItem, + new XFillFloatTransparenceItem(pPool, aNullGrad, false), + new XSecondaryFillColorItem("", aNullFillCol), + new XFillBackgroundItem, new SfxUInt16Item(RPTUI_ID_METRIC,static_cast(eUserMetric)) }; - static const sal_uInt16 pRanges[] = - { - RPTUI_ID_LRSPACE,RPTUI_ID_BRUSH, - SID_ATTR_METRIC,SID_ATTR_METRIC, - 0 - }; - SfxItemPool* pPool( new SfxItemPool(OUString("ReportPageProperties"), RPTUI_ID_LRSPACE,RPTUI_ID_METRIC, aItemInfos, pDefaults) ); + pPool->SetDefaults(pDefaults); + + pPool->SetDefaultMetric( SFX_MAPUNIT_100TH_MM ); // ripped, don't understand why pPool->FreezeIdRanges(); // the same -- cgit v1.2.3