From 489582458a03aaf25ddc83ae5e4416bbe236991d Mon Sep 17 00:00:00 2001 From: Rishabh Kumar Date: Sun, 23 Aug 2015 00:34:17 +0530 Subject: tdf#90078: Improve the Area section of the properties tab Addition of new controls to gradient mode and area tab reorganisation Change-Id: I5c122705c41e14cddc2eaaac2561c02df22574f2 Reviewed-on: https://gerrit.libreoffice.org/16965 Reviewed-by: Katarina Behrens Tested-by: Katarina Behrens --- include/svx/sidebar/AreaPropertyPanelBase.hxx | 13 +- svx/source/sidebar/area/AreaPropertyPanelBase.cxx | 223 ++++++++++++++++----- svx/uiconfig/ui/sidebararea.ui | 231 ++++++++++++++-------- 3 files changed, 344 insertions(+), 123 deletions(-) diff --git a/include/svx/sidebar/AreaPropertyPanelBase.hxx b/include/svx/sidebar/AreaPropertyPanelBase.hxx index 24ebcedc07ba..c12842f7708b 100644 --- a/include/svx/sidebar/AreaPropertyPanelBase.hxx +++ b/include/svx/sidebar/AreaPropertyPanelBase.hxx @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -35,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -125,11 +127,16 @@ protected: VclPtr mpColorTextFT; VclPtr mpLbFillType; VclPtr mpLbFillAttr; - VclPtr mpToolBoxColor; // for new color picker + VclPtr mpLbFillGradFrom; + VclPtr mpLbFillGradTo; + VclPtr mpToolBoxColor; // for new color picker VclPtr mpTrspTextFT; VclPtr mpLBTransType; VclPtr mpMTRTransparent; + VclPtr mpSldTransparent; VclPtr mpBTNGradient; + VclPtr mpMTRAngle; + VclPtr mpGradientStyle; ::boost::scoped_ptr< XFillStyleItem > mpStyleItem; ::boost::scoped_ptr< XFillColorItem > mpColorItem; @@ -151,10 +158,13 @@ protected: css::uno::Reference mxFrame; + sfx2::sidebar::SidebarController* mpSidebarController; + DECL_LINK(SelectFillTypeHdl, ListBox* ); DECL_LINK(SelectFillAttrHdl, ListBox* ); DECL_LINK(ChangeTrgrTypeHdl_Impl, void*); DECL_LINK(ModifyTransparentHdl_Impl, void*); + DECL_LINK(ModifyTransSliderHdl, void*); // for transparency gradient VclPtr CreateTransparencyGradientControl (PopupContainer* pParent); @@ -163,6 +173,7 @@ protected: void Initialize(); void Update(); void ImpUpdateTransparencies(); + void SetTransparency(sal_uInt16 nVal); }; diff --git a/svx/source/sidebar/area/AreaPropertyPanelBase.cxx b/svx/source/sidebar/area/AreaPropertyPanelBase.cxx index e21502b65c78..46a057d3fc62 100644 --- a/svx/source/sidebar/area/AreaPropertyPanelBase.cxx +++ b/svx/source/sidebar/area/AreaPropertyPanelBase.cxx @@ -20,6 +20,7 @@ #include "AreaTransparencyGradientControl.hxx" #include +#include #include #include #include @@ -84,7 +85,8 @@ AreaPropertyPanelBase::AreaPropertyPanelBase( maTrGrPopup(this, ::boost::bind(&AreaPropertyPanelBase::CreateTransparencyGradientControl, this, _1)), mpFloatTransparenceItem(), mpTransparanceItem(), - mxFrame(rxFrame) + mxFrame(rxFrame), + mpSidebarController() { get(mpColorTextFT, "filllabel"); get(mpLbFillType, "fillstyle"); @@ -93,7 +95,12 @@ AreaPropertyPanelBase::AreaPropertyPanelBase( get(mpToolBoxColor, "selectcolor"); get(mpLBTransType, "transtype"); get(mpMTRTransparent, "settransparency"); + get(mpSldTransparent, "transparencyslider"); get(mpBTNGradient, "selectgradient"); + get(mpMTRAngle, "gradangle"); + get(mpLbFillGradFrom, "fillgrad1"); + get(mpLbFillGradTo, "fillgrad2"); + get(mpGradientStyle, "gradientstyle"); Initialize(); } @@ -112,7 +119,12 @@ void AreaPropertyPanelBase::dispose() mpTrspTextFT.clear(); mpLBTransType.clear(); mpMTRTransparent.clear(); + mpSldTransparent.clear(); mpBTNGradient.clear(); + mpMTRAngle.clear(); + mpLbFillGradFrom.clear(); + mpLbFillGradTo.clear(); + mpGradientStyle.clear(); PanelLayout::dispose(); } @@ -150,12 +162,17 @@ void AreaPropertyPanelBase::Initialize() aLink = LINK( this, AreaPropertyPanelBase, SelectFillAttrHdl ); mpLbFillAttr->SetSelectHdl( aLink ); + mpGradientStyle->SetSelectHdl( aLink ); + mpMTRAngle->SetModifyHdl( aLink ); + mpLbFillGradFrom->SetSelectHdl( aLink ); + mpLbFillGradTo->SetSelectHdl( aLink ); mpLBTransType->SetSelectHdl(LINK(this, AreaPropertyPanelBase, ChangeTrgrTypeHdl_Impl)); mpLBTransType->SetAccessibleName(OUString( "Transparency")); //wj acc - mpMTRTransparent->SetValue( 50 ); + SetTransparency( 50 ); mpMTRTransparent->SetModifyHdl(LINK(this, AreaPropertyPanelBase, ModifyTransparentHdl_Impl)); + mpSldTransparent->SetSlideHdl(LINK(this, AreaPropertyPanelBase, ModifyTransSliderHdl)); mpMTRTransparent->SetAccessibleName(OUString( "Transparency")); //wj acc const sal_uInt16 nIdGradient = mpBTNGradient->GetItemId(UNO_SIDEBARGRADIENT); @@ -172,6 +189,14 @@ void AreaPropertyPanelBase::Initialize() mpLBTransType->SetAccessibleRelationLabeledBy(mpTrspTextFT); mpMTRTransparent->SetAccessibleRelationLabeledBy(mpMTRTransparent); mpBTNGradient->SetAccessibleRelationLabeledBy(mpBTNGradient); + + mpSidebarController = sfx2::sidebar::SidebarController::GetSidebarControllerForFrame(mxFrame); +} + +void AreaPropertyPanelBase::SetTransparency(sal_uInt16 nVal) +{ + mpSldTransparent->SetThumbPos(nVal); + mpMTRTransparent->SetValue(nVal); } IMPL_LINK(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox *, pToolBox) @@ -194,6 +219,10 @@ IMPL_LINK(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox *, pToolBox) case drawing::FillStyle_NONE: { mpLbFillAttr->Show(); + mpLbFillGradFrom->Hide(); + mpLbFillGradTo->Hide(); + mpGradientStyle->Hide(); + mpMTRAngle->Hide(); mpToolBoxColor->Hide(); mpLbFillType->Selected(); mpLbFillAttr->Disable(); @@ -205,6 +234,10 @@ IMPL_LINK(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox *, pToolBox) case drawing::FillStyle_SOLID: { mpLbFillAttr->Hide(); + mpLbFillGradFrom->Hide(); + mpLbFillGradTo->Hide(); + mpGradientStyle->Hide(); + mpMTRAngle->Hide(); mpToolBoxColor->Show(); const OUString aTmpStr; const Color aColor = mpColorItem ? mpColorItem->GetColorValue() : COL_AUTO; @@ -216,20 +249,29 @@ IMPL_LINK(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox *, pToolBox) } case drawing::FillStyle_GRADIENT: { - mpLbFillAttr->Show(); + mpLbFillAttr->Hide(); + mpLbFillGradFrom->Show(); + mpLbFillGradTo->Show(); + mpGradientStyle->Show(); + mpMTRAngle->Show(); mpToolBoxColor->Hide(); - if(pSh && pSh->GetItem(SID_GRADIENT_LIST)) + if(pSh && pSh->GetItem(SID_COLOR_TABLE)) { - if(!mpLbFillAttr->GetEntryCount()) - { - const SvxGradientListItem aItem(*static_cast(pSh->GetItem(SID_GRADIENT_LIST))); - mpLbFillAttr->Enable(); - mpLbFillAttr->Clear(); - mpLbFillAttr->Fill(aItem.GetGradientList()); - } + const SvxColorListItem aColorListItem(*static_cast(pSh->GetItem(SID_COLOR_TABLE))); + mpLbFillAttr->Enable(); + mpLbFillGradTo->Enable(); + mpLbFillGradFrom->Enable(); + mpGradientStyle->Enable(); + mpMTRAngle->Enable(); + mpLbFillAttr->Clear(); + mpLbFillGradTo->Clear(); + mpLbFillGradFrom->Clear(); + mpLbFillGradTo->Fill(aColorListItem.GetColorList()); + mpLbFillGradFrom->Fill(aColorListItem.GetColorList()); - mpLbFillAttr->AdaptDropDownLineCountToMaximum(); + mpLbFillGradFrom->AdaptDropDownLineCountToMaximum(); + mpLbFillGradTo->AdaptDropDownLineCountToMaximum(); if(LISTBOX_ENTRY_NOTFOUND != mnLastPosGradient) { @@ -238,23 +280,46 @@ IMPL_LINK(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox *, pToolBox) if(mnLastPosGradient < aItem.GetGradientList()->Count()) { const XGradient aGradient = aItem.GetGradientList()->GetGradient(mnLastPosGradient)->GetGradient(); - const XFillGradientItem aXFillGradientItem(mpLbFillAttr->GetEntry(mnLastPosGradient), aGradient); + const XFillGradientItem aXFillGradientItem(aGradient); // #i122676# change FillStyle and Gradient in one call setFillStyleAndGradient(&aXFillStyleItem, aXFillGradientItem); - mpLbFillAttr->SelectEntryPos(mnLastPosGradient); + mpLbFillGradFrom->SelectEntry(aGradient.GetStartColor()); + if(mpLbFillGradFrom->GetSelectEntryCount() == 0) + { + mpLbFillGradFrom->InsertEntry(aGradient.GetStartColor(), OUString()); + mpLbFillGradFrom->SelectEntry(aGradient.GetStartColor()); + } + mpLbFillGradTo->SelectEntry(aGradient.GetEndColor()); + if(mpLbFillGradTo->GetSelectEntryCount() == 0) + { + mpLbFillGradTo->InsertEntry(aGradient.GetEndColor(), OUString()); + mpLbFillGradTo->SelectEntry(aGradient.GetEndColor()); + } + + mpMTRAngle->SetValue(aGradient.GetAngle() / 10); + css::awt::GradientStyle eXGS = aGradient.GetGradientStyle(); + mpGradientStyle->SelectEntryPos(sal::static_int_cast< sal_Int32 >( eXGS )); + } } } else { - mpLbFillAttr->Disable(); + mpLbFillGradFrom->Disable(); + mpLbFillGradTo->Disable(); + mpMTRAngle->Disable(); + mpGradientStyle->Disable(); } break; } case drawing::FillStyle_HATCH: { mpLbFillAttr->Show(); + mpLbFillGradFrom->Hide(); + mpLbFillGradTo->Hide(); + mpMTRAngle->Hide(); + mpGradientStyle->Hide(); mpToolBoxColor->Hide(); if(pSh && pSh->GetItem(SID_HATCH_LIST)) @@ -293,6 +358,10 @@ IMPL_LINK(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox *, pToolBox) case drawing::FillStyle_BITMAP: { mpLbFillAttr->Show(); + mpLbFillGradFrom->Hide(); + mpLbFillGradTo->Hide(); + mpMTRAngle->Hide(); + mpGradientStyle->Hide(); mpToolBoxColor->Hide(); if(pSh && pSh->GetItem(SID_BITMAP_LIST)) @@ -341,6 +410,8 @@ IMPL_LINK(AreaPropertyPanelBase, SelectFillTypeHdl, ListBox *, pToolBox) } } + mpSidebarController->NotifyResize(); + return 0; } @@ -369,31 +440,21 @@ IMPL_LINK(AreaPropertyPanelBase, SelectFillAttrHdl, ListBox*, pToolBox) } case drawing::FillStyle_GRADIENT: { - sal_Int32 nPos = mpLbFillAttr->GetSelectEntryPos(); - if(LISTBOX_ENTRY_NOTFOUND == nPos) + if(pSh && pSh->GetItem(SID_COLOR_TABLE)) { - nPos = mnLastPosGradient; - } + XGradient aGradient; + aGradient.SetAngle(mpMTRAngle->GetValue() * 10); + aGradient.SetGradientStyle((css::awt::GradientStyle)mpGradientStyle->GetSelectEntryPos()); + aGradient.SetStartColor(mpLbFillGradFrom->GetSelectEntryColor()); + aGradient.SetEndColor(mpLbFillGradTo->GetSelectEntryColor()); - if(LISTBOX_ENTRY_NOTFOUND != nPos && pSh && pSh->GetItem(SID_GRADIENT_LIST)) - { - const SvxGradientListItem aItem(*static_cast(pSh->GetItem(SID_GRADIENT_LIST))); - - if(nPos < aItem.GetGradientList()->Count()) - { - const XGradient aGradient = aItem.GetGradientList()->GetGradient(nPos)->GetGradient(); - const XFillGradientItem aXFillGradientItem(mpLbFillAttr->GetSelectEntry(), aGradient); + const XFillGradientItem aXFillGradientItem(mpLbFillAttr->GetSelectEntry(), aGradient); // #i122676# Change FillStyle and Gradinet in one call - setFillStyleAndGradient(bFillStyleChange ? &aXFillStyleItem : NULL, aXFillGradientItem); - } + setFillStyleAndGradient(bFillStyleChange ? &aXFillStyleItem : NULL, aXFillGradientItem); } - if(LISTBOX_ENTRY_NOTFOUND != nPos) - { - mnLastPosGradient = nPos; - } break; } case drawing::FillStyle_HATCH: @@ -456,6 +517,7 @@ IMPL_LINK(AreaPropertyPanelBase, SelectFillAttrHdl, ListBox*, pToolBox) } default: break; } + mpSidebarController->NotifyResize(); } return 0; @@ -492,8 +554,10 @@ void AreaPropertyPanelBase::ImpUpdateTransparencies() mpLBTransType->SelectEntryPos(1); mpBTNGradient->Hide(); mpMTRTransparent->Show(); + mpSldTransparent->Show(); mpMTRTransparent->Enable(); - mpMTRTransparent->SetValue(nValue); + mpSldTransparent->Enable(); + SetTransparency(nValue); } if(!bZeroValue) @@ -513,6 +577,7 @@ void AreaPropertyPanelBase::ImpUpdateTransparencies() mpLBTransType->Enable(); mpTrspTextFT->Enable(); mpMTRTransparent->Hide(); + mpSldTransparent->Hide(); mpBTNGradient->Enable(); mpBTNGradient->Show(); @@ -575,8 +640,10 @@ void AreaPropertyPanelBase::ImpUpdateTransparencies() mpLBTransType->SelectEntryPos(0); mpBTNGradient->Hide(); mpMTRTransparent->Enable(); + mpSldTransparent->Enable(); mpMTRTransparent->Show(); - mpMTRTransparent->SetValue(0); + mpSldTransparent->Show(); + SetTransparency(0); } } else @@ -586,7 +653,9 @@ void AreaPropertyPanelBase::ImpUpdateTransparencies() mpLBTransType->Disable(); mpTrspTextFT->Disable(); mpMTRTransparent->Disable(); + mpSldTransparent->Disable(); mpMTRTransparent->Show(); + mpSldTransparent->Show(); mpBTNGradient->Disable(); mpBTNGradient->Hide(); } @@ -698,22 +767,30 @@ void AreaPropertyPanelBase::updateFillGradient(bool bDisabled, bool bDefault, co if(mpStyleItem && drawing::FillStyle_GRADIENT == (drawing::FillStyle)mpStyleItem->GetValue()) { - mpLbFillAttr->Show(); + mpLbFillAttr->Hide(); + mpLbFillGradFrom->Show(); + mpLbFillGradTo->Show(); + mpMTRAngle->Show(); + mpGradientStyle->Show(); mpToolBoxColor->Hide(); if(bDefault) { - mpLbFillAttr->Enable(); Update(); } else if(bDisabled) { - mpLbFillAttr->Disable(); - mpLbFillAttr->SetNoSelection(); + mpLbFillGradFrom->SetNoSelection(); + mpLbFillGradTo->SetNoSelection(); + mpLbFillGradFrom->Disable(); + mpLbFillGradTo->Disable(); + mpMTRAngle->Disable(); + mpGradientStyle->Disable(); } else { - mpLbFillAttr->SetNoSelection(); + mpLbFillGradFrom->SetNoSelection(); + mpLbFillGradTo->SetNoSelection(); } } } @@ -908,6 +985,7 @@ void AreaPropertyPanelBase::NotifyItemUpdate( break; } } + mpSidebarController->NotifyResize(); } void AreaPropertyPanelBase::Update() @@ -922,6 +1000,10 @@ void AreaPropertyPanelBase::Update() case drawing::FillStyle_NONE: { mpLbFillAttr->Show(); + mpLbFillGradFrom->Hide(); + mpLbFillGradTo->Hide(); + mpMTRAngle->Hide(); + mpGradientStyle->Hide(); mpToolBoxColor->Hide(); break; } @@ -930,13 +1012,22 @@ void AreaPropertyPanelBase::Update() if(mpColorItem) { mpLbFillAttr->Hide(); + mpLbFillGradFrom->Hide(); + mpLbFillGradTo->Hide(); + mpMTRAngle->Hide(); + mpGradientStyle->Hide(); mpToolBoxColor->Show(); } break; } case drawing::FillStyle_GRADIENT: { - mpLbFillAttr->Show(); + mpLbFillAttr->Hide(); + mpLbFillGradFrom->Show(); + mpLbFillGradTo->Show(); + mpMTRAngle->Enable(); + mpMTRAngle->Show(); + mpGradientStyle->Show(); mpToolBoxColor->Hide(); if(pSh && pSh->GetItem(SID_GRADIENT_LIST)) @@ -945,12 +1036,33 @@ void AreaPropertyPanelBase::Update() mpLbFillAttr->Enable(); mpLbFillAttr->Clear(); mpLbFillAttr->Fill(aItem.GetGradientList()); - + const SvxColorListItem aColorItem(*static_cast(pSh->GetItem(SID_COLOR_TABLE))); + mpLbFillGradFrom->Fill(aColorItem.GetColorList()); + mpLbFillGradTo->Fill(aColorItem.GetColorList()); + mpLbFillGradTo->SetNoSelection(); + mpLbFillGradFrom->SetNoSelection(); if(mpFillGradientItem) { const OUString aString(mpFillGradientItem->GetName()); - mpLbFillAttr->SelectEntry(aString); + const XGradient pGradient = mpFillGradientItem->GetGradientValue(); + mpLbFillGradFrom->SelectEntry(pGradient.GetStartColor()); + if(mpLbFillGradFrom->GetSelectEntryCount() == 0) + { + mpLbFillGradFrom->InsertEntry(pGradient.GetStartColor(), OUString()); + mpLbFillGradFrom->SelectEntry(pGradient.GetStartColor()); + } + mpLbFillGradTo->SelectEntry(pGradient.GetEndColor()); + if(mpLbFillGradTo->GetSelectEntryCount() == 0) + { + mpLbFillGradTo->InsertEntry(pGradient.GetEndColor(), OUString()); + mpLbFillGradTo->SelectEntry(pGradient.GetEndColor()); + } + mpGradientStyle->SelectEntryPos(sal::static_int_cast< sal_Int32 >( pGradient.GetGradientStyle() )); + if(mpGradientStyle->GetSelectEntryPos() == GradientStyle_RADIAL) + mpMTRAngle->Disable(); + else + mpMTRAngle->SetValue( pGradient.GetAngle() /10 ); } else { @@ -966,6 +1078,10 @@ void AreaPropertyPanelBase::Update() case drawing::FillStyle_HATCH: { mpLbFillAttr->Show(); + mpLbFillGradFrom->Hide(); + mpLbFillGradTo->Hide(); + mpMTRAngle->Hide(); + mpGradientStyle->Hide(); mpToolBoxColor->Hide(); if(pSh && pSh->GetItem(SID_HATCH_LIST)) @@ -996,6 +1112,10 @@ void AreaPropertyPanelBase::Update() { mpLbFillAttr->Show(); mpToolBoxColor->Hide(); + mpLbFillGradFrom->Hide(); + mpLbFillGradTo->Hide(); + mpMTRAngle->Hide(); + mpGradientStyle->Hide(); if(pSh && pSh->GetItem(SID_BITMAP_LIST)) { @@ -1028,6 +1148,16 @@ void AreaPropertyPanelBase::Update() } } +IMPL_LINK_NOARG(AreaPropertyPanelBase, ModifyTransSliderHdl) +{ + const sal_uInt16 nVal = mpSldTransparent->GetThumbPos(); + SetTransparency(nVal); + const XFillTransparenceItem aLinearItem(nVal); + setFillTransparence(aLinearItem); + + return 0L; +} + IMPL_LINK_TYPED( AreaPropertyPanelBase, ClickTrGrHdl_Impl, ToolBox*, pToolBox, void ) { maTrGrPopup.Rearrange(mpFloatTransparenceItem.get()); @@ -1045,17 +1175,21 @@ IMPL_LINK_NOARG(AreaPropertyPanelBase, ChangeTrgrTypeHdl_Impl) { mpBTNGradient->Hide(); mpMTRTransparent->Show(); + mpSldTransparent->Show(); mpMTRTransparent->Enable(); - mpMTRTransparent->SetValue(0); + mpSldTransparent->Enable(); + SetTransparency(0); } else if(1 == nSelectType) { mpBTNGradient->Hide(); mpMTRTransparent->Show(); + mpSldTransparent->Show(); nTrans = mnLastTransSolid; mpMTRTransparent->SetValue(nTrans); mpLBTransType->SelectEntryPos(1); mpMTRTransparent->Enable(); + mpSldTransparent->Enable(); } else { @@ -1085,6 +1219,7 @@ IMPL_LINK_NOARG(AreaPropertyPanelBase, ChangeTrgrTypeHdl_Impl) } mpMTRTransparent->Hide(); + mpSldTransparent->Hide(); mpBTNGradient->Enable(); bGradient = true; } diff --git a/svx/uiconfig/ui/sidebararea.ui b/svx/uiconfig/ui/sidebararea.ui index 708533c726a6..5321824dde9e 100644 --- a/svx/uiconfig/ui/sidebararea.ui +++ b/svx/uiconfig/ui/sidebararea.ui @@ -4,11 +4,15 @@ - 0 100 1 10 + + 360 + 1 + 10 + True False @@ -38,28 +42,12 @@ 0 _Fill: True - fillstyle 0 0 - - - True - False - True - Select the fill type to apply. - Select the fill type to apply. - 0 - 1 - - - 0 - 1 - - True @@ -99,11 +87,25 @@ Select the effect to apply. - False + True True 1 + + + True + False + True + Fill gradient from. + Fill gradient from. + + + True + True + 2 + + 1 @@ -111,20 +113,45 @@ - + True False True - Transparency - Transparency - 0 - _Transparency: - True - transtype + Select the fill type to apply. + Select the fill type to apply. + 0 + 1 - 0 - 2 + 1 + 0 + + + + + True + False + end + + + True + False + True + Specify the variation of gradient transparency. + Specify the variation of gradient transparency. + True + .uno:sidebargradient + True + + + True + True + + + + + 1 + 4 @@ -145,71 +172,72 @@ Square + + 1 + 3 + + + + + True + False + True + Transparency + Transparency + 0 + _Transparency: + True + 0 3 - + True False - True - - - True - False - - - True - False - True - Specify the variation of gradient transparency. - Specify the variation of gradient transparency. - .uno:sidebargradient - True - - - True - True - - - - - False - True - 0 - - - - - True - True - True - Specify 0% for fully opaque through 100% for fully transparent. - Specify 0% for fully opaque through 100% for fully transparent. - True - 100 - - adjustment1 - False - 5 - True - - - False - True - 1 - - + True + Fill gradient to. + Fill gradient to. 1 - 3 + 2 - + + True + True + adjustment2 + Select the gradient angle. + Select the gradient angle. + + + 0 + 2 + + + + + True + False + + Linear + Axial + Radial + Ellipsoid + Quadratic + Square + + Select the gradient style. + Select the gradient style. + + + 0 + 1 + @@ -221,6 +249,53 @@ 0 + + + True + False + 6 + + + True + True + True + 1 + False + Specify 0% for fully opaque through 100% for fully transparent. + Specify 0% for fully opaque through 100% for fully transparent. + + + 0 + 0 + 3 + + + + + True + True + True + Specify 0% for fully opaque through 100% for fully transparent. + Specify 0% for fully opaque through 100% for fully transparent. + 100 + + False + adjustment1 + 5 + True + + + 3 + 0 + + + + + False + True + 1 + + 0 -- cgit v1.2.3