This is an automated email from the ASF dual-hosted git repository. mseidel pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/openoffice.git
The following commit(s) were added to refs/heads/trunk by this push: new 6276283 Fixed typos, removed whitespace 6276283 is described below commit 627628354578bc12b977fd84871d68bc0860b13f Author: mseidel <msei...@apache.org> AuthorDate: Tue Jan 4 13:27:38 2022 +0100 Fixed typos, removed whitespace --- main/svx/source/sidebar/area/AreaPropertyPanel.cxx | 2592 ++++++++++---------- main/svx/source/sidebar/area/AreaPropertyPanel.hrc | 124 +- main/svx/source/sidebar/area/AreaPropertyPanel.hxx | 280 +-- .../area/AreaTransparencyGradientControl.cxx | 90 +- .../area/AreaTransparencyGradientControl.hxx | 46 +- .../sidebar/area/AreaTransparencyGradientPopup.cxx | 30 +- .../sidebar/area/AreaTransparencyGradientPopup.hxx | 22 +- 7 files changed, 1599 insertions(+), 1585 deletions(-) diff --git a/main/svx/source/sidebar/area/AreaPropertyPanel.cxx b/main/svx/source/sidebar/area/AreaPropertyPanel.cxx index a7a40f1..05ada35 100644 --- a/main/svx/source/sidebar/area/AreaPropertyPanel.cxx +++ b/main/svx/source/sidebar/area/AreaPropertyPanel.cxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -7,18 +7,20 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ + + #include "svx/sidebar/PopupContainer.hxx" #include "AreaTransparencyGradientControl.hxx" @@ -67,577 +69,577 @@ const sal_Int32 AreaPropertyPanel::DEFAULT_BORDER = 0; AreaPropertyPanel::AreaPropertyPanel( - Window* pParent, - const cssu::Reference<css::frame::XFrame>& rxFrame, - SfxBindings* pBindings) - : Control(pParent, SVX_RES(RID_SIDEBAR_AREA_PANEL)), - meLastXFS(-1), - maLastColor(Color(COL_DEFAULT_SHAPE_FILLING)), - mnLastPosGradient(0), - mnLastPosHatch(0), - mnLastPosBitmap(0), - mnLastTransSolid(50), - maGradientLinear(), - maGradientAxial(), - maGradientRadial(), - maGradientElliptical(), - maGradientSquare(), - maGradientRect(), - mpColorTextFT(new FixedText(this, SVX_RES(FT_COLOR_LIST))), - mpLbFillType(new SvxFillTypeBox(this)), - mpLbFillAttr(new SvxFillAttrBox(this)), - mpToolBoxColorBackground(sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this)), - mpToolBoxColor(sfx2::sidebar::ControlFactory::CreateToolBox(mpToolBoxColorBackground.get(), SVX_RES(TB_COLOR))), - mpTrspTextFT(new FixedText(this, SVX_RES(FL_TRSP_TEXT))), - mpLBTransType(new ListBox(this, SVX_RES(LB_TRGR_TYPES))), - mpMTRTransparent(new MetricField(this, SVX_RES(MTR_TRANSPARENT))), - mpBTNGradientBackground(sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this)), - mpBTNGradient(sfx2::sidebar::ControlFactory::CreateToolBox(mpBTNGradientBackground.get(), SVX_RES(BTN_GRADIENT))), - mpColorUpdater(new ::svx::ToolboxButtonColorUpdater(SID_ATTR_FILL_COLOR, TBI_COLOR, mpToolBoxColor.get(), TBX_UPDATER_MODE_CHAR_COLOR_NEW)), - mpStyleItem(), - mpColorItem(), - mpFillGradientItem(), - mpHatchItem(), - mpBitmapItem(), - maStyleControl(SID_ATTR_FILL_STYLE, *pBindings, *this), - maColorControl(SID_ATTR_FILL_COLOR, *pBindings, *this), - maGradientControl(SID_ATTR_FILL_GRADIENT, *pBindings, *this), - maHatchControl(SID_ATTR_FILL_HATCH, *pBindings, *this), - maBitmapControl(SID_ATTR_FILL_BITMAP, *pBindings, *this), - maColorTableControl(SID_COLOR_TABLE, *pBindings, *this), - maGradientListControl(SID_GRADIENT_LIST, *pBindings, *this), - maHatchListControl(SID_HATCH_LIST, *pBindings, *this), - maBitmapListControl(SID_BITMAP_LIST, *pBindings, *this), - maFillTransparenceController(SID_ATTR_FILL_TRANSPARENCE, *pBindings, *this), - maFillFloatTransparenceController(SID_ATTR_FILL_FLOATTRANSPARENCE, *pBindings, *this), - maImgAxial(SVX_RES(IMG_AXIAL)), - maImgElli(SVX_RES(IMG_ELLI)), - maImgQuad(SVX_RES(IMG_QUAD)), - maImgRadial(SVX_RES(IMG_RADIAL)), - maImgSquare(SVX_RES(IMG_SQUARE)), - maImgLinear(SVX_RES(IMG_LINEAR)), - maImgColor(SVX_RES(IMG_COLOR)), - maImgAxialH(SVX_RES(IMG_AXIAL_H)), - maImgElliH(SVX_RES(IMG_ELLI_H)), - maImgQuadH(SVX_RES(IMG_QUAD_H)), - maImgRadialH(SVX_RES(IMG_RADIAL_H)), - maImgSquareH(SVX_RES(IMG_SQUARE_H)), - maImgLinearH(SVX_RES(IMG_LINEAR_H)), - maImgColorH(SVX_RES(IMG_COLOR_H)), - msHelpFillType(SVX_RES(STR_HELP_TYPE)), - msHelpFillAttr(SVX_RES(STR_HELP_ATTR)), - maTrGrPopup(this, ::boost::bind(&AreaPropertyPanel::CreateTransparencyGradientControl, this, _1)), - maColorPopup(this, ::boost::bind(&AreaPropertyPanel::CreateColorPopupControl, this, _1)), - mpFloatTransparenceItem(), - mpTransparanceItem(), - mxFrame(rxFrame), - mpBindings(pBindings), - mbColorAvail(true), - maLayouter(*this) + Window* pParent, + const cssu::Reference<css::frame::XFrame>& rxFrame, + SfxBindings* pBindings) + : Control(pParent, SVX_RES(RID_SIDEBAR_AREA_PANEL)), + meLastXFS(-1), + maLastColor(Color(COL_DEFAULT_SHAPE_FILLING)), + mnLastPosGradient(0), + mnLastPosHatch(0), + mnLastPosBitmap(0), + mnLastTransSolid(50), + maGradientLinear(), + maGradientAxial(), + maGradientRadial(), + maGradientElliptical(), + maGradientSquare(), + maGradientRect(), + mpColorTextFT(new FixedText(this, SVX_RES(FT_COLOR_LIST))), + mpLbFillType(new SvxFillTypeBox(this)), + mpLbFillAttr(new SvxFillAttrBox(this)), + mpToolBoxColorBackground(sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this)), + mpToolBoxColor(sfx2::sidebar::ControlFactory::CreateToolBox(mpToolBoxColorBackground.get(), SVX_RES(TB_COLOR))), + mpTrspTextFT(new FixedText(this, SVX_RES(FL_TRSP_TEXT))), + mpLBTransType(new ListBox(this, SVX_RES(LB_TRGR_TYPES))), + mpMTRTransparent(new MetricField(this, SVX_RES(MTR_TRANSPARENT))), + mpBTNGradientBackground(sfx2::sidebar::ControlFactory::CreateToolBoxBackground(this)), + mpBTNGradient(sfx2::sidebar::ControlFactory::CreateToolBox(mpBTNGradientBackground.get(), SVX_RES(BTN_GRADIENT))), + mpColorUpdater(new ::svx::ToolboxButtonColorUpdater(SID_ATTR_FILL_COLOR, TBI_COLOR, mpToolBoxColor.get(), TBX_UPDATER_MODE_CHAR_COLOR_NEW)), + mpStyleItem(), + mpColorItem(), + mpFillGradientItem(), + mpHatchItem(), + mpBitmapItem(), + maStyleControl(SID_ATTR_FILL_STYLE, *pBindings, *this), + maColorControl(SID_ATTR_FILL_COLOR, *pBindings, *this), + maGradientControl(SID_ATTR_FILL_GRADIENT, *pBindings, *this), + maHatchControl(SID_ATTR_FILL_HATCH, *pBindings, *this), + maBitmapControl(SID_ATTR_FILL_BITMAP, *pBindings, *this), + maColorTableControl(SID_COLOR_TABLE, *pBindings, *this), + maGradientListControl(SID_GRADIENT_LIST, *pBindings, *this), + maHatchListControl(SID_HATCH_LIST, *pBindings, *this), + maBitmapListControl(SID_BITMAP_LIST, *pBindings, *this), + maFillTransparenceController(SID_ATTR_FILL_TRANSPARENCE, *pBindings, *this), + maFillFloatTransparenceController(SID_ATTR_FILL_FLOATTRANSPARENCE, *pBindings, *this), + maImgAxial(SVX_RES(IMG_AXIAL)), + maImgElli(SVX_RES(IMG_ELLI)), + maImgQuad(SVX_RES(IMG_QUAD)), + maImgRadial(SVX_RES(IMG_RADIAL)), + maImgSquare(SVX_RES(IMG_SQUARE)), + maImgLinear(SVX_RES(IMG_LINEAR)), + maImgColor(SVX_RES(IMG_COLOR)), + maImgAxialH(SVX_RES(IMG_AXIAL_H)), + maImgElliH(SVX_RES(IMG_ELLI_H)), + maImgQuadH(SVX_RES(IMG_QUAD_H)), + maImgRadialH(SVX_RES(IMG_RADIAL_H)), + maImgSquareH(SVX_RES(IMG_SQUARE_H)), + maImgLinearH(SVX_RES(IMG_LINEAR_H)), + maImgColorH(SVX_RES(IMG_COLOR_H)), + msHelpFillType(SVX_RES(STR_HELP_TYPE)), + msHelpFillAttr(SVX_RES(STR_HELP_ATTR)), + maTrGrPopup(this, ::boost::bind(&AreaPropertyPanel::CreateTransparencyGradientControl, this, _1)), + maColorPopup(this, ::boost::bind(&AreaPropertyPanel::CreateColorPopupControl, this, _1)), + mpFloatTransparenceItem(), + mpTransparanceItem(), + mxFrame(rxFrame), + mpBindings(pBindings), + mbColorAvail(true), + maLayouter(*this) { - Initialize(); - FreeResource(); - - // Setup the grid layouter. - const sal_Int32 nMappedMboxWidth (Layouter::MapWidth(*this, MBOX_WIDTH)); - - maLayouter.GetCell(0,0).SetControl(*mpColorTextFT).SetGridWidth(3); - maLayouter.GetCell(1,0).SetControl(*mpLbFillType); - maLayouter.GetCell(1,2,0).SetControl(*mpToolBoxColorBackground).SetFixedWidth(); - maLayouter.GetCell(1,2,1).SetControl(*mpLbFillAttr); - - maLayouter.GetCell(2,0).SetControl(*mpTrspTextFT).SetGridWidth(3); - maLayouter.GetCell(3,0).SetControl(*mpLBTransType); - maLayouter.GetCell(3,2,0).SetControl(*mpMTRTransparent); - maLayouter.GetCell(3,2,1).SetControl(*mpBTNGradient); - - maLayouter.GetColumn(0) - .SetWeight(1) - .SetLeftPadding(Layouter::MapWidth(*this,SECTIONPAGE_MARGIN_HORIZONTAL)) - .SetMinimumWidth(nMappedMboxWidth); - maLayouter.GetColumn(1) - .SetWeight(0) - .SetMinimumWidth(Layouter::MapWidth(*this, CONTROL_SPACING_HORIZONTAL)); - maLayouter.GetColumn(2) - .SetWeight(1) - .SetMinimumWidth(nMappedMboxWidth) - .SetRightPadding(Layouter::MapWidth(*this,SECTIONPAGE_MARGIN_HORIZONTAL)); - - // Make controls that display text handle short widths more - // graceful. - Layouter::PrepareForLayouting(*mpColorTextFT); - Layouter::PrepareForLayouting(*mpTrspTextFT); + Initialize(); + FreeResource(); + + // Setup the grid layouter. + const sal_Int32 nMappedMboxWidth (Layouter::MapWidth(*this, MBOX_WIDTH)); + + maLayouter.GetCell(0,0).SetControl(*mpColorTextFT).SetGridWidth(3); + maLayouter.GetCell(1,0).SetControl(*mpLbFillType); + maLayouter.GetCell(1,2,0).SetControl(*mpToolBoxColorBackground).SetFixedWidth(); + maLayouter.GetCell(1,2,1).SetControl(*mpLbFillAttr); + + maLayouter.GetCell(2,0).SetControl(*mpTrspTextFT).SetGridWidth(3); + maLayouter.GetCell(3,0).SetControl(*mpLBTransType); + maLayouter.GetCell(3,2,0).SetControl(*mpMTRTransparent); + maLayouter.GetCell(3,2,1).SetControl(*mpBTNGradient); + + maLayouter.GetColumn(0) + .SetWeight(1) + .SetLeftPadding(Layouter::MapWidth(*this,SECTIONPAGE_MARGIN_HORIZONTAL)) + .SetMinimumWidth(nMappedMboxWidth); + maLayouter.GetColumn(1) + .SetWeight(0) + .SetMinimumWidth(Layouter::MapWidth(*this, CONTROL_SPACING_HORIZONTAL)); + maLayouter.GetColumn(2) + .SetWeight(1) + .SetMinimumWidth(nMappedMboxWidth) + .SetRightPadding(Layouter::MapWidth(*this,SECTIONPAGE_MARGIN_HORIZONTAL)); + + // Make controls that display text handle short widths more + // graceful. + Layouter::PrepareForLayouting(*mpColorTextFT); + Layouter::PrepareForLayouting(*mpTrspTextFT); } AreaPropertyPanel::~AreaPropertyPanel() { - // Destroy the toolboxes, then their background windows. - mpToolBoxColor.reset(); - mpBTNGradient.reset(); - mpToolBoxColorBackground.reset(); - mpBTNGradientBackground.reset(); + // Destroy the toolboxes, then their background windows. + mpToolBoxColor.reset(); + mpBTNGradient.reset(); + mpToolBoxColorBackground.reset(); + mpBTNGradientBackground.reset(); } void AreaPropertyPanel::Initialize() { - mpColorTextFT->SetBackground(Wallpaper()); - mpTrspTextFT->SetBackground(Wallpaper()); - - maGradientLinear.SetXOffset(DEFAULT_CENTERX); - maGradientLinear.SetYOffset(DEFAULT_CENTERY); - maGradientLinear.SetAngle(DEFAULT_ANGLE); - maGradientLinear.SetStartColor(Color(DEFAULT_STARTVALUE)); - maGradientLinear.SetEndColor(Color(DEFAULT_ENDVALUE)); - maGradientLinear.SetBorder(DEFAULT_BORDER); - maGradientLinear.SetGradientStyle(XGRAD_LINEAR); - - maGradientAxial = maGradientLinear; - maGradientAxial.SetGradientStyle(XGRAD_AXIAL); - - maGradientRadial = maGradientLinear; - maGradientRadial.SetGradientStyle(XGRAD_RADIAL); - - maGradientElliptical = maGradientLinear; - maGradientElliptical.SetGradientStyle(XGRAD_ELLIPTICAL); - - maGradientSquare = maGradientLinear; - maGradientSquare.SetGradientStyle(XGRAD_SQUARE); - - maGradientRect = maGradientLinear; - maGradientRect.SetGradientStyle(XGRAD_RECT); - - Size aLogicalFillSize(MBOX_WIDTH,LISTBOX_HEIGHT); - Size aLogicalAttrSize(MBOX_WIDTH + 1,LISTBOX_HEIGHT); - - Point aPoint(SECTIONPAGE_MARGIN_HORIZONTAL,SECTIONPAGE_MARGIN_VERTICAL_TOP + FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL); - Point aPoint_Picker(SECTIONPAGE_MARGIN_HORIZONTAL + MBOX_WIDTH + CONTROL_SPACING_HORIZONTAL,SECTIONPAGE_MARGIN_VERTICAL_TOP + FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL); - - Size aTypeSize(LogicToPixel(aLogicalFillSize, MAP_APPFONT)); - Size aAttrSize(LogicToPixel(aLogicalAttrSize, MAP_APPFONT)); - - Point aTypePoint(LogicToPixel(aPoint, MAP_APPFONT)); - Point aAttrPoint(LogicToPixel(aPoint_Picker, MAP_APPFONT)); - - mpLbFillType->SetPosSizePixel(aTypePoint,aTypeSize); - mpLbFillAttr->SetPosSizePixel(aAttrPoint,aAttrSize); - - mpLbFillType->SetHelpId(HID_PPROPERTYPANEL_AREA_LB_FILL_TYPES); - mpLbFillAttr->SetHelpId(HID_PPROPERTYPANEL_AREA_LB_FILL_ATTR); - - mpLbFillType->SetQuickHelpText(msHelpFillType); - mpLbFillAttr->SetQuickHelpText(msHelpFillAttr); - - mpLbFillType->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Fill"))); //wj acc - mpLbFillAttr->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Fill"))); //wj acc - - Link aLink = LINK( this, AreaPropertyPanel, SelectFillTypeHdl ); - mpLbFillType->SetSelectHdl( aLink ); - - aLink = LINK( this, AreaPropertyPanel, SelectFillAttrHdl ); - mpLbFillAttr->SetSelectHdl( aLink ); - - //add for new color picker - mpLbFillAttr->Hide(); - mpToolBoxColor->SetItemImage(TBI_COLOR, GetDisplayBackground().GetColor().IsDark()? maImgColorH : maImgColor); - Size aTbxSize( mpToolBoxColor->CalcWindowSizePixel() ); - mpToolBoxColor->SetOutputSizePixel( aTbxSize ); - mpToolBoxColor->SetItemBits( TBI_COLOR, mpToolBoxColor->GetItemBits( TBI_COLOR ) | TIB_DROPDOWNONLY ); - mpToolBoxColor->SetBackground(Wallpaper()); - mpToolBoxColor->SetPaintTransparent(true); - mpToolBoxColor->SetQuickHelpText(TBI_COLOR, String(SVX_RES(STR_HELP_COLOR))); //wj acc - //mpToolBoxColor->SetItemText(TBI_COLOR, msHelpFillAttr); - - long aHeightLBStyle = mpLbFillType->GetSizePixel().getHeight(); - long aLBPosY = mpLbFillType->GetPosPixel().getY(); - long aHeightTBAttr = mpToolBoxColor->GetSizePixel().getHeight(); - Point aPointTBAttr = mpToolBoxColor->GetPosPixel(); - aPointTBAttr.setY( aLBPosY + aHeightLBStyle / 2 - aHeightTBAttr / 2); - mpToolBoxColor->SetPosPixel(aPointTBAttr); - - aLink = LINK(this, AreaPropertyPanel, ToolBoxColorDropHdl); - mpToolBoxColor->SetDropdownClickHdl ( aLink ); - mpToolBoxColor->SetSelectHdl ( aLink ); - - //add end - mpLBTransType->SetSelectHdl(LINK(this, AreaPropertyPanel, ChangeTrgrTypeHdl_Impl)); - mpLBTransType->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Transparency"))); //wj acc - - mpMTRTransparent->SetValue( 50 ); - mpMTRTransparent->SetModifyHdl(LINK(this, AreaPropertyPanel, ModifyTransparentHdl_Impl)); - mpMTRTransparent->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Transparency"))); //wj acc - - mpBTNGradient->SetItemBits( TBI_BTX_GRADIENT, mpBTNGradient->GetItemBits( TBI_BTX_GRADIENT ) | TIB_DROPDOWNONLY ); - aLink = LINK( this, AreaPropertyPanel, ClickTrGrHdl_Impl ); - mpBTNGradient->SetDropdownClickHdl( aLink ); - mpBTNGradient->SetSelectHdl( aLink ); - aTbxSize = mpBTNGradient->CalcWindowSizePixel(); - mpBTNGradient->SetOutputSizePixel( aTbxSize ); - mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,maImgLinear); - mpBTNGradient->SetQuickHelpText(TBI_BTX_GRADIENT, String(SVX_RES(STR_HELP_GRADIENT))); //wj acc - mpBTNGradient->Hide(); - - long aHeightLBTrans = mpLBTransType->GetSizePixel().getHeight(); - Point aPointLB = mpLBTransType->GetPosPixel(); - long aPosY = aPointLB.getY(); - - Point aPointMetric = mpMTRTransparent->GetPosPixel(); - Point aPointTB = mpMTRTransparent->GetPosPixel(); - long aHeightMetric = mpMTRTransparent->GetSizePixel().getHeight(); - long aHeightTool = mpBTNGradient->GetSizePixel().getHeight(); - aPointMetric.setY(aPosY+aHeightLBTrans/2-aHeightMetric/2); - aPointTB.setY(aPosY+aHeightLBTrans/2-aHeightTool/2); - aPointTB.setX(aPointTB.getX()+3); - mpMTRTransparent->SetPosPixel(aPointMetric); - mpBTNGradient->SetPosPixel(aPointTB); - - mpLbFillType->SetAccessibleRelationLabeledBy(mpColorTextFT.get()); - mpLbFillAttr->SetAccessibleRelationLabeledBy(mpLbFillAttr.get()); - mpToolBoxColor->SetAccessibleRelationLabeledBy(mpToolBoxColor.get()); - mpLBTransType->SetAccessibleRelationLabeledBy(mpTrspTextFT.get()); - mpMTRTransparent->SetAccessibleRelationLabeledBy(mpMTRTransparent.get()); - mpBTNGradient->SetAccessibleRelationLabeledBy(mpBTNGradient.get()); - - SetupIcons(); + mpColorTextFT->SetBackground(Wallpaper()); + mpTrspTextFT->SetBackground(Wallpaper()); + + maGradientLinear.SetXOffset(DEFAULT_CENTERX); + maGradientLinear.SetYOffset(DEFAULT_CENTERY); + maGradientLinear.SetAngle(DEFAULT_ANGLE); + maGradientLinear.SetStartColor(Color(DEFAULT_STARTVALUE)); + maGradientLinear.SetEndColor(Color(DEFAULT_ENDVALUE)); + maGradientLinear.SetBorder(DEFAULT_BORDER); + maGradientLinear.SetGradientStyle(XGRAD_LINEAR); + + maGradientAxial = maGradientLinear; + maGradientAxial.SetGradientStyle(XGRAD_AXIAL); + + maGradientRadial = maGradientLinear; + maGradientRadial.SetGradientStyle(XGRAD_RADIAL); + + maGradientElliptical = maGradientLinear; + maGradientElliptical.SetGradientStyle(XGRAD_ELLIPTICAL); + + maGradientSquare = maGradientLinear; + maGradientSquare.SetGradientStyle(XGRAD_SQUARE); + + maGradientRect = maGradientLinear; + maGradientRect.SetGradientStyle(XGRAD_RECT); + + Size aLogicalFillSize(MBOX_WIDTH,LISTBOX_HEIGHT); + Size aLogicalAttrSize(MBOX_WIDTH + 1,LISTBOX_HEIGHT); + + Point aPoint(SECTIONPAGE_MARGIN_HORIZONTAL,SECTIONPAGE_MARGIN_VERTICAL_TOP + FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL); + Point aPoint_Picker(SECTIONPAGE_MARGIN_HORIZONTAL + MBOX_WIDTH + CONTROL_SPACING_HORIZONTAL,SECTIONPAGE_MARGIN_VERTICAL_TOP + FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL); + + Size aTypeSize(LogicToPixel(aLogicalFillSize, MAP_APPFONT)); + Size aAttrSize(LogicToPixel(aLogicalAttrSize, MAP_APPFONT)); + + Point aTypePoint(LogicToPixel(aPoint, MAP_APPFONT)); + Point aAttrPoint(LogicToPixel(aPoint_Picker, MAP_APPFONT)); + + mpLbFillType->SetPosSizePixel(aTypePoint,aTypeSize); + mpLbFillAttr->SetPosSizePixel(aAttrPoint,aAttrSize); + + mpLbFillType->SetHelpId(HID_PPROPERTYPANEL_AREA_LB_FILL_TYPES); + mpLbFillAttr->SetHelpId(HID_PPROPERTYPANEL_AREA_LB_FILL_ATTR); + + mpLbFillType->SetQuickHelpText(msHelpFillType); + mpLbFillAttr->SetQuickHelpText(msHelpFillAttr); + + mpLbFillType->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Fill"))); // wj acc + mpLbFillAttr->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Fill"))); // wj acc + + Link aLink = LINK( this, AreaPropertyPanel, SelectFillTypeHdl ); + mpLbFillType->SetSelectHdl( aLink ); + + aLink = LINK( this, AreaPropertyPanel, SelectFillAttrHdl ); + mpLbFillAttr->SetSelectHdl( aLink ); + + // add for new color picker + mpLbFillAttr->Hide(); + mpToolBoxColor->SetItemImage(TBI_COLOR, GetDisplayBackground().GetColor().IsDark()? maImgColorH : maImgColor); + Size aTbxSize( mpToolBoxColor->CalcWindowSizePixel() ); + mpToolBoxColor->SetOutputSizePixel( aTbxSize ); + mpToolBoxColor->SetItemBits( TBI_COLOR, mpToolBoxColor->GetItemBits( TBI_COLOR ) | TIB_DROPDOWNONLY ); + mpToolBoxColor->SetBackground(Wallpaper()); + mpToolBoxColor->SetPaintTransparent(true); + mpToolBoxColor->SetQuickHelpText(TBI_COLOR, String(SVX_RES(STR_HELP_COLOR))); // wj acc + //mpToolBoxColor->SetItemText(TBI_COLOR, msHelpFillAttr); + + long aHeightLBStyle = mpLbFillType->GetSizePixel().getHeight(); + long aLBPosY = mpLbFillType->GetPosPixel().getY(); + long aHeightTBAttr = mpToolBoxColor->GetSizePixel().getHeight(); + Point aPointTBAttr = mpToolBoxColor->GetPosPixel(); + aPointTBAttr.setY( aLBPosY + aHeightLBStyle / 2 - aHeightTBAttr / 2); + mpToolBoxColor->SetPosPixel(aPointTBAttr); + + aLink = LINK(this, AreaPropertyPanel, ToolBoxColorDropHdl); + mpToolBoxColor->SetDropdownClickHdl ( aLink ); + mpToolBoxColor->SetSelectHdl ( aLink ); + + // add end + mpLBTransType->SetSelectHdl(LINK(this, AreaPropertyPanel, ChangeTrgrTypeHdl_Impl)); + mpLBTransType->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Transparency"))); // wj acc + + mpMTRTransparent->SetValue( 50 ); + mpMTRTransparent->SetModifyHdl(LINK(this, AreaPropertyPanel, ModifyTransparentHdl_Impl)); + mpMTRTransparent->SetAccessibleName(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Transparency"))); // wj acc + + mpBTNGradient->SetItemBits( TBI_BTX_GRADIENT, mpBTNGradient->GetItemBits( TBI_BTX_GRADIENT ) | TIB_DROPDOWNONLY ); + aLink = LINK( this, AreaPropertyPanel, ClickTrGrHdl_Impl ); + mpBTNGradient->SetDropdownClickHdl( aLink ); + mpBTNGradient->SetSelectHdl( aLink ); + aTbxSize = mpBTNGradient->CalcWindowSizePixel(); + mpBTNGradient->SetOutputSizePixel( aTbxSize ); + mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,maImgLinear); + mpBTNGradient->SetQuickHelpText(TBI_BTX_GRADIENT, String(SVX_RES(STR_HELP_GRADIENT))); // wj acc + mpBTNGradient->Hide(); + + long aHeightLBTrans = mpLBTransType->GetSizePixel().getHeight(); + Point aPointLB = mpLBTransType->GetPosPixel(); + long aPosY = aPointLB.getY(); + + Point aPointMetric = mpMTRTransparent->GetPosPixel(); + Point aPointTB = mpMTRTransparent->GetPosPixel(); + long aHeightMetric = mpMTRTransparent->GetSizePixel().getHeight(); + long aHeightTool = mpBTNGradient->GetSizePixel().getHeight(); + aPointMetric.setY(aPosY+aHeightLBTrans/2-aHeightMetric/2); + aPointTB.setY(aPosY+aHeightLBTrans/2-aHeightTool/2); + aPointTB.setX(aPointTB.getX()+3); + mpMTRTransparent->SetPosPixel(aPointMetric); + mpBTNGradient->SetPosPixel(aPointTB); + + mpLbFillType->SetAccessibleRelationLabeledBy(mpColorTextFT.get()); + mpLbFillAttr->SetAccessibleRelationLabeledBy(mpLbFillAttr.get()); + mpToolBoxColor->SetAccessibleRelationLabeledBy(mpToolBoxColor.get()); + mpLBTransType->SetAccessibleRelationLabeledBy(mpTrspTextFT.get()); + mpMTRTransparent->SetAccessibleRelationLabeledBy(mpMTRTransparent.get()); + mpBTNGradient->SetAccessibleRelationLabeledBy(mpBTNGradient.get()); + + SetupIcons(); } IMPL_LINK( AreaPropertyPanel, SelectFillTypeHdl, ListBox *, pToolBox ) { - const XFillStyle eXFS = (XFillStyle)mpLbFillType->GetSelectEntryPos(); - - if((XFillStyle)meLastXFS != eXFS) - { - mpLbFillAttr->Clear(); - SfxObjectShell* pSh = SfxObjectShell::Current(); - const XFillStyleItem aXFillStyleItem(eXFS); - - // #122676# Do no longer trigger two Execute calls, one for SID_ATTR_FILL_STYLE - // and one for setting the fill attribute itself, but add two SfxPoolItems to the - // call to get just one action at the SdrObject and to create only one Undo action, too. - // Checked that this works in all apps. - switch( eXFS ) - { - case XFILL_NONE: - { - mpLbFillAttr->Show(); - mpToolBoxColor->Hide(); - mpLbFillType->Selected(); - mpLbFillAttr->Disable(); - - // #122676# need to call a single SID_ATTR_FILL_STYLE change - GetBindings()->GetDispatcher()->Execute( - SID_ATTR_FILL_STYLE, SFX_CALLMODE_RECORD, &aXFillStyleItem, 0L); - break; - } - case XFILL_SOLID: - { - mpLbFillAttr->Hide(); - mpToolBoxColor->Show(); - const String aTmpStr; - const Color aColor = maLastColor; - const XFillColorItem aXFillColorItem( aTmpStr, aColor ); - - // #122676# change FillStyle and Color in one call - GetBindings()->GetDispatcher()->Execute( - SID_ATTR_FILL_COLOR, SFX_CALLMODE_RECORD, &aXFillColorItem, &aXFillStyleItem, 0L); - break; - } - case XFILL_GRADIENT: - { - mpLbFillAttr->Show(); - mpToolBoxColor->Hide(); - - if(pSh && pSh->GetItem(SID_GRADIENT_LIST)) - { - if(!mpLbFillAttr->GetEntryCount()) - { - const SvxGradientListItem aItem(*(const SvxGradientListItem*)(pSh->GetItem(SID_GRADIENT_LIST))); - mpLbFillAttr->Enable(); - mpLbFillAttr->Clear(); - mpLbFillAttr->Fill(aItem.GetGradientList()); - } - - mpLbFillAttr->AdaptDropDownLineCountToMaximum(); - - if(LISTBOX_ENTRY_NOTFOUND != mnLastPosGradient) - { - const SvxGradientListItem aItem(*(const SvxGradientListItem*)(pSh->GetItem(SID_GRADIENT_LIST))); - - if(mnLastPosGradient < aItem.GetGradientList()->Count()) - { - const XGradient aGradient = aItem.GetGradientList()->GetGradient(mnLastPosGradient)->GetGradient(); - const XFillGradientItem aXFillGradientItem(mpLbFillAttr->GetEntry(mnLastPosGradient), aGradient); - - // #122676# change FillStyle and Gradient in one call - GetBindings()->GetDispatcher()->Execute( - SID_ATTR_FILL_GRADIENT, SFX_CALLMODE_RECORD, &aXFillGradientItem, &aXFillStyleItem, 0L); - mpLbFillAttr->SelectEntryPos(mnLastPosGradient); - } - } - } - else - { - mpLbFillAttr->Disable(); - } - break; - } - case XFILL_HATCH: - { - mpLbFillAttr->Show(); - mpToolBoxColor->Hide(); - - if(pSh && pSh->GetItem(SID_HATCH_LIST)) - { - if(!mpLbFillAttr->GetEntryCount()) - { - const SvxHatchListItem aItem( *(const SvxHatchListItem*)(pSh->GetItem(SID_HATCH_LIST))); - mpLbFillAttr->Enable(); - mpLbFillAttr->Clear(); - mpLbFillAttr->Fill(aItem.GetHatchList()); - } - - mpLbFillAttr->AdaptDropDownLineCountToMaximum(); - - if(LISTBOX_ENTRY_NOTFOUND != mnLastPosHatch) - { - const SvxHatchListItem aItem(*(const SvxHatchListItem*)(pSh->GetItem(SID_HATCH_LIST))); - - if(mnLastPosHatch < aItem.GetHatchList()->Count()) - { - const XHatch aHatch = aItem.GetHatchList()->GetHatch(mnLastPosHatch)->GetHatch(); - const XFillHatchItem aXFillHatchItem(mpLbFillAttr->GetSelectEntry(), aHatch); - - // #122676# change FillStyle and Hatch in one call - GetBindings()->GetDispatcher()->Execute( - SID_ATTR_FILL_HATCH, SFX_CALLMODE_RECORD, &aXFillHatchItem, &aXFillStyleItem, 0L); - mpLbFillAttr->SelectEntryPos(mnLastPosHatch); - } - } - } - else - { - mpLbFillAttr->Disable(); - } - break; - } - case XFILL_BITMAP: - { - mpLbFillAttr->Show(); - mpToolBoxColor->Hide(); - - if(pSh && pSh->GetItem(SID_BITMAP_LIST)) - { - if(!mpLbFillAttr->GetEntryCount()) - { - const SvxBitmapListItem aItem( *(const SvxBitmapListItem*)(pSh->GetItem(SID_BITMAP_LIST))); - mpLbFillAttr->Enable(); - mpLbFillAttr->Clear(); - mpLbFillAttr->Fill(aItem.GetBitmapList()); - } - - mpLbFillAttr->AdaptDropDownLineCountToMaximum(); - - if(LISTBOX_ENTRY_NOTFOUND != mnLastPosBitmap) - { - const SvxBitmapListItem aItem(*(const SvxBitmapListItem*)(pSh->GetItem(SID_BITMAP_LIST))); - - if(mnLastPosBitmap < aItem.GetBitmapList()->Count()) - { - const XBitmapEntry* pXBitmapEntry = aItem.GetBitmapList()->GetBitmap(mnLastPosBitmap); - const XFillBitmapItem aXFillBitmapItem(mpLbFillAttr->GetSelectEntry(), pXBitmapEntry->GetGraphicObject()); - - // #122676# change FillStyle and Bitmap in one call - GetBindings()->GetDispatcher()->Execute( - SID_ATTR_FILL_BITMAP, SFX_CALLMODE_RECORD, &aXFillBitmapItem, &aXFillStyleItem, 0L); - mpLbFillAttr->SelectEntryPos(mnLastPosBitmap); - } - } - } - else - { - mpLbFillAttr->Disable(); - } - break; - } - } - - meLastXFS = (sal_uInt16)eXFS; - - if(XFILL_NONE != eXFS) - { - if(pToolBox) - { - mpLbFillType->Selected(); - } - } - - maLayouter.Layout(); - } - - return 0; + const XFillStyle eXFS = (XFillStyle)mpLbFillType->GetSelectEntryPos(); + + if((XFillStyle)meLastXFS != eXFS) + { + mpLbFillAttr->Clear(); + SfxObjectShell* pSh = SfxObjectShell::Current(); + const XFillStyleItem aXFillStyleItem(eXFS); + + // #122676# Do no longer trigger two Execute calls, one for SID_ATTR_FILL_STYLE + // and one for setting the fill attribute itself, but add two SfxPoolItems to the + // call to get just one action at the SdrObject and to create only one Undo action, too. + // Checked that this works in all apps. + switch( eXFS ) + { + case XFILL_NONE: + { + mpLbFillAttr->Show(); + mpToolBoxColor->Hide(); + mpLbFillType->Selected(); + mpLbFillAttr->Disable(); + + // #122676# need to call a single SID_ATTR_FILL_STYLE change + GetBindings()->GetDispatcher()->Execute( + SID_ATTR_FILL_STYLE, SFX_CALLMODE_RECORD, &aXFillStyleItem, 0L); + break; + } + case XFILL_SOLID: + { + mpLbFillAttr->Hide(); + mpToolBoxColor->Show(); + const String aTmpStr; + const Color aColor = maLastColor; + const XFillColorItem aXFillColorItem( aTmpStr, aColor ); + + // #122676# change FillStyle and Color in one call + GetBindings()->GetDispatcher()->Execute( + SID_ATTR_FILL_COLOR, SFX_CALLMODE_RECORD, &aXFillColorItem, &aXFillStyleItem, 0L); + break; + } + case XFILL_GRADIENT: + { + mpLbFillAttr->Show(); + mpToolBoxColor->Hide(); + + if(pSh && pSh->GetItem(SID_GRADIENT_LIST)) + { + if(!mpLbFillAttr->GetEntryCount()) + { + const SvxGradientListItem aItem(*(const SvxGradientListItem*)(pSh->GetItem(SID_GRADIENT_LIST))); + mpLbFillAttr->Enable(); + mpLbFillAttr->Clear(); + mpLbFillAttr->Fill(aItem.GetGradientList()); + } + + mpLbFillAttr->AdaptDropDownLineCountToMaximum(); + + if(LISTBOX_ENTRY_NOTFOUND != mnLastPosGradient) + { + const SvxGradientListItem aItem(*(const SvxGradientListItem*)(pSh->GetItem(SID_GRADIENT_LIST))); + + if(mnLastPosGradient < aItem.GetGradientList()->Count()) + { + const XGradient aGradient = aItem.GetGradientList()->GetGradient(mnLastPosGradient)->GetGradient(); + const XFillGradientItem aXFillGradientItem(mpLbFillAttr->GetEntry(mnLastPosGradient), aGradient); + + // #122676# change FillStyle and Gradient in one call + GetBindings()->GetDispatcher()->Execute( + SID_ATTR_FILL_GRADIENT, SFX_CALLMODE_RECORD, &aXFillGradientItem, &aXFillStyleItem, 0L); + mpLbFillAttr->SelectEntryPos(mnLastPosGradient); + } + } + } + else + { + mpLbFillAttr->Disable(); + } + break; + } + case XFILL_HATCH: + { + mpLbFillAttr->Show(); + mpToolBoxColor->Hide(); + + if(pSh && pSh->GetItem(SID_HATCH_LIST)) + { + if(!mpLbFillAttr->GetEntryCount()) + { + const SvxHatchListItem aItem( *(const SvxHatchListItem*)(pSh->GetItem(SID_HATCH_LIST))); + mpLbFillAttr->Enable(); + mpLbFillAttr->Clear(); + mpLbFillAttr->Fill(aItem.GetHatchList()); + } + + mpLbFillAttr->AdaptDropDownLineCountToMaximum(); + + if(LISTBOX_ENTRY_NOTFOUND != mnLastPosHatch) + { + const SvxHatchListItem aItem(*(const SvxHatchListItem*)(pSh->GetItem(SID_HATCH_LIST))); + + if(mnLastPosHatch < aItem.GetHatchList()->Count()) + { + const XHatch aHatch = aItem.GetHatchList()->GetHatch(mnLastPosHatch)->GetHatch(); + const XFillHatchItem aXFillHatchItem(mpLbFillAttr->GetSelectEntry(), aHatch); + + // #122676# change FillStyle and Hatch in one call + GetBindings()->GetDispatcher()->Execute( + SID_ATTR_FILL_HATCH, SFX_CALLMODE_RECORD, &aXFillHatchItem, &aXFillStyleItem, 0L); + mpLbFillAttr->SelectEntryPos(mnLastPosHatch); + } + } + } + else + { + mpLbFillAttr->Disable(); + } + break; + } + case XFILL_BITMAP: + { + mpLbFillAttr->Show(); + mpToolBoxColor->Hide(); + + if(pSh && pSh->GetItem(SID_BITMAP_LIST)) + { + if(!mpLbFillAttr->GetEntryCount()) + { + const SvxBitmapListItem aItem( *(const SvxBitmapListItem*)(pSh->GetItem(SID_BITMAP_LIST))); + mpLbFillAttr->Enable(); + mpLbFillAttr->Clear(); + mpLbFillAttr->Fill(aItem.GetBitmapList()); + } + + mpLbFillAttr->AdaptDropDownLineCountToMaximum(); + + if(LISTBOX_ENTRY_NOTFOUND != mnLastPosBitmap) + { + const SvxBitmapListItem aItem(*(const SvxBitmapListItem*)(pSh->GetItem(SID_BITMAP_LIST))); + + if(mnLastPosBitmap < aItem.GetBitmapList()->Count()) + { + const XBitmapEntry* pXBitmapEntry = aItem.GetBitmapList()->GetBitmap(mnLastPosBitmap); + const XFillBitmapItem aXFillBitmapItem(mpLbFillAttr->GetSelectEntry(), pXBitmapEntry->GetGraphicObject()); + + // #122676# change FillStyle and Bitmap in one call + GetBindings()->GetDispatcher()->Execute( + SID_ATTR_FILL_BITMAP, SFX_CALLMODE_RECORD, &aXFillBitmapItem, &aXFillStyleItem, 0L); + mpLbFillAttr->SelectEntryPos(mnLastPosBitmap); + } + } + } + else + { + mpLbFillAttr->Disable(); + } + break; + } + } + + meLastXFS = (sal_uInt16)eXFS; + + if(XFILL_NONE != eXFS) + { + if(pToolBox) + { + mpLbFillType->Selected(); + } + } + + maLayouter.Layout(); + } + + return 0; } IMPL_LINK( AreaPropertyPanel, SelectFillAttrHdl, ListBox*, pToolBox ) { - const XFillStyle eXFS = (XFillStyle)mpLbFillType->GetSelectEntryPos(); - const XFillStyleItem aXFillStyleItem(eXFS); - SfxObjectShell* pSh = SfxObjectShell::Current(); - - if(pToolBox) - { - // #122676# dependent from bFillStyleChange, do execute a single or two - // changes in one Execute call - const bool bFillStyleChange((XFillStyle) meLastXFS != eXFS); - - switch(eXFS) - { - case XFILL_SOLID: - { - if(bFillStyleChange) - { - // #122676# Single FillStyle change call needed here - GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_STYLE, SFX_CALLMODE_RECORD, &aXFillStyleItem, 0L); - } - break; - } - case XFILL_GRADIENT: - { - sal_uInt16 nPos = mpLbFillAttr->GetSelectEntryPos(); - - if(LISTBOX_ENTRY_NOTFOUND == nPos) - { - nPos = mnLastPosGradient; - } - - if(LISTBOX_ENTRY_NOTFOUND != nPos && pSh && pSh->GetItem(SID_GRADIENT_LIST)) - { - const SvxGradientListItem aItem(*(const SvxGradientListItem*)(pSh->GetItem(SID_GRADIENT_LIST))); - - if(nPos < aItem.GetGradientList()->Count()) - { - const XGradient aGradient = aItem.GetGradientList()->GetGradient(nPos)->GetGradient(); - const XFillGradientItem aXFillGradientItem(mpLbFillAttr->GetSelectEntry(), aGradient); - - // #122676# Change FillStale and Gradinet in one call - GetBindings()->GetDispatcher()->Execute( - SID_ATTR_FILL_GRADIENT, SFX_CALLMODE_RECORD, &aXFillGradientItem, - bFillStyleChange ? &aXFillStyleItem : 0L, 0L); - } - } - - if(LISTBOX_ENTRY_NOTFOUND != nPos) - { - mnLastPosGradient = nPos; - } - break; - } - case XFILL_HATCH: - { - sal_uInt16 nPos = mpLbFillAttr->GetSelectEntryPos(); - - if(LISTBOX_ENTRY_NOTFOUND == nPos) - { - nPos = mnLastPosHatch; - } - - if(LISTBOX_ENTRY_NOTFOUND != nPos && pSh && pSh->GetItem(SID_HATCH_LIST)) - { - const SvxHatchListItem aItem(*(const SvxHatchListItem*)(pSh->GetItem(SID_HATCH_LIST))); - - if(nPos < aItem.GetHatchList()->Count()) - { - const XHatch aHatch = aItem.GetHatchList()->GetHatch(nPos)->GetHatch(); - const XFillHatchItem aXFillHatchItem( mpLbFillAttr->GetSelectEntry(), aHatch); - - // #122676# Change FillStale and Hatch in one call - GetBindings()->GetDispatcher()->Execute( - SID_ATTR_FILL_HATCH, SFX_CALLMODE_RECORD, &aXFillHatchItem, - bFillStyleChange ? &aXFillStyleItem : 0L, 0L); - } - } - - if(LISTBOX_ENTRY_NOTFOUND != nPos) - { - mnLastPosHatch = nPos; - } - break; - } - case XFILL_BITMAP: - { - sal_uInt16 nPos = mpLbFillAttr->GetSelectEntryPos(); - - if(LISTBOX_ENTRY_NOTFOUND == nPos) - { - nPos = mnLastPosBitmap; - } - - if(LISTBOX_ENTRY_NOTFOUND != nPos && pSh && pSh->GetItem(SID_BITMAP_LIST)) - { - const SvxBitmapListItem aItem(*(const SvxBitmapListItem*)(pSh->GetItem(SID_BITMAP_LIST))); - - if(nPos < aItem.GetBitmapList()->Count()) - { - const XBitmapEntry* pXBitmapEntry = aItem.GetBitmapList()->GetBitmap(nPos); - const XFillBitmapItem aXFillBitmapItem(mpLbFillAttr->GetSelectEntry(), pXBitmapEntry->GetGraphicObject()); - - // #122676# Change FillStale and Bitmap in one call - GetBindings()->GetDispatcher()->Execute( - SID_ATTR_FILL_BITMAP, SFX_CALLMODE_RECORD, &aXFillBitmapItem, - bFillStyleChange ? &aXFillStyleItem : 0L, 0L); - } - } - - if(LISTBOX_ENTRY_NOTFOUND != nPos) - { - mnLastPosBitmap = nPos; - } - break; - } - default: break; - } - } - - return 0; + const XFillStyle eXFS = (XFillStyle)mpLbFillType->GetSelectEntryPos(); + const XFillStyleItem aXFillStyleItem(eXFS); + SfxObjectShell* pSh = SfxObjectShell::Current(); + + if(pToolBox) + { + // #122676# dependent from bFillStyleChange, do execute a single or two + // changes in one Execute call + const bool bFillStyleChange((XFillStyle) meLastXFS != eXFS); + + switch(eXFS) + { + case XFILL_SOLID: + { + if(bFillStyleChange) + { + // #122676# Single FillStyle change call needed here + GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_STYLE, SFX_CALLMODE_RECORD, &aXFillStyleItem, 0L); + } + break; + } + case XFILL_GRADIENT: + { + sal_uInt16 nPos = mpLbFillAttr->GetSelectEntryPos(); + + if(LISTBOX_ENTRY_NOTFOUND == nPos) + { + nPos = mnLastPosGradient; + } + + if(LISTBOX_ENTRY_NOTFOUND != nPos && pSh && pSh->GetItem(SID_GRADIENT_LIST)) + { + const SvxGradientListItem aItem(*(const SvxGradientListItem*)(pSh->GetItem(SID_GRADIENT_LIST))); + + if(nPos < aItem.GetGradientList()->Count()) + { + const XGradient aGradient = aItem.GetGradientList()->GetGradient(nPos)->GetGradient(); + const XFillGradientItem aXFillGradientItem(mpLbFillAttr->GetSelectEntry(), aGradient); + + // #122676# Change FillStyle and Gradient in one call + GetBindings()->GetDispatcher()->Execute( + SID_ATTR_FILL_GRADIENT, SFX_CALLMODE_RECORD, &aXFillGradientItem, + bFillStyleChange ? &aXFillStyleItem : 0L, 0L); + } + } + + if(LISTBOX_ENTRY_NOTFOUND != nPos) + { + mnLastPosGradient = nPos; + } + break; + } + case XFILL_HATCH: + { + sal_uInt16 nPos = mpLbFillAttr->GetSelectEntryPos(); + + if(LISTBOX_ENTRY_NOTFOUND == nPos) + { + nPos = mnLastPosHatch; + } + + if(LISTBOX_ENTRY_NOTFOUND != nPos && pSh && pSh->GetItem(SID_HATCH_LIST)) + { + const SvxHatchListItem aItem(*(const SvxHatchListItem*)(pSh->GetItem(SID_HATCH_LIST))); + + if(nPos < aItem.GetHatchList()->Count()) + { + const XHatch aHatch = aItem.GetHatchList()->GetHatch(nPos)->GetHatch(); + const XFillHatchItem aXFillHatchItem( mpLbFillAttr->GetSelectEntry(), aHatch); + + // #122676# Change FillStyle and Hatch in one call + GetBindings()->GetDispatcher()->Execute( + SID_ATTR_FILL_HATCH, SFX_CALLMODE_RECORD, &aXFillHatchItem, + bFillStyleChange ? &aXFillStyleItem : 0L, 0L); + } + } + + if(LISTBOX_ENTRY_NOTFOUND != nPos) + { + mnLastPosHatch = nPos; + } + break; + } + case XFILL_BITMAP: + { + sal_uInt16 nPos = mpLbFillAttr->GetSelectEntryPos(); + + if(LISTBOX_ENTRY_NOTFOUND == nPos) + { + nPos = mnLastPosBitmap; + } + + if(LISTBOX_ENTRY_NOTFOUND != nPos && pSh && pSh->GetItem(SID_BITMAP_LIST)) + { + const SvxBitmapListItem aItem(*(const SvxBitmapListItem*)(pSh->GetItem(SID_BITMAP_LIST))); + + if(nPos < aItem.GetBitmapList()->Count()) + { + const XBitmapEntry* pXBitmapEntry = aItem.GetBitmapList()->GetBitmap(nPos); + const XFillBitmapItem aXFillBitmapItem(mpLbFillAttr->GetSelectEntry(), pXBitmapEntry->GetGraphicObject()); + + // #122676# Change FillStyle and Bitmap in one call + GetBindings()->GetDispatcher()->Execute( + SID_ATTR_FILL_BITMAP, SFX_CALLMODE_RECORD, &aXFillBitmapItem, + bFillStyleChange ? &aXFillStyleItem : 0L, 0L); + } + } + + if(LISTBOX_ENTRY_NOTFOUND != nPos) + { + mnLastPosBitmap = nPos; + } + break; + } + default: break; + } + } + + return 0; } IMPL_LINK(AreaPropertyPanel, ToolBoxColorDropHdl, ToolBox*, pToolBox) { - const sal_uInt16 nId = pToolBox->GetCurItemId(); - - if(TBI_COLOR == nId) - { - maColorPopup.Show(*pToolBox); - - if (mpColorItem) - { - maColorPopup.SetCurrentColor(mpColorItem->GetColorValue(), mbColorAvail); - } - else - { - maColorPopup.SetCurrentColor(COL_WHITE, false); - } - } - - return 0; + const sal_uInt16 nId = pToolBox->GetCurItemId(); + + if(TBI_COLOR == nId) + { + maColorPopup.Show(*pToolBox); + + if (mpColorItem) + { + maColorPopup.SetCurrentColor(mpColorItem->GetColorValue(), mbColorAvail); + } + else + { + maColorPopup.SetCurrentColor(COL_WHITE, false); + } + } + + return 0; } void AreaPropertyPanel::SetColor ( - const String& rsColorName, - const Color aColor) + const String& rsColorName, + const Color aColor) { - const XFillColorItem aXFillColorItem(rsColorName, aColor); - mpBindings->GetDispatcher()->Execute(SID_ATTR_FILL_COLOR, SFX_CALLMODE_RECORD, &aXFillColorItem, 0L); - maLastColor = aColor; + const XFillColorItem aXFillColorItem(rsColorName, aColor); + mpBindings->GetDispatcher()->Execute(SID_ATTR_FILL_COLOR, SFX_CALLMODE_RECORD, &aXFillColorItem, 0L); + maLastColor = aColor; } @@ -645,7 +647,7 @@ void AreaPropertyPanel::SetColor ( PopupControl* AreaPropertyPanel::CreateTransparencyGradientControl (PopupContainer* pParent) { - return new AreaTransparencyGradientControl(pParent, *this); + return new AreaTransparencyGradientControl(pParent, *this); } @@ -653,15 +655,15 @@ PopupControl* AreaPropertyPanel::CreateTransparencyGradientControl (PopupContain PopupControl* AreaPropertyPanel::CreateColorPopupControl (PopupContainer* pParent) { - return new ColorControl( - pParent, - mpBindings, - SVX_RES(RID_POPUPPANEL_AERAPAGE_COLOR), - SVX_RES(VS_COLOR), - ::boost::bind(&AreaPropertyPanel::GetLastColor, this), - ::boost::bind(&AreaPropertyPanel::SetColor, this, _1,_2), - pParent, - 0); + return new ColorControl( + pParent, + mpBindings, + SVX_RES(RID_POPUPPANEL_AERAPAGE_COLOR), + SVX_RES(VS_COLOR), + ::boost::bind(&AreaPropertyPanel::GetLastColor, this), + ::boost::bind(&AreaPropertyPanel::SetColor, this, _1,_2), + pParent, + 0); } @@ -669,778 +671,778 @@ PopupControl* AreaPropertyPanel::CreateColorPopupControl (PopupContainer* pParen void AreaPropertyPanel::SetupIcons(void) { - if(Theme::GetBoolean(Theme::Bool_UseSymphonyIcons)) - { - // todo - } - else - { - // todo - } + if(Theme::GetBoolean(Theme::Bool_UseSymphonyIcons)) + { + // todo + } + else + { + // todo + } } AreaPropertyPanel* AreaPropertyPanel::Create ( - Window* pParent, - const cssu::Reference<css::frame::XFrame>& rxFrame, - SfxBindings* pBindings) + Window* pParent, + const cssu::Reference<css::frame::XFrame>& rxFrame, + SfxBindings* pBindings) { - if (pParent == NULL) - throw lang::IllegalArgumentException(A2S("no parent Window given to AreaPropertyPanel::Create"), NULL, 0); - if ( ! rxFrame.is()) - throw lang::IllegalArgumentException(A2S("no XFrame given to AreaPropertyPanel::Create"), NULL, 1); - if (pBindings == NULL) - throw lang::IllegalArgumentException(A2S("no SfxBindings given to AreaPropertyPanel::Create"), NULL, 2); - - return new AreaPropertyPanel( - pParent, - rxFrame, - pBindings); + if (pParent == NULL) + throw lang::IllegalArgumentException(A2S("no parent Window given to AreaPropertyPanel::Create"), NULL, 0); + if ( ! rxFrame.is()) + throw lang::IllegalArgumentException(A2S("no XFrame given to AreaPropertyPanel::Create"), NULL, 1); + if (pBindings == NULL) + throw lang::IllegalArgumentException(A2S("no SfxBindings given to AreaPropertyPanel::Create"), NULL, 2); + + return new AreaPropertyPanel( + pParent, + rxFrame, + pBindings); } void AreaPropertyPanel::DataChanged( - const DataChangedEvent& rEvent) + const DataChangedEvent& rEvent) { - (void)rEvent; - - SetupIcons(); + (void)rEvent; + + SetupIcons(); } void AreaPropertyPanel::ImpUpdateTransparencies() { - if(mpTransparanceItem.get() && mpFloatTransparenceItem.get()) - { - bool bZeroValue(false); - - if(mpTransparanceItem.get()) - { - const sal_uInt16 nValue(mpTransparanceItem->GetValue()); - - if(!nValue) - { - bZeroValue = true; - } - else if(nValue <= 100) - { - mpLBTransType->Enable(); - mpTrspTextFT->Enable(); - mpLBTransType->SelectEntryPos(1); - mpBTNGradient->Hide(); - mpMTRTransparent->Show(); - mpMTRTransparent->Enable(); - mpMTRTransparent->SetValue(nValue); - } - - if(!bZeroValue) - { - maTrGrPopup.Hide(); - } - } - - if(bZeroValue && mpFloatTransparenceItem.get()) - { - if(mpFloatTransparenceItem->IsEnabled()) - { - const XGradient& rGradient = mpFloatTransparenceItem->GetGradientValue(); - const bool bHighContrast(GetSettings().GetStyleSettings().GetHighContrastMode()); - sal_uInt16 nEntryPos(0); - Image* pImage = 0; - - mpLBTransType->Enable(); - mpTrspTextFT->Enable(); - mpMTRTransparent->Hide(); - mpBTNGradient->Enable(); - mpBTNGradient->Show(); - - switch(rGradient.GetGradientStyle()) - { - case XGRAD_LINEAR: - { - nEntryPos = 2; - pImage = bHighContrast ? &maImgLinearH : &maImgLinear; - break; - } - case XGRAD_AXIAL: - { - nEntryPos = 3; - pImage = bHighContrast ? &maImgAxialH : &maImgAxial; - break; - } - case XGRAD_RADIAL: - { - nEntryPos = 4; - pImage = bHighContrast ? &maImgRadialH : &maImgRadial; - break; - } - case XGRAD_ELLIPTICAL: - { - nEntryPos = 5; - pImage = bHighContrast ? &maImgElliH : &maImgElli; - break; - } - case XGRAD_SQUARE: - { - nEntryPos = 6; - pImage = bHighContrast ? &maImgQuadH : &maImgQuad; - break; - } - case XGRAD_RECT: - { - nEntryPos = 7; - pImage = bHighContrast ? &maImgSquareH : &maImgSquare; - break; - } - } - - mpLBTransType->SelectEntryPos(nEntryPos); - mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT, *pImage); - bZeroValue = false; - } - else - { - bZeroValue = true; - } - } - - if(bZeroValue) - { - mpLBTransType->Enable(); - mpTrspTextFT->Enable(); - mpLBTransType->SelectEntryPos(0); - mpBTNGradient->Hide(); - mpMTRTransparent->Enable(); - mpMTRTransparent->Show(); - mpMTRTransparent->SetValue(0); - } - } - else - { - // no transparency at all - mpLBTransType->SetNoSelection(); - mpLBTransType->Disable(); - mpTrspTextFT->Disable(); - mpMTRTransparent->Disable(); - mpMTRTransparent->Show(); - mpBTNGradient->Disable(); - mpBTNGradient->Hide(); - } + if(mpTransparanceItem.get() && mpFloatTransparenceItem.get()) + { + bool bZeroValue(false); + + if(mpTransparanceItem.get()) + { + const sal_uInt16 nValue(mpTransparanceItem->GetValue()); + + if(!nValue) + { + bZeroValue = true; + } + else if(nValue <= 100) + { + mpLBTransType->Enable(); + mpTrspTextFT->Enable(); + mpLBTransType->SelectEntryPos(1); + mpBTNGradient->Hide(); + mpMTRTransparent->Show(); + mpMTRTransparent->Enable(); + mpMTRTransparent->SetValue(nValue); + } + + if(!bZeroValue) + { + maTrGrPopup.Hide(); + } + } + + if(bZeroValue && mpFloatTransparenceItem.get()) + { + if(mpFloatTransparenceItem->IsEnabled()) + { + const XGradient& rGradient = mpFloatTransparenceItem->GetGradientValue(); + const bool bHighContrast(GetSettings().GetStyleSettings().GetHighContrastMode()); + sal_uInt16 nEntryPos(0); + Image* pImage = 0; + + mpLBTransType->Enable(); + mpTrspTextFT->Enable(); + mpMTRTransparent->Hide(); + mpBTNGradient->Enable(); + mpBTNGradient->Show(); + + switch(rGradient.GetGradientStyle()) + { + case XGRAD_LINEAR: + { + nEntryPos = 2; + pImage = bHighContrast ? &maImgLinearH : &maImgLinear; + break; + } + case XGRAD_AXIAL: + { + nEntryPos = 3; + pImage = bHighContrast ? &maImgAxialH : &maImgAxial; + break; + } + case XGRAD_RADIAL: + { + nEntryPos = 4; + pImage = bHighContrast ? &maImgRadialH : &maImgRadial; + break; + } + case XGRAD_ELLIPTICAL: + { + nEntryPos = 5; + pImage = bHighContrast ? &maImgElliH : &maImgElli; + break; + } + case XGRAD_SQUARE: + { + nEntryPos = 6; + pImage = bHighContrast ? &maImgQuadH : &maImgQuad; + break; + } + case XGRAD_RECT: + { + nEntryPos = 7; + pImage = bHighContrast ? &maImgSquareH : &maImgSquare; + break; + } + } + + mpLBTransType->SelectEntryPos(nEntryPos); + mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT, *pImage); + bZeroValue = false; + } + else + { + bZeroValue = true; + } + } + + if(bZeroValue) + { + mpLBTransType->Enable(); + mpTrspTextFT->Enable(); + mpLBTransType->SelectEntryPos(0); + mpBTNGradient->Hide(); + mpMTRTransparent->Enable(); + mpMTRTransparent->Show(); + mpMTRTransparent->SetValue(0); + } + } + else + { + // no transparency at all + mpLBTransType->SetNoSelection(); + mpLBTransType->Disable(); + mpTrspTextFT->Disable(); + mpMTRTransparent->Disable(); + mpMTRTransparent->Show(); + mpBTNGradient->Disable(); + mpBTNGradient->Hide(); + } } -void AreaPropertyPanel::NotifyItemUpdate( - sal_uInt16 nSID, - SfxItemState eState, - const SfxPoolItem* pState, - const bool bIsEnabled) +void AreaPropertyPanel::NotifyItemUpdate( + sal_uInt16 nSID, + SfxItemState eState, + const SfxPoolItem* pState, + const bool bIsEnabled) { - (void)bIsEnabled; - const bool bDisabled(SFX_ITEM_DISABLED == eState); - - switch(nSID) - { - case SID_ATTR_FILL_TRANSPARENCE: - case SID_ATTR_FILL_FLOATTRANSPARENCE: - { - bool bFillTransparenceChanged(false); - - if(SID_ATTR_FILL_TRANSPARENCE == nSID) - { - bFillTransparenceChanged = true; - - if(eState >= SFX_ITEM_AVAILABLE) - { - const SfxUInt16Item* pItem = dynamic_cast< const SfxUInt16Item* >(pState); - - if(pItem && (!mpTransparanceItem || *pItem != *mpTransparanceItem)) - { - mpTransparanceItem.reset((SfxUInt16Item*)pItem->Clone()); - } - else - { - mpTransparanceItem.reset(); - } - } - else - { - mpTransparanceItem.reset(); - } - } - else // if(SID_ATTR_FILL_FLOATTRANSPARENCE == nSID) - { - bFillTransparenceChanged = true; - - if(eState >= SFX_ITEM_AVAILABLE) - { - const XFillFloatTransparenceItem* pItem = dynamic_cast< const XFillFloatTransparenceItem* >(pState); - - if(pItem && (!mpFloatTransparenceItem || *pItem != *mpFloatTransparenceItem)) - { - mpFloatTransparenceItem.reset((XFillFloatTransparenceItem*)pItem->Clone()); - } - else - { - mpFloatTransparenceItem.reset(); - } - } - else - { - mpFloatTransparenceItem.reset(); - } - } - - if(bFillTransparenceChanged) - { - // update transparency settings dependent of mpTransparanceItem and mpFloatTransparenceItem - ImpUpdateTransparencies(); - } - break; - } - case SID_ATTR_FILL_STYLE: - { - if(bDisabled) - { - mpLbFillType->Disable(); - mpColorTextFT->Disable(); - mpLbFillType->SetNoSelection(); - mpLbFillAttr->Show(); - mpLbFillAttr->Disable(); - mpLbFillAttr->SetNoSelection(); - mpToolBoxColor->Hide(); - meLastXFS = -1; - mpStyleItem.reset(); - } - - if(eState >= SFX_ITEM_AVAILABLE) - { - const XFillStyleItem* pItem = dynamic_cast< const XFillStyleItem* >(pState); - - if(pItem) - { - mpStyleItem.reset(dynamic_cast< XFillStyleItem* >(pItem->Clone())); - mpLbFillType->Enable(); - mpColorTextFT->Enable(); - XFillStyle eXFS = (XFillStyle)mpStyleItem->GetValue(); - meLastXFS = eXFS; - mpLbFillType->SelectEntryPos(sal::static_int_cast< sal_uInt16 >(eXFS)); - - if(XFILL_NONE == eXFS) - { - mpLbFillAttr->SetNoSelection(); - mpLbFillAttr->Disable(); - } - - Update(); - break; - } - } - - mpLbFillType->SetNoSelection(); - mpLbFillAttr->Show(); - mpLbFillAttr->Disable(); - mpLbFillAttr->SetNoSelection(); - mpToolBoxColor->Hide(); - meLastXFS = -1; - mpStyleItem.reset(); - break; - } - case SID_ATTR_FILL_COLOR: - { - if(SFX_ITEM_AVAILABLE == eState) - { - mpColorItem.reset(pState ? (XFillColorItem*)pState->Clone() : 0); - } - - if(mpStyleItem && XFILL_SOLID == (XFillStyle)mpStyleItem->GetValue()) - { - mpLbFillAttr->Hide(); - mpToolBoxColor->Show(); - - if(SFX_ITEM_AVAILABLE == eState) - { - mpToolBoxColor->Enable(); - mbColorAvail = true; - // maLastColor = mpColorItem->GetColorValue(); - Update(); - } - else if(SFX_ITEM_DISABLED == eState) - { - mpToolBoxColor->Disable(); - mbColorAvail = false; - mpColorUpdater->Update(COL_WHITE); - } - else - { - mbColorAvail = false; - mpColorUpdater->Update(COL_WHITE); - } - } - break; - } - case SID_ATTR_FILL_GRADIENT: - { - if(SFX_ITEM_AVAILABLE == eState) - { - mpFillGradientItem.reset(pState ? (XFillGradientItem*)pState->Clone() : 0); - } - - if(mpStyleItem && XFILL_GRADIENT == (XFillStyle)mpStyleItem->GetValue()) - { - mpLbFillAttr->Show(); - mpToolBoxColor->Hide(); - - if(SFX_ITEM_AVAILABLE == eState) - { - mpLbFillAttr->Enable(); - Update(); - } - else if(SFX_ITEM_DISABLED == eState ) - { - mpLbFillAttr->Disable(); - mpLbFillAttr->SetNoSelection(); - } - else - { - mpLbFillAttr->SetNoSelection(); - } - } - break; - } - case SID_ATTR_FILL_HATCH: - { - if(SFX_ITEM_AVAILABLE == eState) - { - mpHatchItem.reset(pState ? (XFillHatchItem*)pState->Clone() : 0); - } - - if(mpStyleItem && XFILL_HATCH == (XFillStyle)mpStyleItem->GetValue()) - { - mpLbFillAttr->Show(); - mpToolBoxColor->Hide(); - - if(SFX_ITEM_AVAILABLE == eState) - { - mpLbFillAttr->Enable(); - Update(); - } - else if(SFX_ITEM_DISABLED == eState ) - { - mpLbFillAttr->Disable(); - mpLbFillAttr->SetNoSelection(); - } - else - { - mpLbFillAttr->SetNoSelection(); - } - } - break; - } - case SID_ATTR_FILL_BITMAP: - { - if(SFX_ITEM_AVAILABLE == eState) - { - mpBitmapItem.reset(pState ? (XFillBitmapItem*)pState->Clone() : 0); - } - - if(mpStyleItem && XFILL_BITMAP == (XFillStyle)mpStyleItem->GetValue()) - { - mpLbFillAttr->Show(); - mpToolBoxColor->Hide(); - - if(SFX_ITEM_AVAILABLE == eState) - { - mpLbFillAttr->Enable(); - Update(); - } - else if(SFX_ITEM_DISABLED == eState ) - { - mpLbFillAttr->Disable(); - mpLbFillAttr->SetNoSelection(); - } - else - { - mpLbFillAttr->SetNoSelection(); - } - } - break; - } - case SID_COLOR_TABLE: - { - if(SFX_ITEM_AVAILABLE == eState) - { - if(mpStyleItem && XFILL_SOLID == (XFillStyle)mpStyleItem->GetValue()) - { - if(mpColorItem) - { - const Color aColor = mpColorItem->GetColorValue(); - const SfxObjectShell* pSh = SfxObjectShell::Current(); - const SvxColorTableItem aItem(*(const SvxColorTableItem*)(pSh->GetItem(SID_COLOR_TABLE))); - - mpLbFillAttr->Clear(); - mpLbFillAttr->Enable(); - mpLbFillAttr->Fill(aItem.GetColorTable()); - mpLbFillAttr->SelectEntry(aColor); - } - else - { - mpLbFillAttr->SetNoSelection(); - } - } - } - break; - } - case SID_GRADIENT_LIST: - { - if(SFX_ITEM_AVAILABLE == eState) - { - if(mpStyleItem && XFILL_GRADIENT == (XFillStyle)mpStyleItem->GetValue()) - { - if(mpFillGradientItem) - { - const String aString( mpFillGradientItem->GetName() ); - const SfxObjectShell* pSh = SfxObjectShell::Current(); - const SvxGradientListItem aItem( *(const SvxGradientListItem*)(pSh->GetItem(SID_GRADIENT_LIST))); - - mpLbFillAttr->Clear(); - mpLbFillAttr->Enable(); - mpLbFillAttr->Fill(aItem.GetGradientList()); - mpLbFillAttr->SelectEntry(aString); - } - else - { - mpLbFillAttr->SetNoSelection(); - } - } - } - break; - } - case SID_HATCH_LIST: - { - if(SFX_ITEM_AVAILABLE == eState) - { - if(mpStyleItem && XFILL_HATCH == (XFillStyle)mpStyleItem->GetValue()) - { - if(mpHatchItem) - { - const String aString( mpHatchItem->GetName() ); - const SfxObjectShell* pSh = SfxObjectShell::Current(); - const SvxHatchListItem aItem(*(const SvxHatchListItem*)(pSh->GetItem(SID_HATCH_LIST))); - - mpLbFillAttr->Clear(); - mpLbFillAttr->Enable(); - mpLbFillAttr->Fill(aItem.GetHatchList()); - mpLbFillAttr->SelectEntry(aString); - } - else - { - mpLbFillAttr->SetNoSelection(); - } - } - } - break; - } - case SID_BITMAP_LIST: - { - if(SFX_ITEM_AVAILABLE == eState) - { - if(mpStyleItem && XFILL_BITMAP == (XFillStyle)mpStyleItem->GetValue()) - { - if(mpBitmapItem) - { - const String aString( mpBitmapItem->GetName() ); - const SfxObjectShell* pSh = SfxObjectShell::Current(); - const SvxBitmapListItem aItem(*(const SvxBitmapListItem*)(pSh->GetItem(SID_BITMAP_LIST))); - - mpLbFillAttr->Clear(); - mpLbFillAttr->Enable(); - mpLbFillAttr->Fill(aItem.GetBitmapList()); - mpLbFillAttr->SelectEntry(aString); - } - else - { - mpLbFillAttr->SetNoSelection(); - } - } - } - break; - } - } - - maLayouter.Layout(); + (void)bIsEnabled; + const bool bDisabled(SFX_ITEM_DISABLED == eState); + + switch(nSID) + { + case SID_ATTR_FILL_TRANSPARENCE: + case SID_ATTR_FILL_FLOATTRANSPARENCE: + { + bool bFillTransparenceChanged(false); + + if(SID_ATTR_FILL_TRANSPARENCE == nSID) + { + bFillTransparenceChanged = true; + + if(eState >= SFX_ITEM_AVAILABLE) + { + const SfxUInt16Item* pItem = dynamic_cast< const SfxUInt16Item* >(pState); + + if(pItem && (!mpTransparanceItem || *pItem != *mpTransparanceItem)) + { + mpTransparanceItem.reset((SfxUInt16Item*)pItem->Clone()); + } + else + { + mpTransparanceItem.reset(); + } + } + else + { + mpTransparanceItem.reset(); + } + } + else // if(SID_ATTR_FILL_FLOATTRANSPARENCE == nSID) + { + bFillTransparenceChanged = true; + + if(eState >= SFX_ITEM_AVAILABLE) + { + const XFillFloatTransparenceItem* pItem = dynamic_cast< const XFillFloatTransparenceItem* >(pState); + + if(pItem && (!mpFloatTransparenceItem || *pItem != *mpFloatTransparenceItem)) + { + mpFloatTransparenceItem.reset((XFillFloatTransparenceItem*)pItem->Clone()); + } + else + { + mpFloatTransparenceItem.reset(); + } + } + else + { + mpFloatTransparenceItem.reset(); + } + } + + if(bFillTransparenceChanged) + { + // update transparency settings dependent of mpTransparanceItem and mpFloatTransparenceItem + ImpUpdateTransparencies(); + } + break; + } + case SID_ATTR_FILL_STYLE: + { + if(bDisabled) + { + mpLbFillType->Disable(); + mpColorTextFT->Disable(); + mpLbFillType->SetNoSelection(); + mpLbFillAttr->Show(); + mpLbFillAttr->Disable(); + mpLbFillAttr->SetNoSelection(); + mpToolBoxColor->Hide(); + meLastXFS = -1; + mpStyleItem.reset(); + } + + if(eState >= SFX_ITEM_AVAILABLE) + { + const XFillStyleItem* pItem = dynamic_cast< const XFillStyleItem* >(pState); + + if(pItem) + { + mpStyleItem.reset(dynamic_cast< XFillStyleItem* >(pItem->Clone())); + mpLbFillType->Enable(); + mpColorTextFT->Enable(); + XFillStyle eXFS = (XFillStyle)mpStyleItem->GetValue(); + meLastXFS = eXFS; + mpLbFillType->SelectEntryPos(sal::static_int_cast< sal_uInt16 >(eXFS)); + + if(XFILL_NONE == eXFS) + { + mpLbFillAttr->SetNoSelection(); + mpLbFillAttr->Disable(); + } + + Update(); + break; + } + } + + mpLbFillType->SetNoSelection(); + mpLbFillAttr->Show(); + mpLbFillAttr->Disable(); + mpLbFillAttr->SetNoSelection(); + mpToolBoxColor->Hide(); + meLastXFS = -1; + mpStyleItem.reset(); + break; + } + case SID_ATTR_FILL_COLOR: + { + if(SFX_ITEM_AVAILABLE == eState) + { + mpColorItem.reset(pState ? (XFillColorItem*)pState->Clone() : 0); + } + + if(mpStyleItem && XFILL_SOLID == (XFillStyle)mpStyleItem->GetValue()) + { + mpLbFillAttr->Hide(); + mpToolBoxColor->Show(); + + if(SFX_ITEM_AVAILABLE == eState) + { + mpToolBoxColor->Enable(); + mbColorAvail = true; + //maLastColor = mpColorItem->GetColorValue(); + Update(); + } + else if(SFX_ITEM_DISABLED == eState) + { + mpToolBoxColor->Disable(); + mbColorAvail = false; + mpColorUpdater->Update(COL_WHITE); + } + else + { + mbColorAvail = false; + mpColorUpdater->Update(COL_WHITE); + } + } + break; + } + case SID_ATTR_FILL_GRADIENT: + { + if(SFX_ITEM_AVAILABLE == eState) + { + mpFillGradientItem.reset(pState ? (XFillGradientItem*)pState->Clone() : 0); + } + + if(mpStyleItem && XFILL_GRADIENT == (XFillStyle)mpStyleItem->GetValue()) + { + mpLbFillAttr->Show(); + mpToolBoxColor->Hide(); + + if(SFX_ITEM_AVAILABLE == eState) + { + mpLbFillAttr->Enable(); + Update(); + } + else if(SFX_ITEM_DISABLED == eState ) + { + mpLbFillAttr->Disable(); + mpLbFillAttr->SetNoSelection(); + } + else + { + mpLbFillAttr->SetNoSelection(); + } + } + break; + } + case SID_ATTR_FILL_HATCH: + { + if(SFX_ITEM_AVAILABLE == eState) + { + mpHatchItem.reset(pState ? (XFillHatchItem*)pState->Clone() : 0); + } + + if(mpStyleItem && XFILL_HATCH == (XFillStyle)mpStyleItem->GetValue()) + { + mpLbFillAttr->Show(); + mpToolBoxColor->Hide(); + + if(SFX_ITEM_AVAILABLE == eState) + { + mpLbFillAttr->Enable(); + Update(); + } + else if(SFX_ITEM_DISABLED == eState ) + { + mpLbFillAttr->Disable(); + mpLbFillAttr->SetNoSelection(); + } + else + { + mpLbFillAttr->SetNoSelection(); + } + } + break; + } + case SID_ATTR_FILL_BITMAP: + { + if(SFX_ITEM_AVAILABLE == eState) + { + mpBitmapItem.reset(pState ? (XFillBitmapItem*)pState->Clone() : 0); + } + + if(mpStyleItem && XFILL_BITMAP == (XFillStyle)mpStyleItem->GetValue()) + { + mpLbFillAttr->Show(); + mpToolBoxColor->Hide(); + + if(SFX_ITEM_AVAILABLE == eState) + { + mpLbFillAttr->Enable(); + Update(); + } + else if(SFX_ITEM_DISABLED == eState ) + { + mpLbFillAttr->Disable(); + mpLbFillAttr->SetNoSelection(); + } + else + { + mpLbFillAttr->SetNoSelection(); + } + } + break; + } + case SID_COLOR_TABLE: + { + if(SFX_ITEM_AVAILABLE == eState) + { + if(mpStyleItem && XFILL_SOLID == (XFillStyle)mpStyleItem->GetValue()) + { + if(mpColorItem) + { + const Color aColor = mpColorItem->GetColorValue(); + const SfxObjectShell* pSh = SfxObjectShell::Current(); + const SvxColorTableItem aItem(*(const SvxColorTableItem*)(pSh->GetItem(SID_COLOR_TABLE))); + + mpLbFillAttr->Clear(); + mpLbFillAttr->Enable(); + mpLbFillAttr->Fill(aItem.GetColorTable()); + mpLbFillAttr->SelectEntry(aColor); + } + else + { + mpLbFillAttr->SetNoSelection(); + } + } + } + break; + } + case SID_GRADIENT_LIST: + { + if(SFX_ITEM_AVAILABLE == eState) + { + if(mpStyleItem && XFILL_GRADIENT == (XFillStyle)mpStyleItem->GetValue()) + { + if(mpFillGradientItem) + { + const String aString( mpFillGradientItem->GetName() ); + const SfxObjectShell* pSh = SfxObjectShell::Current(); + const SvxGradientListItem aItem( *(const SvxGradientListItem*)(pSh->GetItem(SID_GRADIENT_LIST))); + + mpLbFillAttr->Clear(); + mpLbFillAttr->Enable(); + mpLbFillAttr->Fill(aItem.GetGradientList()); + mpLbFillAttr->SelectEntry(aString); + } + else + { + mpLbFillAttr->SetNoSelection(); + } + } + } + break; + } + case SID_HATCH_LIST: + { + if(SFX_ITEM_AVAILABLE == eState) + { + if(mpStyleItem && XFILL_HATCH == (XFillStyle)mpStyleItem->GetValue()) + { + if(mpHatchItem) + { + const String aString( mpHatchItem->GetName() ); + const SfxObjectShell* pSh = SfxObjectShell::Current(); + const SvxHatchListItem aItem(*(const SvxHatchListItem*)(pSh->GetItem(SID_HATCH_LIST))); + + mpLbFillAttr->Clear(); + mpLbFillAttr->Enable(); + mpLbFillAttr->Fill(aItem.GetHatchList()); + mpLbFillAttr->SelectEntry(aString); + } + else + { + mpLbFillAttr->SetNoSelection(); + } + } + } + break; + } + case SID_BITMAP_LIST: + { + if(SFX_ITEM_AVAILABLE == eState) + { + if(mpStyleItem && XFILL_BITMAP == (XFillStyle)mpStyleItem->GetValue()) + { + if(mpBitmapItem) + { + const String aString( mpBitmapItem->GetName() ); + const SfxObjectShell* pSh = SfxObjectShell::Current(); + const SvxBitmapListItem aItem(*(const SvxBitmapListItem*)(pSh->GetItem(SID_BITMAP_LIST))); + + mpLbFillAttr->Clear(); + mpLbFillAttr->Enable(); + mpLbFillAttr->Fill(aItem.GetBitmapList()); + mpLbFillAttr->SelectEntry(aString); + } + else + { + mpLbFillAttr->SetNoSelection(); + } + } + } + break; + } + } + + maLayouter.Layout(); } -SfxBindings* AreaPropertyPanel::GetBindings() -{ - return mpBindings; +SfxBindings* AreaPropertyPanel::GetBindings() +{ + return mpBindings; } void AreaPropertyPanel::Update() { - if(mpStyleItem) - { - const XFillStyle eXFS = (XFillStyle)mpStyleItem->GetValue(); - SfxObjectShell* pSh = SfxObjectShell::Current(); - - switch( eXFS ) - { - case XFILL_NONE: - { - mpLbFillAttr->Show(); - mpToolBoxColor->Hide(); - break; - } - case XFILL_SOLID: - { - if(mpColorItem) - { - mpLbFillAttr->Hide(); - mpToolBoxColor->Show(); - mpColorUpdater->Update(mpColorItem->GetColorValue()); - } - else - { - mpColorUpdater->Update(COL_WHITE); - } - break; - } - case XFILL_GRADIENT: - { - mpLbFillAttr->Show(); - mpToolBoxColor->Hide(); - - if(pSh && pSh->GetItem(SID_GRADIENT_LIST)) - { - const SvxGradientListItem aItem(*(const SvxGradientListItem*)(pSh->GetItem(SID_GRADIENT_LIST))); - mpLbFillAttr->Enable(); - mpLbFillAttr->Clear(); - mpLbFillAttr->Fill(aItem.GetGradientList()); - - if(mpFillGradientItem) - { - const String aString(mpFillGradientItem->GetName()); - - mpLbFillAttr->SelectEntry(aString); - } - else - { - mpLbFillAttr->SetNoSelection(); - } - } - else - { - mpLbFillAttr->SetNoSelection(); - } - break; - } - case XFILL_HATCH: - { - mpLbFillAttr->Show(); - mpToolBoxColor->Hide(); - - if(pSh && pSh->GetItem(SID_HATCH_LIST)) - { - const SvxHatchListItem aItem(*(const SvxHatchListItem*)(pSh->GetItem(SID_HATCH_LIST))); - mpLbFillAttr->Enable(); - mpLbFillAttr->Clear(); - mpLbFillAttr->Fill(aItem.GetHatchList()); - - if(mpHatchItem) - { - const String aString(mpHatchItem->GetName()); - - mpLbFillAttr->SelectEntry( aString ); - } - else - { - mpLbFillAttr->SetNoSelection(); - } - } - else - { - mpLbFillAttr->SetNoSelection(); - } - break; - } - case XFILL_BITMAP: - { - mpLbFillAttr->Show(); - mpToolBoxColor->Hide(); - - if(pSh && pSh->GetItem(SID_BITMAP_LIST)) - { - const SvxBitmapListItem aItem(*(const SvxBitmapListItem*)(pSh->GetItem(SID_BITMAP_LIST))); - mpLbFillAttr->Enable(); - mpLbFillAttr->Clear(); - mpLbFillAttr->Fill(aItem.GetBitmapList()); - - if(mpBitmapItem) - { - const String aString(mpBitmapItem->GetName()); - - mpLbFillAttr->SelectEntry(aString); - } - else - { - mpLbFillAttr->SetNoSelection(); - } - } - else - { - mpLbFillAttr->SetNoSelection(); - } - break; - } - default: - DBG_ERROR( "Non supported FillType (!)" ); - break; - } - } + if(mpStyleItem) + { + const XFillStyle eXFS = (XFillStyle)mpStyleItem->GetValue(); + SfxObjectShell* pSh = SfxObjectShell::Current(); + + switch( eXFS ) + { + case XFILL_NONE: + { + mpLbFillAttr->Show(); + mpToolBoxColor->Hide(); + break; + } + case XFILL_SOLID: + { + if(mpColorItem) + { + mpLbFillAttr->Hide(); + mpToolBoxColor->Show(); + mpColorUpdater->Update(mpColorItem->GetColorValue()); + } + else + { + mpColorUpdater->Update(COL_WHITE); + } + break; + } + case XFILL_GRADIENT: + { + mpLbFillAttr->Show(); + mpToolBoxColor->Hide(); + + if(pSh && pSh->GetItem(SID_GRADIENT_LIST)) + { + const SvxGradientListItem aItem(*(const SvxGradientListItem*)(pSh->GetItem(SID_GRADIENT_LIST))); + mpLbFillAttr->Enable(); + mpLbFillAttr->Clear(); + mpLbFillAttr->Fill(aItem.GetGradientList()); + + if(mpFillGradientItem) + { + const String aString(mpFillGradientItem->GetName()); + + mpLbFillAttr->SelectEntry(aString); + } + else + { + mpLbFillAttr->SetNoSelection(); + } + } + else + { + mpLbFillAttr->SetNoSelection(); + } + break; + } + case XFILL_HATCH: + { + mpLbFillAttr->Show(); + mpToolBoxColor->Hide(); + + if(pSh && pSh->GetItem(SID_HATCH_LIST)) + { + const SvxHatchListItem aItem(*(const SvxHatchListItem*)(pSh->GetItem(SID_HATCH_LIST))); + mpLbFillAttr->Enable(); + mpLbFillAttr->Clear(); + mpLbFillAttr->Fill(aItem.GetHatchList()); + + if(mpHatchItem) + { + const String aString(mpHatchItem->GetName()); + + mpLbFillAttr->SelectEntry( aString ); + } + else + { + mpLbFillAttr->SetNoSelection(); + } + } + else + { + mpLbFillAttr->SetNoSelection(); + } + break; + } + case XFILL_BITMAP: + { + mpLbFillAttr->Show(); + mpToolBoxColor->Hide(); + + if(pSh && pSh->GetItem(SID_BITMAP_LIST)) + { + const SvxBitmapListItem aItem(*(const SvxBitmapListItem*)(pSh->GetItem(SID_BITMAP_LIST))); + mpLbFillAttr->Enable(); + mpLbFillAttr->Clear(); + mpLbFillAttr->Fill(aItem.GetBitmapList()); + + if(mpBitmapItem) + { + const String aString(mpBitmapItem->GetName()); + + mpLbFillAttr->SelectEntry(aString); + } + else + { + mpLbFillAttr->SetNoSelection(); + } + } + else + { + mpLbFillAttr->SetNoSelection(); + } + break; + } + default: + DBG_ERROR( "Non supported FillType (!)" ); + break; + } + } } IMPL_LINK( AreaPropertyPanel, ImplPopupModeEndHdl, FloatingWindow*, EMPTYARG ) -{ - return 0; +{ + return 0; } IMPL_LINK( AreaPropertyPanel, ClickTrGrHdl_Impl, ToolBox*, pToolBox ) { - maTrGrPopup.Rearrange(mpFloatTransparenceItem.get()); - OSL_ASSERT(pToolBox->GetCurItemId() == TBI_BTX_GRADIENT); - maTrGrPopup.Show(*pToolBox); + maTrGrPopup.Rearrange(mpFloatTransparenceItem.get()); + OSL_ASSERT(pToolBox->GetCurItemId() == TBI_BTX_GRADIENT); + maTrGrPopup.Show(*pToolBox); - return (0L); + return (0L); } IMPL_LINK(AreaPropertyPanel, ChangeTrgrTypeHdl_Impl, void *, EMPTYARG) { - sal_uInt16 nSelectType = mpLBTransType->GetSelectEntryPos(); - bool bGradient = false; - sal_uInt16 nTrans = 0; - - if(!nSelectType) - { - mpBTNGradient->Hide(); - mpMTRTransparent->Show(); - mpMTRTransparent->Enable(); - mpMTRTransparent->SetValue(0); - } - else if(1 == nSelectType) - { - mpBTNGradient->Hide(); - mpMTRTransparent->Show(); - nTrans = mnLastTransSolid; - mpMTRTransparent->SetValue(nTrans); - mpLBTransType->SelectEntryPos(1); - mpMTRTransparent->Enable(); - } - else - { - mpBTNGradient->Show(); - - switch (nSelectType) - { - case 2: - mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgLinearH : maImgLinear); - break; - case 3: - mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgAxialH : maImgAxial); - break; - case 4: - mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgRadialH : maImgRadial); - break; - case 5: - mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgElliH : maImgElli ); - break; - case 6: - mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgQuadH : maImgQuad ); - break; - case 7: - mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgSquareH : maImgSquare); - break; - } - - mpMTRTransparent->Hide(); - mpBTNGradient->Enable(); - bGradient = true; - } - - const XFillTransparenceItem aLinearItem(nTrans); - GetBindings()->GetDispatcher()->Execute( SID_ATTR_FILL_TRANSPARENCE, SFX_CALLMODE_RECORD, &aLinearItem, 0L ); - - if(nSelectType > 1) - { - nSelectType -= 2; - } - - XGradient aTmpGradient; - - switch(nSelectType) - { - case XGRAD_LINEAR: - aTmpGradient = maGradientLinear; - break; - case XGRAD_AXIAL: - aTmpGradient = maGradientAxial; - break; - case XGRAD_RADIAL: - aTmpGradient = maGradientRadial; - break; - case XGRAD_ELLIPTICAL: - aTmpGradient = maGradientElliptical; - break; - case XGRAD_SQUARE: - aTmpGradient = maGradientSquare; - break; - case XGRAD_RECT: - aTmpGradient = maGradientRect; - break; - } - - SfxItemPool* pPool = 0; - const XFillFloatTransparenceItem aGradientItem(pPool, aTmpGradient, sal_Bool(bGradient)); - GetBindings()->GetDispatcher()->Execute( SID_ATTR_FILL_FLOATTRANSPARENCE, SFX_CALLMODE_RECORD, &aGradientItem, 0L ); - - return( 0L ); + sal_uInt16 nSelectType = mpLBTransType->GetSelectEntryPos(); + bool bGradient = false; + sal_uInt16 nTrans = 0; + + if(!nSelectType) + { + mpBTNGradient->Hide(); + mpMTRTransparent->Show(); + mpMTRTransparent->Enable(); + mpMTRTransparent->SetValue(0); + } + else if(1 == nSelectType) + { + mpBTNGradient->Hide(); + mpMTRTransparent->Show(); + nTrans = mnLastTransSolid; + mpMTRTransparent->SetValue(nTrans); + mpLBTransType->SelectEntryPos(1); + mpMTRTransparent->Enable(); + } + else + { + mpBTNGradient->Show(); + + switch (nSelectType) + { + case 2: + mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgLinearH : maImgLinear); + break; + case 3: + mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgAxialH : maImgAxial); + break; + case 4: + mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgRadialH : maImgRadial); + break; + case 5: + mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgElliH : maImgElli ); + break; + case 6: + mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgQuadH : maImgQuad ); + break; + case 7: + mpBTNGradient->SetItemImage(TBI_BTX_GRADIENT,GetSettings().GetStyleSettings().GetHighContrastMode()? maImgSquareH : maImgSquare); + break; + } + + mpMTRTransparent->Hide(); + mpBTNGradient->Enable(); + bGradient = true; + } + + const XFillTransparenceItem aLinearItem(nTrans); + GetBindings()->GetDispatcher()->Execute( SID_ATTR_FILL_TRANSPARENCE, SFX_CALLMODE_RECORD, &aLinearItem, 0L ); + + if(nSelectType > 1) + { + nSelectType -= 2; + } + + XGradient aTmpGradient; + + switch(nSelectType) + { + case XGRAD_LINEAR: + aTmpGradient = maGradientLinear; + break; + case XGRAD_AXIAL: + aTmpGradient = maGradientAxial; + break; + case XGRAD_RADIAL: + aTmpGradient = maGradientRadial; + break; + case XGRAD_ELLIPTICAL: + aTmpGradient = maGradientElliptical; + break; + case XGRAD_SQUARE: + aTmpGradient = maGradientSquare; + break; + case XGRAD_RECT: + aTmpGradient = maGradientRect; + break; + } + + SfxItemPool* pPool = 0; + const XFillFloatTransparenceItem aGradientItem(pPool, aTmpGradient, sal_Bool(bGradient)); + GetBindings()->GetDispatcher()->Execute( SID_ATTR_FILL_FLOATTRANSPARENCE, SFX_CALLMODE_RECORD, &aGradientItem, 0L ); + + return( 0L ); } IMPL_LINK(AreaPropertyPanel, ModifyTransparentHdl_Impl, void*, EMPTYARG) { - const sal_uInt16 nTrans = (sal_uInt16)mpMTRTransparent->GetValue(); - mnLastTransSolid = nTrans; - const sal_uInt16 nSelectType = mpLBTransType->GetSelectEntryPos(); + const sal_uInt16 nTrans = (sal_uInt16)mpMTRTransparent->GetValue(); + mnLastTransSolid = nTrans; + const sal_uInt16 nSelectType = mpLBTransType->GetSelectEntryPos(); - if(nTrans && !nSelectType) - { - mpLBTransType->SelectEntryPos(1); - } + if(nTrans && !nSelectType) + { + mpLBTransType->SelectEntryPos(1); + } - const XFillTransparenceItem aLinearItem(nTrans); - GetBindings()->GetDispatcher()->Execute( SID_ATTR_FILL_TRANSPARENCE, SFX_CALLMODE_RECORD, &aLinearItem, 0L ); + const XFillTransparenceItem aLinearItem(nTrans); + GetBindings()->GetDispatcher()->Execute( SID_ATTR_FILL_TRANSPARENCE, SFX_CALLMODE_RECORD, &aLinearItem, 0L ); - return 0L; + return 0L; } Color AreaPropertyPanel::GetLastColor (void) const { - return maLastColor; + return maLastColor; } @@ -1448,22 +1450,22 @@ Color AreaPropertyPanel::GetLastColor (void) const XGradient AreaPropertyPanel::GetGradient (const XGradientStyle eStyle) const { - switch (eStyle) - { - default: - case XGRAD_LINEAR: - return maGradientLinear; - case XGRAD_AXIAL: - return maGradientAxial; - case XGRAD_RADIAL: - return maGradientRadial; - case XGRAD_ELLIPTICAL: - return maGradientElliptical; - case XGRAD_SQUARE: - return maGradientSquare; - case XGRAD_RECT: - return maGradientRect; - } + switch (eStyle) + { + default: + case XGRAD_LINEAR: + return maGradientLinear; + case XGRAD_AXIAL: + return maGradientAxial; + case XGRAD_RADIAL: + return maGradientRadial; + case XGRAD_ELLIPTICAL: + return maGradientElliptical; + case XGRAD_SQUARE: + return maGradientSquare; + case XGRAD_RECT: + return maGradientRect; + } } @@ -1471,27 +1473,27 @@ XGradient AreaPropertyPanel::GetGradient (const XGradientStyle eStyle) const void AreaPropertyPanel::SetGradient (const XGradient& rGradient) { - switch (rGradient.GetGradientStyle()) - { - case XGRAD_LINEAR: - maGradientLinear = rGradient; - break; - case XGRAD_AXIAL: - maGradientAxial = rGradient; - break; - case XGRAD_RADIAL: - maGradientRadial = rGradient; - break; - case XGRAD_ELLIPTICAL: - maGradientElliptical = rGradient; - break; - case XGRAD_SQUARE: - maGradientSquare = rGradient; - break; - case XGRAD_RECT: - maGradientRect = rGradient; - break; - } + switch (rGradient.GetGradientStyle()) + { + case XGRAD_LINEAR: + maGradientLinear = rGradient; + break; + case XGRAD_AXIAL: + maGradientAxial = rGradient; + break; + case XGRAD_RADIAL: + maGradientRadial = rGradient; + break; + case XGRAD_ELLIPTICAL: + maGradientElliptical = rGradient; + break; + case XGRAD_SQUARE: + maGradientSquare = rGradient; + break; + case XGRAD_RECT: + maGradientRect = rGradient; + break; + } } @@ -1499,7 +1501,7 @@ void AreaPropertyPanel::SetGradient (const XGradient& rGradient) sal_Int32 AreaPropertyPanel::GetSelectedTransparencyTypeIndex (void) const { - return mpLBTransType->GetSelectEntryPos(); + return mpLBTransType->GetSelectEntryPos(); } @@ -1507,7 +1509,7 @@ sal_Int32 AreaPropertyPanel::GetSelectedTransparencyTypeIndex (void) const void AreaPropertyPanel::Resize (void) { - maLayouter.Layout(); + maLayouter.Layout(); } diff --git a/main/svx/source/sidebar/area/AreaPropertyPanel.hrc b/main/svx/source/sidebar/area/AreaPropertyPanel.hrc index e6a29ba..9a561a3 100644 --- a/main/svx/source/sidebar/area/AreaPropertyPanel.hrc +++ b/main/svx/source/sidebar/area/AreaPropertyPanel.hrc @@ -1,5 +1,5 @@ /************************************************************** - * + * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -7,59 +7,61 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ -// RID_SIDEBAR_AREA_PANEL-------------------------------------------------------------- -#define FT_COLOR_LIST 1 -#define TB_COLOR 2 -#define TBI_COLOR 3 -#define IMG_COLOR 5 -#define VS_COLOR 1 -#define TBI_LEFT 1 -#define TBI_RIGHT 1 -#define TBI_BTX_GRADIENT 51 -#define FL_TRSP_TEXT 4 +// RID_SIDEBAR_AREA_PANEL-------------------------------------------------------------- +#define FT_COLOR_LIST 1 +#define TB_COLOR 2 +#define TBI_COLOR 3 +#define IMG_COLOR 5 -#define LB_TRGR_TYPES 6 -#define MTR_TRANSPARENT 7 -#define BTN_GRADIENT 8 +#define VS_COLOR 1 -#define FT_TRGR_CENTER_X 9 -#define MTR_TRGR_CENTER_X 10 -#define FT_TRGR_CENTER_Y 11 -#define MTR_TRGR_CENTER_Y 12 -#define FT_TRGR_ANGLE 13 -#define MTR_TRGR_ANGLE 14 -#define FT_TRGR_START_VALUE 15 -#define MTR_TRGR_START_VALUE 16 -#define FT_TRGR_END_VALUE 17 -#define MTR_TRGR_END_VALUE 18 -#define FT_TRGR_BORDER 19 -#define MTR_TRGR_BORDER 20 -#define STR_HELP_LEFT 24 -#define STR_HELP_RIGHT 25 +#define TBI_LEFT 1 +#define TBI_RIGHT 1 +#define TBI_BTX_GRADIENT 51 +#define FL_TRSP_TEXT 4 -#define BTN_LEFT_SECOND 22 -#define BTN_RIGHT_FIRST 23 +#define LB_TRGR_TYPES 6 +#define MTR_TRANSPARENT 7 +#define BTN_GRADIENT 8 -#define IMG_AXIAL 24 -#define IMG_ELLI 25 -#define IMG_QUAD 26 -#define IMG_RADIAL 27 -#define IMG_SQUARE 28 -#define IMG_LINEAR 29 +#define FT_TRGR_CENTER_X 9 +#define MTR_TRGR_CENTER_X 10 +#define FT_TRGR_CENTER_Y 11 +#define MTR_TRGR_CENTER_Y 12 +#define FT_TRGR_ANGLE 13 +#define MTR_TRGR_ANGLE 14 +#define FT_TRGR_START_VALUE 15 +#define MTR_TRGR_START_VALUE 16 +#define FT_TRGR_END_VALUE 17 +#define MTR_TRGR_END_VALUE 18 +#define FT_TRGR_BORDER 19 +#define MTR_TRGR_BORDER 20 +#define STR_HELP_LEFT 24 +#define STR_HELP_RIGHT 25 + +#define BTN_LEFT_SECOND 22 +#define BTN_RIGHT_FIRST 23 + +#define IMG_AXIAL 24 +#define IMG_ELLI 25 +#define IMG_QUAD 26 +#define IMG_RADIAL 27 +#define IMG_SQUARE 28 +#define IMG_LINEAR 29 #define IMG_ROT_LEFT 30 #define IMG_ROT_RIGHT 31 #define STR_HELP_TYPE 32 @@ -67,30 +69,30 @@ #define STR_HELP_COLOR 41 #define STR_HELP_GRADIENT 42 -//high contrast -#define IMG_AXIAL_H 34 -#define IMG_ELLI_H 35 -#define IMG_QUAD_H 36 -#define IMG_RADIAL_H 37 -#define IMG_SQUARE_H 38 -#define IMG_LINEAR_H 39 -#define IMG_COLOR_H 40 +// high contrast +#define IMG_AXIAL_H 34 +#define IMG_ELLI_H 35 +#define IMG_QUAD_H 36 +#define IMG_RADIAL_H 37 +#define IMG_SQUARE_H 38 +#define IMG_LINEAR_H 39 +#define IMG_COLOR_H 40 -#define FIXED_TEXT_HEIGHT 9 -#define FIXED_TEXT_WIDTH 40 -#define MBOX_WIDTH 50 -#define CONTROL_HEIGHT 12 +#define FIXED_TEXT_HEIGHT 9 +#define FIXED_TEXT_WIDTH 40 +#define MBOX_WIDTH 50 +#define CONTROL_HEIGHT 12 #define CONTROL_WIDTH 45 -#define LISTBOX_HEIGHT 80 -#define ROTATE_BUTTON_WIDTH 13 -#define ROTATE_BUTTON_SPACING 15 -#define POP_WIDTH 2*POPUPPANEL_MARGIN_HORIZONTAL+2*CONTROL_WIDTH+CONTROL_SPACING_HORIZONTAL -#define POP_HEIGHT 2*POPUPPANEL_MARGIN_VERTICAL + 4*(FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL + MBOX_HEIGHT ) + 3*CONTROL_SPACING_VERTICAL -#define POP_HEIGHT2 2*POPUPPANEL_MARGIN_VERTICAL + 3*(FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL + MBOX_HEIGHT ) + 2*CONTROL_SPACING_VERTICAL -#define LEFT_RIGHT_X1 POPUPPANEL_MARGIN_HORIZONTAL+CONTROL_WIDTH+CONTROL_SPACING_HORIZONTAL + 1 -#define LEFT_RIGHT_Y1 POPUPPANEL_MARGIN_VERTICAL + FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL - 2 -#define LEFT_RIGHT_X2 POPUPPANEL_MARGIN_HORIZONTAL+CONTROL_WIDTH+CONTROL_SPACING_HORIZONTAL + ROTATE_BUTTON_SPACING -#define LEFT_RIGHT_Y2 POPUPPANEL_MARGIN_VERTICAL + 2*(FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL)+MBOX_HEIGHT+CONTROL_SPACING_VERTICAL - 2 +#define LISTBOX_HEIGHT 80 +#define ROTATE_BUTTON_WIDTH 13 +#define ROTATE_BUTTON_SPACING 15 +#define POP_WIDTH 2*POPUPPANEL_MARGIN_HORIZONTAL+2*CONTROL_WIDTH+CONTROL_SPACING_HORIZONTAL +#define POP_HEIGHT 2*POPUPPANEL_MARGIN_VERTICAL + 4*(FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL + MBOX_HEIGHT ) + 3*CONTROL_SPACING_VERTICAL +#define POP_HEIGHT2 2*POPUPPANEL_MARGIN_VERTICAL + 3*(FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL + MBOX_HEIGHT ) + 2*CONTROL_SPACING_VERTICAL +#define LEFT_RIGHT_X1 POPUPPANEL_MARGIN_HORIZONTAL+CONTROL_WIDTH+CONTROL_SPACING_HORIZONTAL + 1 +#define LEFT_RIGHT_Y1 POPUPPANEL_MARGIN_VERTICAL + FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL - 2 +#define LEFT_RIGHT_X2 POPUPPANEL_MARGIN_HORIZONTAL+CONTROL_WIDTH+CONTROL_SPACING_HORIZONTAL + ROTATE_BUTTON_SPACING +#define LEFT_RIGHT_Y2 POPUPPANEL_MARGIN_VERTICAL + 2*(FIXED_TEXT_HEIGHT + TEXT_CONTROL_SPACING_VERTICAL)+MBOX_HEIGHT+CONTROL_SPACING_VERTICAL - 2 // eof diff --git a/main/svx/source/sidebar/area/AreaPropertyPanel.hxx b/main/svx/source/sidebar/area/AreaPropertyPanel.hxx index 272f706..f93eb00 100644 --- a/main/svx/source/sidebar/area/AreaPropertyPanel.hxx +++ b/main/svx/source/sidebar/area/AreaPropertyPanel.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -7,18 +7,20 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ + + #ifndef SVX_PROPERTYPANEL_AREAPAGE_HXX #define SVX_PROPERTYPANEL_AREAPAGE_HXX @@ -55,151 +57,151 @@ class PopupContainer; class AreaTransparencyGradientControl; class AreaPropertyPanel -: public Control, - public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface +: public Control, + public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface { public: - static AreaPropertyPanel* Create( - Window* pParent, - const cssu::Reference<css::frame::XFrame>& rxFrame, - SfxBindings* pBindings); + static AreaPropertyPanel* Create( + Window* pParent, + const cssu::Reference<css::frame::XFrame>& rxFrame, + SfxBindings* pBindings); - virtual void DataChanged( - const DataChangedEvent& rEvent); + virtual void DataChanged( + const DataChangedEvent& rEvent); - virtual void NotifyItemUpdate( - const sal_uInt16 nSId, - const SfxItemState eState, - const SfxPoolItem* pState, - const bool bIsEnabled); + virtual void NotifyItemUpdate( + const sal_uInt16 nSId, + const SfxItemState eState, + const SfxPoolItem* pState, + const bool bIsEnabled); - SfxBindings* GetBindings(); + SfxBindings* GetBindings(); - const static sal_Int32 DEFAULT_CENTERX; - const static sal_Int32 DEFAULT_CENTERY; - const static sal_Int32 DEFAULT_ANGLE; - const static sal_Int32 DEFAULT_STARTVALUE; - const static sal_Int32 DEFAULT_ENDVALUE; - const static sal_Int32 DEFAULT_BORDER; + const static sal_Int32 DEFAULT_CENTERX; + const static sal_Int32 DEFAULT_CENTERY; + const static sal_Int32 DEFAULT_ANGLE; + const static sal_Int32 DEFAULT_STARTVALUE; + const static sal_Int32 DEFAULT_ENDVALUE; + const static sal_Int32 DEFAULT_BORDER; - XGradient GetGradient (const XGradientStyle eStyle) const; - void SetGradient (const XGradient& rGradient); - sal_Int32 GetSelectedTransparencyTypeIndex (void) const; + XGradient GetGradient (const XGradientStyle eStyle) const; + void SetGradient (const XGradient& rGradient); + sal_Int32 GetSelectedTransparencyTypeIndex (void) const; - virtual void Resize (void); + virtual void Resize (void); private: - sal_uInt16 meLastXFS; - Color maLastColor; - - sal_uInt16 mnLastPosGradient; - sal_uInt16 mnLastPosHatch; - sal_uInt16 mnLastPosBitmap; - sal_uInt16 mnLastTransSolid; - - XGradient maGradientLinear; - XGradient maGradientAxial; - XGradient maGradientRadial; - XGradient maGradientElliptical; - XGradient maGradientSquare; - XGradient maGradientRect; - - //ui controls - ::boost::scoped_ptr< FixedText > mpColorTextFT; - ::boost::scoped_ptr< SvxFillTypeBox > mpLbFillType; - ::boost::scoped_ptr< SvxFillAttrBox > mpLbFillAttr; - ::boost::scoped_ptr< Window > mpToolBoxColorBackground; - ::boost::scoped_ptr< ToolBox > mpToolBoxColor; // for new color picker - ::boost::scoped_ptr< FixedText > mpTrspTextFT; - ::boost::scoped_ptr< ListBox > mpLBTransType; - ::boost::scoped_ptr< MetricField > mpMTRTransparent; - ::boost::scoped_ptr< Window > mpBTNGradientBackground; - ::boost::scoped_ptr< ToolBox > mpBTNGradient; - - ::boost::scoped_ptr< ::svx::ToolboxButtonColorUpdater > mpColorUpdater; - - ::boost::scoped_ptr< XFillStyleItem > mpStyleItem; - ::boost::scoped_ptr< XFillColorItem > mpColorItem; - ::boost::scoped_ptr< XFillGradientItem > mpFillGradientItem; - ::boost::scoped_ptr< XFillHatchItem > mpHatchItem; - ::boost::scoped_ptr< XFillBitmapItem > mpBitmapItem; - - ::sfx2::sidebar::ControllerItem maStyleControl; - ::sfx2::sidebar::ControllerItem maColorControl; - ::sfx2::sidebar::ControllerItem maGradientControl; - ::sfx2::sidebar::ControllerItem maHatchControl; - ::sfx2::sidebar::ControllerItem maBitmapControl; - ::sfx2::sidebar::ControllerItem maColorTableControl; - ::sfx2::sidebar::ControllerItem maGradientListControl; - ::sfx2::sidebar::ControllerItem maHatchListControl; - ::sfx2::sidebar::ControllerItem maBitmapListControl; - ::sfx2::sidebar::ControllerItem maFillTransparenceController; - ::sfx2::sidebar::ControllerItem maFillFloatTransparenceController; - - Image maImgAxial; - Image maImgElli; - Image maImgQuad; - Image maImgRadial; - Image maImgSquare; - Image maImgLinear; - Image maImgColor; - - //for high contract - Image maImgAxialH; - Image maImgElliH; - Image maImgQuadH; - Image maImgRadialH; - Image maImgSquareH; - Image maImgLinearH; - Image maImgColorH; - - String msHelpFillType; - String msHelpFillAttr; - - AreaTransparencyGradientPopup maTrGrPopup; - ColorPopup maColorPopup; - - ::boost::scoped_ptr< XFillFloatTransparenceItem > mpFloatTransparenceItem; - ::boost::scoped_ptr< SfxUInt16Item > mpTransparanceItem; - - cssu::Reference<css::frame::XFrame> mxFrame; - SfxBindings* mpBindings; - - /// bitfield - bool mbColorAvail : 1; - - ::sfx2::sidebar::GridLayouter maLayouter; - - DECL_LINK(SelectFillTypeHdl, ListBox* ); - DECL_LINK(SelectFillAttrHdl, ListBox* ); - DECL_LINK(ChangeTrgrTypeHdl_Impl, void*); - DECL_LINK(ModifyTransparentHdl_Impl, void*); - DECL_LINK( ImplPopupModeEndHdl, FloatingWindow* ); - - // for transparency gradient - PopupControl* CreateTransparencyGradientControl (PopupContainer* pParent); - DECL_LINK( ClickTrGrHdl_Impl, ToolBox* ); - - // for color picker - PopupControl* CreateColorPopupControl (PopupContainer* pParent); - DECL_LINK(ToolBoxColorDropHdl, ToolBox *); //for new color picker - - // constructor/destuctor - AreaPropertyPanel( - Window* pParent, - const cssu::Reference<css::frame::XFrame>& rxFrame, - SfxBindings* pBindings); - virtual ~AreaPropertyPanel(void); - - void SetupIcons(void); - void Initialize(); - void Update(); - void ImpUpdateTransparencies(); - - Color GetLastColor (void) const; - void SetColor ( - const String& rsColorName, - const Color aColor); + sal_uInt16 meLastXFS; + Color maLastColor; + + sal_uInt16 mnLastPosGradient; + sal_uInt16 mnLastPosHatch; + sal_uInt16 mnLastPosBitmap; + sal_uInt16 mnLastTransSolid; + + XGradient maGradientLinear; + XGradient maGradientAxial; + XGradient maGradientRadial; + XGradient maGradientElliptical; + XGradient maGradientSquare; + XGradient maGradientRect; + + // ui controls + ::boost::scoped_ptr< FixedText > mpColorTextFT; + ::boost::scoped_ptr< SvxFillTypeBox > mpLbFillType; + ::boost::scoped_ptr< SvxFillAttrBox > mpLbFillAttr; + ::boost::scoped_ptr< Window > mpToolBoxColorBackground; + ::boost::scoped_ptr< ToolBox > mpToolBoxColor; // for new color picker + ::boost::scoped_ptr< FixedText > mpTrspTextFT; + ::boost::scoped_ptr< ListBox > mpLBTransType; + ::boost::scoped_ptr< MetricField > mpMTRTransparent; + ::boost::scoped_ptr< Window > mpBTNGradientBackground; + ::boost::scoped_ptr< ToolBox > mpBTNGradient; + + ::boost::scoped_ptr< ::svx::ToolboxButtonColorUpdater > mpColorUpdater; + + ::boost::scoped_ptr< XFillStyleItem > mpStyleItem; + ::boost::scoped_ptr< XFillColorItem > mpColorItem; + ::boost::scoped_ptr< XFillGradientItem > mpFillGradientItem; + ::boost::scoped_ptr< XFillHatchItem > mpHatchItem; + ::boost::scoped_ptr< XFillBitmapItem > mpBitmapItem; + + ::sfx2::sidebar::ControllerItem maStyleControl; + ::sfx2::sidebar::ControllerItem maColorControl; + ::sfx2::sidebar::ControllerItem maGradientControl; + ::sfx2::sidebar::ControllerItem maHatchControl; + ::sfx2::sidebar::ControllerItem maBitmapControl; + ::sfx2::sidebar::ControllerItem maColorTableControl; + ::sfx2::sidebar::ControllerItem maGradientListControl; + ::sfx2::sidebar::ControllerItem maHatchListControl; + ::sfx2::sidebar::ControllerItem maBitmapListControl; + ::sfx2::sidebar::ControllerItem maFillTransparenceController; + ::sfx2::sidebar::ControllerItem maFillFloatTransparenceController; + + Image maImgAxial; + Image maImgElli; + Image maImgQuad; + Image maImgRadial; + Image maImgSquare; + Image maImgLinear; + Image maImgColor; + + // for high contract + Image maImgAxialH; + Image maImgElliH; + Image maImgQuadH; + Image maImgRadialH; + Image maImgSquareH; + Image maImgLinearH; + Image maImgColorH; + + String msHelpFillType; + String msHelpFillAttr; + + AreaTransparencyGradientPopup maTrGrPopup; + ColorPopup maColorPopup; + + ::boost::scoped_ptr< XFillFloatTransparenceItem > mpFloatTransparenceItem; + ::boost::scoped_ptr< SfxUInt16Item > mpTransparanceItem; + + cssu::Reference<css::frame::XFrame> mxFrame; + SfxBindings* mpBindings; + + // bitfield + bool mbColorAvail : 1; + + ::sfx2::sidebar::GridLayouter maLayouter; + + DECL_LINK(SelectFillTypeHdl, ListBox* ); + DECL_LINK(SelectFillAttrHdl, ListBox* ); + DECL_LINK(ChangeTrgrTypeHdl_Impl, void*); + DECL_LINK(ModifyTransparentHdl_Impl, void*); + DECL_LINK( ImplPopupModeEndHdl, FloatingWindow* ); + + // for transparency gradient + PopupControl* CreateTransparencyGradientControl (PopupContainer* pParent); + DECL_LINK( ClickTrGrHdl_Impl, ToolBox* ); + + // for color picker + PopupControl* CreateColorPopupControl (PopupContainer* pParent); + DECL_LINK(ToolBoxColorDropHdl, ToolBox *); // for new color picker + + // constructor/destructor + AreaPropertyPanel( + Window* pParent, + const cssu::Reference<css::frame::XFrame>& rxFrame, + SfxBindings* pBindings); + virtual ~AreaPropertyPanel(void); + + void SetupIcons(void); + void Initialize(); + void Update(); + void ImpUpdateTransparencies(); + + Color GetLastColor (void) const; + void SetColor ( + const String& rsColorName, + const Color aColor); }; diff --git a/main/svx/source/sidebar/area/AreaTransparencyGradientControl.cxx b/main/svx/source/sidebar/area/AreaTransparencyGradientControl.cxx index 1d62ff3..51adddd 100644 --- a/main/svx/source/sidebar/area/AreaTransparencyGradientControl.cxx +++ b/main/svx/source/sidebar/area/AreaTransparencyGradientControl.cxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -7,18 +7,20 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ + + #include "AreaTransparencyGradientControl.hxx" #include "AreaPropertyPanel.hxx" #include "AreaPropertyPanel.hrc" @@ -56,27 +58,27 @@ namespace svx { namespace sidebar { AreaTransparencyGradientControl::AreaTransparencyGradientControl ( - Window* pParent, - AreaPropertyPanel& rPanel) - : PopupControl( pParent,SVX_RES(RID_POPUPPANEL_AREAPAGE_TRGR)), - maFtTrgrCenterX(this, SVX_RES(FT_TRGR_CENTER_X)), - maMtrTrgrCenterX(this, SVX_RES(MTR_TRGR_CENTER_X)), - maFtTrgrCenterY(this, SVX_RES(FT_TRGR_CENTER_Y)), - maMtrTrgrCenterY(this, SVX_RES(MTR_TRGR_CENTER_Y)), - maFtTrgrAngle(this, SVX_RES(FT_TRGR_ANGLE)), - maMtrTrgrAngle(this, SVX_RES(MTR_TRGR_ANGLE)), - maBtnLeft45(this, SVX_RES(BTN_LEFT_SECOND)), - maBtnRight45(this, SVX_RES(BTN_RIGHT_FIRST)), - maFtTrgrStartValue(this, SVX_RES(FT_TRGR_START_VALUE)), - maMtrTrgrStartValue(this, SVX_RES(MTR_TRGR_START_VALUE)), - maFtTrgrEndValue(this, SVX_RES(FT_TRGR_END_VALUE)), - maMtrTrgrEndValue(this, SVX_RES(MTR_TRGR_END_VALUE)), - maFtTrgrBorder(this, SVX_RES(FT_TRGR_BORDER)), - maMtrTrgrBorder(this, SVX_RES(MTR_TRGR_BORDER)), - maRotLeft( SVX_RES(IMG_ROT_LEFT)), - maRotRight( SVX_RES(IMG_ROT_RIGHT)), - mrAreaPropertyPanel(rPanel), - mpBindings(NULL) + Window* pParent, + AreaPropertyPanel& rPanel) + : PopupControl( pParent,SVX_RES(RID_POPUPPANEL_AREAPAGE_TRGR)), + maFtTrgrCenterX(this, SVX_RES(FT_TRGR_CENTER_X)), + maMtrTrgrCenterX(this, SVX_RES(MTR_TRGR_CENTER_X)), + maFtTrgrCenterY(this, SVX_RES(FT_TRGR_CENTER_Y)), + maMtrTrgrCenterY(this, SVX_RES(MTR_TRGR_CENTER_Y)), + maFtTrgrAngle(this, SVX_RES(FT_TRGR_ANGLE)), + maMtrTrgrAngle(this, SVX_RES(MTR_TRGR_ANGLE)), + maBtnLeft45(this, SVX_RES(BTN_LEFT_SECOND)), + maBtnRight45(this, SVX_RES(BTN_RIGHT_FIRST)), + maFtTrgrStartValue(this, SVX_RES(FT_TRGR_START_VALUE)), + maMtrTrgrStartValue(this, SVX_RES(MTR_TRGR_START_VALUE)), + maFtTrgrEndValue(this, SVX_RES(FT_TRGR_END_VALUE)), + maMtrTrgrEndValue(this, SVX_RES(MTR_TRGR_END_VALUE)), + maFtTrgrBorder(this, SVX_RES(FT_TRGR_BORDER)), + maMtrTrgrBorder(this, SVX_RES(MTR_TRGR_BORDER)), + maRotLeft( SVX_RES(IMG_ROT_LEFT)), + maRotRight( SVX_RES(IMG_ROT_RIGHT)), + mrAreaPropertyPanel(rPanel), + mpBindings(NULL) { Link aLink = LINK( this, AreaTransparencyGradientControl, ModifiedTrgrHdl_Impl); maMtrTrgrCenterX.SetModifyHdl( aLink ); @@ -92,12 +94,12 @@ AreaTransparencyGradientControl::AreaTransparencyGradientControl ( maBtnLeft45.SetItemImage(1,maRotLeft); Size aTbxSize = maBtnLeft45.CalcWindowSizePixel(); maBtnLeft45.SetOutputSizePixel( aTbxSize ); - maBtnLeft45.SetQuickHelpText(1, String(SVX_RES(STR_HELP_LEFT))); //acc wj + maBtnLeft45.SetQuickHelpText(1, String(SVX_RES(STR_HELP_LEFT))); // acc wj maBtnRight45.SetItemImage(1,maRotRight); aTbxSize = maBtnRight45.CalcWindowSizePixel(); maBtnRight45.SetOutputSizePixel( aTbxSize ); - maBtnRight45.SetQuickHelpText(1, String(SVX_RES(STR_HELP_RIGHT))); //acc wj + maBtnRight45.SetQuickHelpText(1, String(SVX_RES(STR_HELP_RIGHT))); // acc wj maBtnLeft45.SetBackground(Wallpaper()); maBtnLeft45.SetPaintTransparent(true); @@ -105,7 +107,7 @@ AreaTransparencyGradientControl::AreaTransparencyGradientControl ( maBtnRight45.SetPaintTransparent(true); FreeResource(); - mpBindings = mrAreaPropertyPanel.GetBindings(); + mpBindings = mrAreaPropertyPanel.GetBindings(); } @@ -132,7 +134,7 @@ void AreaTransparencyGradientControl::ToGetFocus() void AreaTransparencyGradientControl::Rearrange(XFillFloatTransparenceItem* pGradientItem) { InitStatus(pGradientItem); - const XGradient& rGradient = pGradientItem->GetGradientValue(); + const XGradient& rGradient = pGradientItem->GetGradientValue(); XGradientStyle eXGS(rGradient.GetGradientStyle()); Size aSize(POP_WIDTH,POP_HEIGHT); aSize = LogicToPixel( aSize, MapMode(MAP_APPFONT) ); @@ -247,26 +249,26 @@ void AreaTransparencyGradientControl::InitStatus(XFillFloatTransparenceItem* pGr XGradient aGradient; if (rGradient.GetXOffset() == AreaPropertyPanel::DEFAULT_CENTERX - && rGradient.GetYOffset() == AreaPropertyPanel::DEFAULT_CENTERY - && (rGradient.GetAngle() / 10) == AreaPropertyPanel::DEFAULT_ANGLE - && ((sal_uInt16)((((sal_uInt16)rGradient.GetStartColor().GetRed() + 1) * 100) / 255)) - == AreaPropertyPanel::DEFAULT_STARTVALUE - && ((sal_uInt16)((((sal_uInt16)rGradient.GetEndColor().GetRed() + 1) * 100) / 255)) - == AreaPropertyPanel::DEFAULT_ENDVALUE - && rGradient.GetBorder() == AreaPropertyPanel::DEFAULT_BORDER) + && rGradient.GetYOffset() == AreaPropertyPanel::DEFAULT_CENTERY + && (rGradient.GetAngle() / 10) == AreaPropertyPanel::DEFAULT_ANGLE + && ((sal_uInt16)((((sal_uInt16)rGradient.GetStartColor().GetRed() + 1) * 100) / 255)) + == AreaPropertyPanel::DEFAULT_STARTVALUE + && ((sal_uInt16)((((sal_uInt16)rGradient.GetEndColor().GetRed() + 1) * 100) / 255)) + == AreaPropertyPanel::DEFAULT_ENDVALUE + && rGradient.GetBorder() == AreaPropertyPanel::DEFAULT_BORDER) { - aGradient = mrAreaPropertyPanel.GetGradient(rGradient.GetGradientStyle()); + aGradient = mrAreaPropertyPanel.GetGradient(rGradient.GetGradientStyle()); } else - { + { aGradient = rGradient; - } + } maMtrTrgrCenterX.SetValue(aGradient.GetXOffset()); maMtrTrgrCenterY.SetValue(aGradient.GetYOffset()); maMtrTrgrAngle.SetValue(aGradient.GetAngle() / 10); maMtrTrgrStartValue.SetValue((sal_uInt16)((((sal_uInt16)aGradient.GetStartColor().GetRed() + 1) * 100) / 255)); maMtrTrgrEndValue.SetValue((sal_uInt16)((((sal_uInt16)aGradient.GetEndColor().GetRed() + 1) * 100) / 255)); - maMtrTrgrBorder.SetValue(aGradient.GetBorder()); + maMtrTrgrBorder.SetValue(aGradient.GetBorder()); } @@ -274,14 +276,14 @@ void AreaTransparencyGradientControl::InitStatus(XFillFloatTransparenceItem* pGr void AreaTransparencyGradientControl::ExecuteValueModify( sal_uInt8 nStartCol, sal_uInt8 nEndCol ) { - //Added + // Added sal_Int16 aMtrValue = (sal_Int16)maMtrTrgrAngle.GetValue(); while(aMtrValue<0) aMtrValue += 360; sal_uInt16 nVal = aMtrValue/360; nVal = aMtrValue - nVal*360; maMtrTrgrAngle.SetValue(nVal); - //End of new code + // End of new code XGradient aTmpGradient( Color(nStartCol, nStartCol, nStartCol), Color(nEndCol, nEndCol, nEndCol), @@ -292,10 +294,10 @@ void AreaTransparencyGradientControl::ExecuteValueModify( sal_uInt8 nStartCol, s (sal_uInt16)maMtrTrgrBorder.GetValue(), 100, 100); - mrAreaPropertyPanel.SetGradient(aTmpGradient); + mrAreaPropertyPanel.SetGradient(aTmpGradient); SfxItemPool* pPool = NULL; - bool bEnable = true; + bool bEnable = true; XFillFloatTransparenceItem aGradientItem(pPool,aTmpGradient, bEnable ); mpBindings->GetDispatcher()->Execute( SID_ATTR_FILL_FLOATTRANSPARENCE, SFX_CALLMODE_RECORD, &aGradientItem, 0L ); diff --git a/main/svx/source/sidebar/area/AreaTransparencyGradientControl.hxx b/main/svx/source/sidebar/area/AreaTransparencyGradientControl.hxx index 7e2b03f..4e9a003 100644 --- a/main/svx/source/sidebar/area/AreaTransparencyGradientControl.hxx +++ b/main/svx/source/sidebar/area/AreaTransparencyGradientControl.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -7,18 +7,20 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ + + #include "svx/sidebar/PopupControl.hxx" #include <vcl/fixed.hxx> @@ -37,9 +39,9 @@ class AreaTransparencyGradientControl : public PopupControl { public: AreaTransparencyGradientControl ( - Window* pParent, - AreaPropertyPanel& rPanel); - virtual ~AreaTransparencyGradientControl (void); + Window* pParent, + AreaPropertyPanel& rPanel); + virtual ~AreaTransparencyGradientControl (void); void ToGetFocus(); void Rearrange(XFillFloatTransparenceItem* pGradientItem); @@ -47,21 +49,21 @@ public: void ExecuteValueModify( sal_uInt8 nStartCol, sal_uInt8 nEndCol ); void SetControlState_Impl(XGradientStyle eXGS); -private: - FixedText maFtTrgrCenterX; - MetricField maMtrTrgrCenterX; - FixedText maFtTrgrCenterY; - MetricField maMtrTrgrCenterY; - FixedText maFtTrgrAngle; - MetricField maMtrTrgrAngle; - ToolBox maBtnLeft45; - ToolBox maBtnRight45; - FixedText maFtTrgrStartValue; - MetricField maMtrTrgrStartValue; - FixedText maFtTrgrEndValue; - MetricField maMtrTrgrEndValue; - FixedText maFtTrgrBorder; - MetricField maMtrTrgrBorder; +private: + FixedText maFtTrgrCenterX; + MetricField maMtrTrgrCenterX; + FixedText maFtTrgrCenterY; + MetricField maMtrTrgrCenterY; + FixedText maFtTrgrAngle; + MetricField maMtrTrgrAngle; + ToolBox maBtnLeft45; + ToolBox maBtnRight45; + FixedText maFtTrgrStartValue; + MetricField maMtrTrgrStartValue; + FixedText maFtTrgrEndValue; + MetricField maMtrTrgrEndValue; + FixedText maFtTrgrBorder; + MetricField maMtrTrgrBorder; Image maRotLeft; Image maRotRight; diff --git a/main/svx/source/sidebar/area/AreaTransparencyGradientPopup.cxx b/main/svx/source/sidebar/area/AreaTransparencyGradientPopup.cxx index d2d1001..fceec39 100644 --- a/main/svx/source/sidebar/area/AreaTransparencyGradientPopup.cxx +++ b/main/svx/source/sidebar/area/AreaTransparencyGradientPopup.cxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -7,18 +7,20 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ + + #include "AreaTransparencyGradientPopup.hxx" #include "AreaTransparencyGradientControl.hxx" @@ -26,12 +28,12 @@ namespace svx { namespace sidebar { AreaTransparencyGradientPopup::AreaTransparencyGradientPopup ( - Window* pParent, - const ::boost::function<PopupControl*(PopupContainer*)>& rControlCreator) - : Popup( - pParent, - rControlCreator, - ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Transparency and Gradient"))) + Window* pParent, + const ::boost::function<PopupControl*(PopupContainer*)>& rControlCreator) + : Popup( + pParent, + rControlCreator, + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Transparency and Gradient"))) { } @@ -47,11 +49,11 @@ AreaTransparencyGradientPopup::~AreaTransparencyGradientPopup (void) void AreaTransparencyGradientPopup::Rearrange (XFillFloatTransparenceItem* pItem) { - ProvideContainerAndControl(); + ProvideContainerAndControl(); - AreaTransparencyGradientControl* pControl = dynamic_cast<AreaTransparencyGradientControl*>(mpControl.get()); - if (pControl != NULL) - pControl->Rearrange(pItem); + AreaTransparencyGradientControl* pControl = dynamic_cast<AreaTransparencyGradientControl*>(mpControl.get()); + if (pControl != NULL) + pControl->Rearrange(pItem); } diff --git a/main/svx/source/sidebar/area/AreaTransparencyGradientPopup.hxx b/main/svx/source/sidebar/area/AreaTransparencyGradientPopup.hxx index 388d858..3de36dd 100644 --- a/main/svx/source/sidebar/area/AreaTransparencyGradientPopup.hxx +++ b/main/svx/source/sidebar/area/AreaTransparencyGradientPopup.hxx @@ -1,5 +1,5 @@ /************************************************************** - * + * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -7,18 +7,20 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - * + * *************************************************************/ + + #ifndef _SVX_SIDEBAR_TRANSPARENCY_GRADIENT_POPUP_HXX_ #define _SVX_SIDEBAR_TRANSPARENCY_GRADIENT_POPUP_HXX_ @@ -33,15 +35,15 @@ class XFillFloatTransparenceItem; namespace svx { namespace sidebar { class AreaTransparencyGradientPopup - : public Popup + : public Popup { public : - AreaTransparencyGradientPopup ( - Window* pParent, - const ::boost::function<PopupControl*(PopupContainer*)>& rControlCreator); - ~AreaTransparencyGradientPopup (void); + AreaTransparencyGradientPopup ( + Window* pParent, + const ::boost::function<PopupControl*(PopupContainer*)>& rControlCreator); + ~AreaTransparencyGradientPopup (void); - void Rearrange (XFillFloatTransparenceItem* pItem); + void Rearrange (XFillFloatTransparenceItem* pItem); }; } } // end of namespace svx::sidebar