1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 29*cdf0e10cSrcweir #include "precompiled_cui.hxx" 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir // include --------------------------------------------------------------- 32*cdf0e10cSrcweir #include <tools/shl.hxx> 33*cdf0e10cSrcweir #include <tools/urlobj.hxx> 34*cdf0e10cSrcweir #include <sfx2/app.hxx> 35*cdf0e10cSrcweir #include <sfx2/module.hxx> 36*cdf0e10cSrcweir #include <svx/dialogs.hrc> 37*cdf0e10cSrcweir 38*cdf0e10cSrcweir #define _SVX_TPAREA_CXX 39*cdf0e10cSrcweir 40*cdf0e10cSrcweir #if defined (UNX) || defined (WTC) || defined (ICC) || defined(WNT) 41*cdf0e10cSrcweir #include <stdlib.h> 42*cdf0e10cSrcweir #endif 43*cdf0e10cSrcweir 44*cdf0e10cSrcweir #include "svx/xattr.hxx" 45*cdf0e10cSrcweir #include <svx/xpool.hxx> 46*cdf0e10cSrcweir #include <cuires.hrc> 47*cdf0e10cSrcweir #include "tabarea.hrc" 48*cdf0e10cSrcweir //#include "dlgname.hrc" 49*cdf0e10cSrcweir #include <svx/xflbckit.hxx> 50*cdf0e10cSrcweir #include <svx/svdattr.hxx> 51*cdf0e10cSrcweir #include <svx/xtable.hxx> 52*cdf0e10cSrcweir #include <svx/xlineit0.hxx> 53*cdf0e10cSrcweir #include "svx/drawitem.hxx" 54*cdf0e10cSrcweir #include "cuitabarea.hxx" 55*cdf0e10cSrcweir #include "dlgname.hxx" 56*cdf0e10cSrcweir #include <dialmgr.hxx> 57*cdf0e10cSrcweir #include "svx/dlgutil.hxx" 58*cdf0e10cSrcweir #include <svl/intitem.hxx> //add CHINA001 59*cdf0e10cSrcweir #include <sfx2/request.hxx>//add CHINA001 60*cdf0e10cSrcweir #include "paragrph.hrc" 61*cdf0e10cSrcweir #define DLGWIN this->GetParent()->GetParent() 62*cdf0e10cSrcweir 63*cdf0e10cSrcweir // static ---------------------------------------------------------------- 64*cdf0e10cSrcweir 65*cdf0e10cSrcweir static sal_uInt16 pAreaRanges[] = 66*cdf0e10cSrcweir { 67*cdf0e10cSrcweir XATTR_GRADIENTSTEPCOUNT, 68*cdf0e10cSrcweir XATTR_GRADIENTSTEPCOUNT, 69*cdf0e10cSrcweir SID_ATTR_FILL_STYLE, 70*cdf0e10cSrcweir SID_ATTR_FILL_BITMAP, 71*cdf0e10cSrcweir 0 72*cdf0e10cSrcweir }; 73*cdf0e10cSrcweir 74*cdf0e10cSrcweir static sal_uInt16 pTransparenceRanges[] = 75*cdf0e10cSrcweir { 76*cdf0e10cSrcweir XATTR_FILLTRANSPARENCE, 77*cdf0e10cSrcweir XATTR_FILLTRANSPARENCE, 78*cdf0e10cSrcweir SDRATTR_SHADOWTRANSPARENCE, 79*cdf0e10cSrcweir SDRATTR_SHADOWTRANSPARENCE, 80*cdf0e10cSrcweir XATTR_FILLFLOATTRANSPARENCE, 81*cdf0e10cSrcweir XATTR_FILLFLOATTRANSPARENCE, 82*cdf0e10cSrcweir 0 83*cdf0e10cSrcweir }; 84*cdf0e10cSrcweir 85*cdf0e10cSrcweir /************************************************************************* 86*cdf0e10cSrcweir |* 87*cdf0e10cSrcweir |* Dialog for transparence 88*cdf0e10cSrcweir |* 89*cdf0e10cSrcweir \************************************************************************/ 90*cdf0e10cSrcweir 91*cdf0e10cSrcweir IMPL_LINK(SvxTransparenceTabPage, ClickTransOffHdl_Impl, void *, EMPTYARG) 92*cdf0e10cSrcweir { 93*cdf0e10cSrcweir // disable all other controls 94*cdf0e10cSrcweir ActivateLinear(sal_False); 95*cdf0e10cSrcweir ActivateGradient(sal_False); 96*cdf0e10cSrcweir 97*cdf0e10cSrcweir // Preview 98*cdf0e10cSrcweir rXFSet.ClearItem (XATTR_FILLTRANSPARENCE); 99*cdf0e10cSrcweir rXFSet.ClearItem (XATTR_FILLFLOATTRANSPARENCE); 100*cdf0e10cSrcweir aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() ); 101*cdf0e10cSrcweir aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() ); 102*cdf0e10cSrcweir 103*cdf0e10cSrcweir InvalidatePreview( sal_False ); 104*cdf0e10cSrcweir 105*cdf0e10cSrcweir return( 0L ); 106*cdf0e10cSrcweir } 107*cdf0e10cSrcweir 108*cdf0e10cSrcweir IMPL_LINK(SvxTransparenceTabPage, ClickTransLinearHdl_Impl, void *, EMPTYARG) 109*cdf0e10cSrcweir { 110*cdf0e10cSrcweir // enable linear, disable other 111*cdf0e10cSrcweir ActivateLinear(sal_True); 112*cdf0e10cSrcweir ActivateGradient(sal_False); 113*cdf0e10cSrcweir 114*cdf0e10cSrcweir // preview 115*cdf0e10cSrcweir rXFSet.ClearItem (XATTR_FILLFLOATTRANSPARENCE); 116*cdf0e10cSrcweir ModifyTransparentHdl_Impl (NULL); 117*cdf0e10cSrcweir 118*cdf0e10cSrcweir return( 0L ); 119*cdf0e10cSrcweir } 120*cdf0e10cSrcweir 121*cdf0e10cSrcweir IMPL_LINK(SvxTransparenceTabPage, ClickTransGradientHdl_Impl, void *, EMPTYARG) 122*cdf0e10cSrcweir { 123*cdf0e10cSrcweir // enable gradient, disable other 124*cdf0e10cSrcweir ActivateLinear(sal_False); 125*cdf0e10cSrcweir ActivateGradient(sal_True); 126*cdf0e10cSrcweir 127*cdf0e10cSrcweir // preview 128*cdf0e10cSrcweir rXFSet.ClearItem (XATTR_FILLTRANSPARENCE); 129*cdf0e10cSrcweir ModifiedTrgrHdl_Impl (NULL); 130*cdf0e10cSrcweir 131*cdf0e10cSrcweir return( 0L ); 132*cdf0e10cSrcweir } 133*cdf0e10cSrcweir 134*cdf0e10cSrcweir void SvxTransparenceTabPage::ActivateLinear(sal_Bool bActivate) 135*cdf0e10cSrcweir { 136*cdf0e10cSrcweir aMtrTransparent.Enable(bActivate); 137*cdf0e10cSrcweir } 138*cdf0e10cSrcweir 139*cdf0e10cSrcweir IMPL_LINK(SvxTransparenceTabPage, ModifyTransparentHdl_Impl, void*, EMPTYARG) 140*cdf0e10cSrcweir { 141*cdf0e10cSrcweir sal_uInt16 nPos = (sal_uInt16)aMtrTransparent.GetValue(); 142*cdf0e10cSrcweir XFillTransparenceItem aItem(nPos); 143*cdf0e10cSrcweir rXFSet.Put(XFillTransparenceItem(aItem)); 144*cdf0e10cSrcweir 145*cdf0e10cSrcweir // preview 146*cdf0e10cSrcweir InvalidatePreview(); 147*cdf0e10cSrcweir 148*cdf0e10cSrcweir return 0L; 149*cdf0e10cSrcweir } 150*cdf0e10cSrcweir 151*cdf0e10cSrcweir IMPL_LINK(SvxTransparenceTabPage, ModifiedTrgrHdl_Impl, void *, pControl) 152*cdf0e10cSrcweir { 153*cdf0e10cSrcweir if(pControl == &aLbTrgrGradientType || pControl == this) 154*cdf0e10cSrcweir { 155*cdf0e10cSrcweir XGradientStyle eXGS = (XGradientStyle)aLbTrgrGradientType.GetSelectEntryPos(); 156*cdf0e10cSrcweir SetControlState_Impl( eXGS ); 157*cdf0e10cSrcweir } 158*cdf0e10cSrcweir 159*cdf0e10cSrcweir // preview 160*cdf0e10cSrcweir sal_uInt8 nStartCol = (sal_uInt8)(((sal_uInt16)aMtrTrgrStartValue.GetValue() * 255) / 100); 161*cdf0e10cSrcweir sal_uInt8 nEndCol = (sal_uInt8)(((sal_uInt16)aMtrTrgrEndValue.GetValue() * 255) / 100); 162*cdf0e10cSrcweir XGradient aTmpGradient( 163*cdf0e10cSrcweir Color(nStartCol, nStartCol, nStartCol), 164*cdf0e10cSrcweir Color(nEndCol, nEndCol, nEndCol), 165*cdf0e10cSrcweir (XGradientStyle)aLbTrgrGradientType.GetSelectEntryPos(), 166*cdf0e10cSrcweir (sal_uInt16)aMtrTrgrAngle.GetValue() * 10, 167*cdf0e10cSrcweir (sal_uInt16)aMtrTrgrCenterX.GetValue(), 168*cdf0e10cSrcweir (sal_uInt16)aMtrTrgrCenterY.GetValue(), 169*cdf0e10cSrcweir (sal_uInt16)aMtrTrgrBorder.GetValue(), 170*cdf0e10cSrcweir 100, 100); 171*cdf0e10cSrcweir 172*cdf0e10cSrcweir String aString; 173*cdf0e10cSrcweir XFillFloatTransparenceItem aItem( rXFSet.GetPool()/*aString*/, aTmpGradient); 174*cdf0e10cSrcweir rXFSet.Put ( aItem ); 175*cdf0e10cSrcweir 176*cdf0e10cSrcweir InvalidatePreview(); 177*cdf0e10cSrcweir 178*cdf0e10cSrcweir return( 0L ); 179*cdf0e10cSrcweir } 180*cdf0e10cSrcweir 181*cdf0e10cSrcweir void SvxTransparenceTabPage::ActivateGradient(sal_Bool bActivate) 182*cdf0e10cSrcweir { 183*cdf0e10cSrcweir aFtTrgrType.Enable(bActivate); 184*cdf0e10cSrcweir aLbTrgrGradientType.Enable(bActivate); 185*cdf0e10cSrcweir aFtTrgrCenterX.Enable(bActivate); 186*cdf0e10cSrcweir aMtrTrgrCenterX.Enable(bActivate); 187*cdf0e10cSrcweir aFtTrgrCenterY.Enable(bActivate); 188*cdf0e10cSrcweir aMtrTrgrCenterY.Enable(bActivate); 189*cdf0e10cSrcweir aFtTrgrAngle.Enable(bActivate); 190*cdf0e10cSrcweir aMtrTrgrAngle.Enable(bActivate); 191*cdf0e10cSrcweir aFtTrgrBorder.Enable(bActivate); 192*cdf0e10cSrcweir aMtrTrgrBorder.Enable(bActivate); 193*cdf0e10cSrcweir aFtTrgrStartValue.Enable(bActivate); 194*cdf0e10cSrcweir aMtrTrgrStartValue.Enable(bActivate); 195*cdf0e10cSrcweir aFtTrgrEndValue.Enable(bActivate); 196*cdf0e10cSrcweir aMtrTrgrEndValue.Enable(bActivate); 197*cdf0e10cSrcweir 198*cdf0e10cSrcweir if(bActivate) 199*cdf0e10cSrcweir { 200*cdf0e10cSrcweir XGradientStyle eXGS = (XGradientStyle)aLbTrgrGradientType.GetSelectEntryPos(); 201*cdf0e10cSrcweir SetControlState_Impl( eXGS ); 202*cdf0e10cSrcweir } 203*cdf0e10cSrcweir } 204*cdf0e10cSrcweir 205*cdf0e10cSrcweir IMPL_LINK(SvxTransparenceTabPage, ChangeTrgrTypeHdl_Impl, void *, EMPTYARG) 206*cdf0e10cSrcweir { 207*cdf0e10cSrcweir return( 0L ); 208*cdf0e10cSrcweir } 209*cdf0e10cSrcweir 210*cdf0e10cSrcweir void SvxTransparenceTabPage::SetControlState_Impl(XGradientStyle eXGS) 211*cdf0e10cSrcweir { 212*cdf0e10cSrcweir switch(eXGS) 213*cdf0e10cSrcweir { 214*cdf0e10cSrcweir case XGRAD_LINEAR: 215*cdf0e10cSrcweir case XGRAD_AXIAL: 216*cdf0e10cSrcweir aFtTrgrCenterX.Disable(); 217*cdf0e10cSrcweir aMtrTrgrCenterX.Disable(); 218*cdf0e10cSrcweir aFtTrgrCenterY.Disable(); 219*cdf0e10cSrcweir aMtrTrgrCenterY.Disable(); 220*cdf0e10cSrcweir aFtTrgrAngle.Enable(); 221*cdf0e10cSrcweir aMtrTrgrAngle.Enable(); 222*cdf0e10cSrcweir break; 223*cdf0e10cSrcweir 224*cdf0e10cSrcweir case XGRAD_RADIAL: 225*cdf0e10cSrcweir aFtTrgrCenterX.Enable(); 226*cdf0e10cSrcweir aMtrTrgrCenterX.Enable(); 227*cdf0e10cSrcweir aFtTrgrCenterY.Enable(); 228*cdf0e10cSrcweir aMtrTrgrCenterY.Enable(); 229*cdf0e10cSrcweir aFtTrgrAngle.Disable(); 230*cdf0e10cSrcweir aMtrTrgrAngle.Disable(); 231*cdf0e10cSrcweir break; 232*cdf0e10cSrcweir 233*cdf0e10cSrcweir case XGRAD_ELLIPTICAL: 234*cdf0e10cSrcweir aFtTrgrCenterX.Enable(); 235*cdf0e10cSrcweir aMtrTrgrCenterX.Enable(); 236*cdf0e10cSrcweir aFtTrgrCenterY.Enable(); 237*cdf0e10cSrcweir aMtrTrgrCenterY.Enable(); 238*cdf0e10cSrcweir aFtTrgrAngle.Enable(); 239*cdf0e10cSrcweir aMtrTrgrAngle.Enable(); 240*cdf0e10cSrcweir break; 241*cdf0e10cSrcweir 242*cdf0e10cSrcweir case XGRAD_SQUARE: 243*cdf0e10cSrcweir case XGRAD_RECT: 244*cdf0e10cSrcweir aFtTrgrCenterX.Enable(); 245*cdf0e10cSrcweir aMtrTrgrCenterX.Enable(); 246*cdf0e10cSrcweir aFtTrgrCenterY.Enable(); 247*cdf0e10cSrcweir aMtrTrgrCenterY.Enable(); 248*cdf0e10cSrcweir aFtTrgrAngle.Enable(); 249*cdf0e10cSrcweir aMtrTrgrAngle.Enable(); 250*cdf0e10cSrcweir break; 251*cdf0e10cSrcweir } 252*cdf0e10cSrcweir } 253*cdf0e10cSrcweir 254*cdf0e10cSrcweir SvxTransparenceTabPage::SvxTransparenceTabPage(Window* pParent, const SfxItemSet& rInAttrs) 255*cdf0e10cSrcweir : SvxTabPage ( pParent, CUI_RES( RID_SVXPAGE_TRANSPARENCE ), rInAttrs), 256*cdf0e10cSrcweir rOutAttrs ( rInAttrs ), 257*cdf0e10cSrcweir nPageType(0), 258*cdf0e10cSrcweir nDlgType(0), 259*cdf0e10cSrcweir 260*cdf0e10cSrcweir aFlProp ( this, CUI_RES( FL_PROP ) ), 261*cdf0e10cSrcweir aRbtTransOff ( this, CUI_RES( RBT_TRANS_OFF ) ), 262*cdf0e10cSrcweir aRbtTransLinear ( this, CUI_RES( RBT_TRANS_LINEAR ) ), 263*cdf0e10cSrcweir aRbtTransGradient ( this, CUI_RES( RBT_TRANS_GRADIENT ) ), 264*cdf0e10cSrcweir 265*cdf0e10cSrcweir aMtrTransparent ( this, CUI_RES( MTR_TRANSPARENT ) ), 266*cdf0e10cSrcweir 267*cdf0e10cSrcweir aFtTrgrType ( this, CUI_RES( FT_TRGR_TYPE ) ), 268*cdf0e10cSrcweir aLbTrgrGradientType ( this, CUI_RES( LB_TRGR_GRADIENT_TYPES ) ), 269*cdf0e10cSrcweir aFtTrgrCenterX ( this, CUI_RES( FT_TRGR_CENTER_X ) ), 270*cdf0e10cSrcweir aMtrTrgrCenterX ( this, CUI_RES( MTR_TRGR_CENTER_X ) ), 271*cdf0e10cSrcweir aFtTrgrCenterY ( this, CUI_RES( FT_TRGR_CENTER_Y ) ), 272*cdf0e10cSrcweir aMtrTrgrCenterY ( this, CUI_RES( MTR_TRGR_CENTER_Y ) ), 273*cdf0e10cSrcweir aFtTrgrAngle ( this, CUI_RES( FT_TRGR_ANGLE ) ), 274*cdf0e10cSrcweir aMtrTrgrAngle ( this, CUI_RES( MTR_TRGR_ANGLE ) ), 275*cdf0e10cSrcweir aFtTrgrBorder ( this, CUI_RES( FT_TRGR_BORDER ) ), 276*cdf0e10cSrcweir aMtrTrgrBorder ( this, CUI_RES( MTR_TRGR_BORDER ) ), 277*cdf0e10cSrcweir aFtTrgrStartValue ( this, CUI_RES( FT_TRGR_START_VALUE ) ), 278*cdf0e10cSrcweir aMtrTrgrStartValue ( this, CUI_RES( MTR_TRGR_START_VALUE ) ), 279*cdf0e10cSrcweir aFtTrgrEndValue ( this, CUI_RES( FT_TRGR_END_VALUE ) ), 280*cdf0e10cSrcweir aMtrTrgrEndValue ( this, CUI_RES( MTR_TRGR_END_VALUE ) ), 281*cdf0e10cSrcweir 282*cdf0e10cSrcweir aCtlBitmapPreview ( this, CUI_RES( CTL_BITMAP_PREVIEW ) ), 283*cdf0e10cSrcweir aCtlXRectPreview ( this, CUI_RES( CTL_TRANS_PREVIEW ) ), 284*cdf0e10cSrcweir bBitmap ( sal_False ), 285*cdf0e10cSrcweir pXPool ( (XOutdevItemPool*) rInAttrs.GetPool() ), 286*cdf0e10cSrcweir aXFillAttr ( pXPool ), 287*cdf0e10cSrcweir rXFSet ( aXFillAttr.GetItemSet() ) 288*cdf0e10cSrcweir { 289*cdf0e10cSrcweir FreeResource(); 290*cdf0e10cSrcweir 291*cdf0e10cSrcweir String accName = String(CUI_RES(STR_EXAMPLE)); 292*cdf0e10cSrcweir aCtlBitmapPreview.SetAccessibleName(accName); 293*cdf0e10cSrcweir aCtlXRectPreview.SetAccessibleName(accName); 294*cdf0e10cSrcweir aMtrTransparent.SetAccessibleRelationLabeledBy( &aRbtTransLinear ); 295*cdf0e10cSrcweir 296*cdf0e10cSrcweir // main selection 297*cdf0e10cSrcweir aRbtTransOff.SetClickHdl(LINK(this, SvxTransparenceTabPage, ClickTransOffHdl_Impl)); 298*cdf0e10cSrcweir aRbtTransLinear.SetClickHdl(LINK(this, SvxTransparenceTabPage, ClickTransLinearHdl_Impl)); 299*cdf0e10cSrcweir aRbtTransGradient.SetClickHdl(LINK(this, SvxTransparenceTabPage, ClickTransGradientHdl_Impl)); 300*cdf0e10cSrcweir 301*cdf0e10cSrcweir // linear transparency 302*cdf0e10cSrcweir aMtrTransparent.SetValue( 50 ); 303*cdf0e10cSrcweir aMtrTransparent.SetModifyHdl(LINK(this, SvxTransparenceTabPage, ModifyTransparentHdl_Impl)); 304*cdf0e10cSrcweir 305*cdf0e10cSrcweir // gradient transparency 306*cdf0e10cSrcweir aMtrTrgrEndValue.SetValue( 100 ); 307*cdf0e10cSrcweir aMtrTrgrStartValue.SetValue( 0 ); 308*cdf0e10cSrcweir aLbTrgrGradientType.SetSelectHdl(LINK(this, SvxTransparenceTabPage, ChangeTrgrTypeHdl_Impl)); 309*cdf0e10cSrcweir Link aLink = LINK( this, SvxTransparenceTabPage, ModifiedTrgrHdl_Impl); 310*cdf0e10cSrcweir aLbTrgrGradientType.SetSelectHdl( aLink ); 311*cdf0e10cSrcweir aMtrTrgrCenterX.SetModifyHdl( aLink ); 312*cdf0e10cSrcweir aMtrTrgrCenterY.SetModifyHdl( aLink ); 313*cdf0e10cSrcweir aMtrTrgrAngle.SetModifyHdl( aLink ); 314*cdf0e10cSrcweir aMtrTrgrBorder.SetModifyHdl( aLink ); 315*cdf0e10cSrcweir aMtrTrgrStartValue.SetModifyHdl( aLink ); 316*cdf0e10cSrcweir aMtrTrgrEndValue.SetModifyHdl( aLink ); 317*cdf0e10cSrcweir 318*cdf0e10cSrcweir // this page needs ExchangeSupport 319*cdf0e10cSrcweir SetExchangeSupport(); 320*cdf0e10cSrcweir } 321*cdf0e10cSrcweir 322*cdf0e10cSrcweir void SvxTransparenceTabPage::Construct() 323*cdf0e10cSrcweir { 324*cdf0e10cSrcweir } 325*cdf0e10cSrcweir 326*cdf0e10cSrcweir SfxTabPage* SvxTransparenceTabPage::Create(Window* pWindow, const SfxItemSet& rAttrs) 327*cdf0e10cSrcweir { 328*cdf0e10cSrcweir return(new SvxTransparenceTabPage(pWindow, rAttrs)); 329*cdf0e10cSrcweir } 330*cdf0e10cSrcweir 331*cdf0e10cSrcweir sal_uInt16* SvxTransparenceTabPage::GetRanges() 332*cdf0e10cSrcweir { 333*cdf0e10cSrcweir return(pTransparenceRanges); 334*cdf0e10cSrcweir } 335*cdf0e10cSrcweir 336*cdf0e10cSrcweir sal_Bool SvxTransparenceTabPage::FillItemSet(SfxItemSet& rAttrs) 337*cdf0e10cSrcweir { 338*cdf0e10cSrcweir const SfxPoolItem* pGradientItem = NULL; 339*cdf0e10cSrcweir const SfxPoolItem* pLinearItem = NULL; 340*cdf0e10cSrcweir SfxItemState eStateGradient(rOutAttrs.GetItemState(XATTR_FILLFLOATTRANSPARENCE, sal_True, &pGradientItem)); 341*cdf0e10cSrcweir SfxItemState eStateLinear(rOutAttrs.GetItemState(XATTR_FILLTRANSPARENCE, sal_True, &pLinearItem)); 342*cdf0e10cSrcweir sal_Bool bGradActive = (eStateGradient == SFX_ITEM_SET && ((XFillFloatTransparenceItem*)pGradientItem)->IsEnabled()); 343*cdf0e10cSrcweir sal_Bool bLinearActive = (eStateLinear == SFX_ITEM_SET && ((XFillTransparenceItem*)pLinearItem)->GetValue() != 0); 344*cdf0e10cSrcweir 345*cdf0e10cSrcweir // #103765# 346*cdf0e10cSrcweir sal_Bool bGradUsed = (eStateGradient == SFX_ITEM_DONTCARE); 347*cdf0e10cSrcweir sal_Bool bLinearUsed = (eStateLinear == SFX_ITEM_DONTCARE); 348*cdf0e10cSrcweir 349*cdf0e10cSrcweir sal_Bool bModified(sal_False); 350*cdf0e10cSrcweir sal_Bool bSwitchOffLinear(sal_False); 351*cdf0e10cSrcweir sal_Bool bSwitchOffGradient(sal_False); 352*cdf0e10cSrcweir 353*cdf0e10cSrcweir if(aMtrTransparent.IsEnabled()) 354*cdf0e10cSrcweir { 355*cdf0e10cSrcweir // linear transparence 356*cdf0e10cSrcweir sal_uInt16 nPos = (sal_uInt16)aMtrTransparent.GetValue(); 357*cdf0e10cSrcweir if(nPos != (sal_uInt16)aMtrTransparent.GetSavedValue().ToInt32() || !bLinearActive) 358*cdf0e10cSrcweir { 359*cdf0e10cSrcweir XFillTransparenceItem aItem(nPos); 360*cdf0e10cSrcweir SdrShadowTransparenceItem aShadowItem(nPos); 361*cdf0e10cSrcweir const SfxPoolItem* pOld = GetOldItem(rAttrs, XATTR_FILLTRANSPARENCE); 362*cdf0e10cSrcweir if(!pOld || !(*(const XFillTransparenceItem*)pOld == aItem) || !bLinearActive) 363*cdf0e10cSrcweir { 364*cdf0e10cSrcweir rAttrs.Put(aItem); 365*cdf0e10cSrcweir rAttrs.Put(aShadowItem); 366*cdf0e10cSrcweir bModified = sal_True; 367*cdf0e10cSrcweir bSwitchOffGradient = sal_True; 368*cdf0e10cSrcweir } 369*cdf0e10cSrcweir } 370*cdf0e10cSrcweir } 371*cdf0e10cSrcweir else if(aLbTrgrGradientType.IsEnabled()) 372*cdf0e10cSrcweir { 373*cdf0e10cSrcweir // transparence gradient, fill ItemSet from values 374*cdf0e10cSrcweir if(!bGradActive 375*cdf0e10cSrcweir || (XGradientStyle)aLbTrgrGradientType.GetSelectEntryPos() != (XGradientStyle)aLbTrgrGradientType.GetSavedValue() 376*cdf0e10cSrcweir || (sal_uInt16)aMtrTrgrAngle.GetValue() != (sal_uInt16)aMtrTrgrAngle.GetSavedValue().ToInt32() 377*cdf0e10cSrcweir || (sal_uInt16)aMtrTrgrCenterX.GetValue() != (sal_uInt16)aMtrTrgrCenterX.GetSavedValue().ToInt32() 378*cdf0e10cSrcweir || (sal_uInt16)aMtrTrgrCenterY.GetValue() != (sal_uInt16)aMtrTrgrCenterY.GetSavedValue().ToInt32() 379*cdf0e10cSrcweir || (sal_uInt16)aMtrTrgrBorder.GetValue() != (sal_uInt16)aMtrTrgrBorder.GetSavedValue().ToInt32() 380*cdf0e10cSrcweir || (sal_uInt16)aMtrTrgrStartValue.GetValue() != (sal_uInt16)aMtrTrgrStartValue.GetSavedValue().ToInt32() 381*cdf0e10cSrcweir || (sal_uInt16)aMtrTrgrEndValue.GetValue() != (sal_uInt16)aMtrTrgrEndValue.GetSavedValue().ToInt32() ) 382*cdf0e10cSrcweir { 383*cdf0e10cSrcweir sal_uInt8 nStartCol = (sal_uInt8)(((sal_uInt16)aMtrTrgrStartValue.GetValue() * 255) / 100); 384*cdf0e10cSrcweir sal_uInt8 nEndCol = (sal_uInt8)(((sal_uInt16)aMtrTrgrEndValue.GetValue() * 255) / 100); 385*cdf0e10cSrcweir XGradient aTmpGradient( 386*cdf0e10cSrcweir Color(nStartCol, nStartCol, nStartCol), 387*cdf0e10cSrcweir Color(nEndCol, nEndCol, nEndCol), 388*cdf0e10cSrcweir (XGradientStyle)aLbTrgrGradientType.GetSelectEntryPos(), 389*cdf0e10cSrcweir (sal_uInt16)aMtrTrgrAngle.GetValue() * 10, 390*cdf0e10cSrcweir (sal_uInt16)aMtrTrgrCenterX.GetValue(), 391*cdf0e10cSrcweir (sal_uInt16)aMtrTrgrCenterY.GetValue(), 392*cdf0e10cSrcweir (sal_uInt16)aMtrTrgrBorder.GetValue(), 393*cdf0e10cSrcweir 100, 100); 394*cdf0e10cSrcweir 395*cdf0e10cSrcweir String aString; 396*cdf0e10cSrcweir XFillFloatTransparenceItem aItem( rXFSet.GetPool()/*aString*/, aTmpGradient); 397*cdf0e10cSrcweir const SfxPoolItem* pOld = GetOldItem(rAttrs, XATTR_FILLFLOATTRANSPARENCE); 398*cdf0e10cSrcweir 399*cdf0e10cSrcweir if(!pOld || !(*(const XFillFloatTransparenceItem*)pOld == aItem) || !bGradActive) 400*cdf0e10cSrcweir { 401*cdf0e10cSrcweir rAttrs.Put(aItem); 402*cdf0e10cSrcweir bModified = sal_True; 403*cdf0e10cSrcweir bSwitchOffLinear = sal_True; 404*cdf0e10cSrcweir } 405*cdf0e10cSrcweir } 406*cdf0e10cSrcweir } 407*cdf0e10cSrcweir else 408*cdf0e10cSrcweir { 409*cdf0e10cSrcweir // no transparence 410*cdf0e10cSrcweir bSwitchOffGradient = sal_True; 411*cdf0e10cSrcweir bSwitchOffLinear = sal_True; 412*cdf0e10cSrcweir } 413*cdf0e10cSrcweir 414*cdf0e10cSrcweir // disable unused XFillFloatTransparenceItem 415*cdf0e10cSrcweir if(bSwitchOffGradient && (bGradActive || bGradUsed)) 416*cdf0e10cSrcweir { 417*cdf0e10cSrcweir Color aColor(COL_BLACK); 418*cdf0e10cSrcweir XGradient aGrad(aColor, Color(COL_WHITE)); 419*cdf0e10cSrcweir aGrad.SetStartIntens(100); 420*cdf0e10cSrcweir aGrad.SetEndIntens(100); 421*cdf0e10cSrcweir String aString; 422*cdf0e10cSrcweir XFillFloatTransparenceItem aItem( rXFSet.GetPool()/*aString*/, aGrad); 423*cdf0e10cSrcweir aItem.SetEnabled(sal_False); 424*cdf0e10cSrcweir rAttrs.Put(aItem); 425*cdf0e10cSrcweir bModified = sal_True; 426*cdf0e10cSrcweir } 427*cdf0e10cSrcweir 428*cdf0e10cSrcweir // disable unused XFillFloatTransparenceItem 429*cdf0e10cSrcweir if(bSwitchOffLinear && (bLinearActive || bLinearUsed)) 430*cdf0e10cSrcweir { 431*cdf0e10cSrcweir XFillTransparenceItem aItem(0); 432*cdf0e10cSrcweir SdrShadowTransparenceItem aShadowItem(0); 433*cdf0e10cSrcweir rAttrs.Put(aItem); 434*cdf0e10cSrcweir rAttrs.Put(aShadowItem); 435*cdf0e10cSrcweir bModified = sal_True; 436*cdf0e10cSrcweir } 437*cdf0e10cSrcweir //add CHINA001 begin 438*cdf0e10cSrcweir rAttrs.Put (CntUInt16Item(SID_PAGE_TYPE,nPageType)); 439*cdf0e10cSrcweir //add CHINA001 end 440*cdf0e10cSrcweir return bModified; 441*cdf0e10cSrcweir } 442*cdf0e10cSrcweir 443*cdf0e10cSrcweir void SvxTransparenceTabPage::Reset(const SfxItemSet& rAttrs) 444*cdf0e10cSrcweir { 445*cdf0e10cSrcweir const SfxPoolItem* pGradientItem = NULL; 446*cdf0e10cSrcweir SfxItemState eStateGradient(rAttrs.GetItemState(XATTR_FILLFLOATTRANSPARENCE, sal_True, &pGradientItem)); 447*cdf0e10cSrcweir if(!pGradientItem) 448*cdf0e10cSrcweir pGradientItem = &rAttrs.Get(XATTR_FILLFLOATTRANSPARENCE); 449*cdf0e10cSrcweir sal_Bool bGradActive = (eStateGradient == SFX_ITEM_SET && ((XFillFloatTransparenceItem*)pGradientItem)->IsEnabled()); 450*cdf0e10cSrcweir 451*cdf0e10cSrcweir const SfxPoolItem* pLinearItem = NULL; 452*cdf0e10cSrcweir SfxItemState eStateLinear(rAttrs.GetItemState(XATTR_FILLTRANSPARENCE, sal_True, &pLinearItem)); 453*cdf0e10cSrcweir if(!pLinearItem) 454*cdf0e10cSrcweir pLinearItem = &rAttrs.Get(XATTR_FILLTRANSPARENCE); 455*cdf0e10cSrcweir sal_Bool bLinearActive = (eStateLinear == SFX_ITEM_SET && ((XFillTransparenceItem*)pLinearItem)->GetValue() != 0); 456*cdf0e10cSrcweir 457*cdf0e10cSrcweir // transparence gradient 458*cdf0e10cSrcweir const XGradient& rGradient = ((XFillFloatTransparenceItem*)pGradientItem)->GetGradientValue(); 459*cdf0e10cSrcweir XGradientStyle eXGS(rGradient.GetGradientStyle()); 460*cdf0e10cSrcweir aLbTrgrGradientType.SelectEntryPos(sal::static_int_cast< sal_uInt16 >(eXGS)); 461*cdf0e10cSrcweir aMtrTrgrAngle.SetValue(rGradient.GetAngle() / 10); 462*cdf0e10cSrcweir aMtrTrgrBorder.SetValue(rGradient.GetBorder()); 463*cdf0e10cSrcweir aMtrTrgrCenterX.SetValue(rGradient.GetXOffset()); 464*cdf0e10cSrcweir aMtrTrgrCenterY.SetValue(rGradient.GetYOffset()); 465*cdf0e10cSrcweir aMtrTrgrStartValue.SetValue((sal_uInt16)((((sal_uInt16)rGradient.GetStartColor().GetRed() + 1) * 100) / 255)); 466*cdf0e10cSrcweir aMtrTrgrEndValue.SetValue((sal_uInt16)((((sal_uInt16)rGradient.GetEndColor().GetRed() + 1) * 100) / 255)); 467*cdf0e10cSrcweir 468*cdf0e10cSrcweir // linear transparence 469*cdf0e10cSrcweir sal_uInt16 nTransp = ((XFillTransparenceItem*)pLinearItem)->GetValue(); 470*cdf0e10cSrcweir aMtrTransparent.SetValue(bLinearActive ? nTransp : 50); 471*cdf0e10cSrcweir ModifyTransparentHdl_Impl(NULL); 472*cdf0e10cSrcweir 473*cdf0e10cSrcweir // select the correct radio button 474*cdf0e10cSrcweir if(bGradActive) 475*cdf0e10cSrcweir { 476*cdf0e10cSrcweir // transparence gradient, set controls appropriate to item 477*cdf0e10cSrcweir aRbtTransGradient.Check(); 478*cdf0e10cSrcweir ClickTransGradientHdl_Impl(NULL); 479*cdf0e10cSrcweir } 480*cdf0e10cSrcweir else if(bLinearActive) 481*cdf0e10cSrcweir { 482*cdf0e10cSrcweir // linear transparence 483*cdf0e10cSrcweir aRbtTransLinear.Check(); 484*cdf0e10cSrcweir ClickTransLinearHdl_Impl(NULL); 485*cdf0e10cSrcweir } 486*cdf0e10cSrcweir else 487*cdf0e10cSrcweir { 488*cdf0e10cSrcweir // no transparence 489*cdf0e10cSrcweir aRbtTransOff.Check(); 490*cdf0e10cSrcweir ClickTransOffHdl_Impl(NULL); 491*cdf0e10cSrcweir ModifiedTrgrHdl_Impl(NULL); 492*cdf0e10cSrcweir } 493*cdf0e10cSrcweir 494*cdf0e10cSrcweir // save values 495*cdf0e10cSrcweir aMtrTransparent.SaveValue(); 496*cdf0e10cSrcweir aLbTrgrGradientType.SaveValue(); 497*cdf0e10cSrcweir aMtrTrgrCenterX.SaveValue(); 498*cdf0e10cSrcweir aMtrTrgrCenterY.SaveValue(); 499*cdf0e10cSrcweir aMtrTrgrAngle.SaveValue(); 500*cdf0e10cSrcweir aMtrTrgrBorder.SaveValue(); 501*cdf0e10cSrcweir aMtrTrgrStartValue.SaveValue(); 502*cdf0e10cSrcweir aMtrTrgrEndValue.SaveValue(); 503*cdf0e10cSrcweir 504*cdf0e10cSrcweir sal_Bool bActive = InitPreview ( rAttrs ); 505*cdf0e10cSrcweir InvalidatePreview ( bActive ); 506*cdf0e10cSrcweir } 507*cdf0e10cSrcweir 508*cdf0e10cSrcweir void SvxTransparenceTabPage::ActivatePage(const SfxItemSet& rSet) 509*cdf0e10cSrcweir { 510*cdf0e10cSrcweir //add CHINA001 Begin 511*cdf0e10cSrcweir SFX_ITEMSET_ARG (&rSet,pPageTypeItem,CntUInt16Item,SID_PAGE_TYPE,sal_False); 512*cdf0e10cSrcweir if (pPageTypeItem) 513*cdf0e10cSrcweir SetPageType(pPageTypeItem->GetValue()); 514*cdf0e10cSrcweir //add CHINA001 end 515*cdf0e10cSrcweir //CHINA001 if(*pDlgType == 0) // Flaechen-Dialog 516*cdf0e10cSrcweir //CHINA001 *pPageType = PT_TRANSPARENCE; 517*cdf0e10cSrcweir if(nDlgType == 0) //add CHINA001 // Flaechen-Dialog 518*cdf0e10cSrcweir nPageType = PT_TRANSPARENCE; //add CHINA001 519*cdf0e10cSrcweir 520*cdf0e10cSrcweir InitPreview ( rSet ); 521*cdf0e10cSrcweir } 522*cdf0e10cSrcweir 523*cdf0e10cSrcweir int SvxTransparenceTabPage::DeactivatePage(SfxItemSet* _pSet) 524*cdf0e10cSrcweir { 525*cdf0e10cSrcweir if( _pSet ) 526*cdf0e10cSrcweir FillItemSet( *_pSet ); 527*cdf0e10cSrcweir return(LEAVE_PAGE); 528*cdf0e10cSrcweir } 529*cdf0e10cSrcweir 530*cdf0e10cSrcweir void SvxTransparenceTabPage::PointChanged(Window* , RECT_POINT eRcPt) 531*cdf0e10cSrcweir { 532*cdf0e10cSrcweir eRP = eRcPt; 533*cdf0e10cSrcweir } 534*cdf0e10cSrcweir 535*cdf0e10cSrcweir // 536*cdf0e10cSrcweir // Preview-Methods 537*cdf0e10cSrcweir // 538*cdf0e10cSrcweir sal_Bool SvxTransparenceTabPage::InitPreview ( const SfxItemSet& rSet ) 539*cdf0e10cSrcweir { 540*cdf0e10cSrcweir // set transparencetyp for preview 541*cdf0e10cSrcweir if ( aRbtTransOff.IsChecked() ) 542*cdf0e10cSrcweir { 543*cdf0e10cSrcweir ClickTransOffHdl_Impl(NULL); 544*cdf0e10cSrcweir } else if ( aRbtTransLinear.IsChecked() ) 545*cdf0e10cSrcweir { 546*cdf0e10cSrcweir ClickTransLinearHdl_Impl(NULL); 547*cdf0e10cSrcweir } else if ( aRbtTransGradient.IsChecked() ) 548*cdf0e10cSrcweir { 549*cdf0e10cSrcweir ClickTransGradientHdl_Impl(NULL); 550*cdf0e10cSrcweir } 551*cdf0e10cSrcweir 552*cdf0e10cSrcweir // Get fillstyle for preview 553*cdf0e10cSrcweir rXFSet.Put ( ( XFillStyleItem& ) rSet.Get(XATTR_FILLSTYLE) ); 554*cdf0e10cSrcweir rXFSet.Put ( ( XFillColorItem& ) rSet.Get(XATTR_FILLCOLOR) ); 555*cdf0e10cSrcweir rXFSet.Put ( ( XFillGradientItem& ) rSet.Get(XATTR_FILLGRADIENT) ); 556*cdf0e10cSrcweir rXFSet.Put ( ( XFillHatchItem& ) rSet.Get(XATTR_FILLHATCH) ); 557*cdf0e10cSrcweir rXFSet.Put ( ( XFillBackgroundItem&)rSet.Get(XATTR_FILLBACKGROUND) ); 558*cdf0e10cSrcweir rXFSet.Put ( ( XFillBitmapItem& ) rSet.Get(XATTR_FILLBITMAP) ); 559*cdf0e10cSrcweir 560*cdf0e10cSrcweir aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() ); 561*cdf0e10cSrcweir aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() ); 562*cdf0e10cSrcweir 563*cdf0e10cSrcweir bBitmap = ( ( ( XFillStyleItem& )rSet.Get(XATTR_FILLSTYLE) ).GetValue() == XFILL_BITMAP ); 564*cdf0e10cSrcweir 565*cdf0e10cSrcweir // show the right preview window 566*cdf0e10cSrcweir if ( bBitmap ) 567*cdf0e10cSrcweir { 568*cdf0e10cSrcweir aCtlBitmapPreview.Show(); 569*cdf0e10cSrcweir aCtlXRectPreview.Hide(); 570*cdf0e10cSrcweir } 571*cdf0e10cSrcweir else 572*cdf0e10cSrcweir { 573*cdf0e10cSrcweir aCtlBitmapPreview.Hide(); 574*cdf0e10cSrcweir aCtlXRectPreview.Show(); 575*cdf0e10cSrcweir } 576*cdf0e10cSrcweir 577*cdf0e10cSrcweir return !aRbtTransOff.IsChecked(); 578*cdf0e10cSrcweir } 579*cdf0e10cSrcweir 580*cdf0e10cSrcweir void SvxTransparenceTabPage::InvalidatePreview (sal_Bool bEnable) 581*cdf0e10cSrcweir { 582*cdf0e10cSrcweir if ( bBitmap ) 583*cdf0e10cSrcweir { 584*cdf0e10cSrcweir if ( bEnable ) 585*cdf0e10cSrcweir { 586*cdf0e10cSrcweir aCtlBitmapPreview.Enable(); 587*cdf0e10cSrcweir aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() ); 588*cdf0e10cSrcweir } 589*cdf0e10cSrcweir else 590*cdf0e10cSrcweir aCtlBitmapPreview.Disable(); 591*cdf0e10cSrcweir aCtlBitmapPreview.Invalidate(); 592*cdf0e10cSrcweir } 593*cdf0e10cSrcweir else 594*cdf0e10cSrcweir { 595*cdf0e10cSrcweir if ( bEnable ) 596*cdf0e10cSrcweir { 597*cdf0e10cSrcweir aCtlXRectPreview.Enable(); 598*cdf0e10cSrcweir aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() ); 599*cdf0e10cSrcweir } 600*cdf0e10cSrcweir else 601*cdf0e10cSrcweir aCtlXRectPreview.Disable(); 602*cdf0e10cSrcweir aCtlXRectPreview.Invalidate(); 603*cdf0e10cSrcweir } 604*cdf0e10cSrcweir } 605*cdf0e10cSrcweir 606*cdf0e10cSrcweir void SvxTransparenceTabPage::PageCreated (SfxAllItemSet aSet) //add CHINA001 607*cdf0e10cSrcweir { 608*cdf0e10cSrcweir SFX_ITEMSET_ARG (&aSet,pPageTypeItem,SfxUInt16Item,SID_PAGE_TYPE,sal_False); 609*cdf0e10cSrcweir SFX_ITEMSET_ARG (&aSet,pDlgTypeItem,SfxUInt16Item,SID_DLG_TYPE,sal_False); 610*cdf0e10cSrcweir 611*cdf0e10cSrcweir if (pPageTypeItem) 612*cdf0e10cSrcweir SetPageType(pPageTypeItem->GetValue()); 613*cdf0e10cSrcweir if (pDlgTypeItem) 614*cdf0e10cSrcweir SetDlgType(pDlgTypeItem->GetValue()); 615*cdf0e10cSrcweir Construct(); 616*cdf0e10cSrcweir } 617*cdf0e10cSrcweir /************************************************************************* 618*cdf0e10cSrcweir |* 619*cdf0e10cSrcweir |* Dialog to modify fill-attributes 620*cdf0e10cSrcweir |* 621*cdf0e10cSrcweir \************************************************************************/ 622*cdf0e10cSrcweir 623*cdf0e10cSrcweir SvxAreaTabPage::SvxAreaTabPage( Window* pParent, const SfxItemSet& rInAttrs ) : 624*cdf0e10cSrcweir 625*cdf0e10cSrcweir SvxTabPage ( pParent, CUI_RES( RID_SVXPAGE_AREA ), rInAttrs ), 626*cdf0e10cSrcweir 627*cdf0e10cSrcweir aFlProp ( this, CUI_RES( FL_PROP ) ), 628*cdf0e10cSrcweir aTypeLB ( this, CUI_RES( LB_AREA_TYPE ) ), 629*cdf0e10cSrcweir 630*cdf0e10cSrcweir aLbColor ( this, CUI_RES( LB_COLOR ) ), 631*cdf0e10cSrcweir aLbGradient ( this, CUI_RES( LB_GRADIENT ) ), 632*cdf0e10cSrcweir aLbHatching ( this, CUI_RES( LB_HATCHING ) ), 633*cdf0e10cSrcweir aLbBitmap ( this, CUI_RES( LB_BITMAP ) ), 634*cdf0e10cSrcweir aCtlBitmapPreview ( this, CUI_RES( CTL_BITMAP_PREVIEW ) ), 635*cdf0e10cSrcweir 636*cdf0e10cSrcweir aTsbStepCount ( this, CUI_RES( TSB_STEPCOUNT ) ), 637*cdf0e10cSrcweir aFlStepCount ( this, CUI_RES( FL_STEPCOUNT ) ), 638*cdf0e10cSrcweir aNumFldStepCount ( this, CUI_RES( NUM_FLD_STEPCOUNT ) ), 639*cdf0e10cSrcweir 640*cdf0e10cSrcweir aCbxHatchBckgrd ( this, CUI_RES( CB_HATCHBCKGRD ) ), 641*cdf0e10cSrcweir aLbHatchBckgrdColor ( this, CUI_RES( LB_HATCHBCKGRDCOLOR ) ), 642*cdf0e10cSrcweir 643*cdf0e10cSrcweir aFlSize ( this, CUI_RES( FL_SIZE ) ), 644*cdf0e10cSrcweir aTsbOriginal ( this, CUI_RES( TSB_ORIGINAL ) ), 645*cdf0e10cSrcweir aTsbScale ( this, CUI_RES( TSB_SCALE ) ), 646*cdf0e10cSrcweir aFtXSize ( this, CUI_RES( FT_X_SIZE ) ), 647*cdf0e10cSrcweir aMtrFldXSize ( this, CUI_RES( MTR_FLD_X_SIZE ) ), 648*cdf0e10cSrcweir aFtYSize ( this, CUI_RES( FT_Y_SIZE ) ), 649*cdf0e10cSrcweir aMtrFldYSize ( this, CUI_RES( MTR_FLD_Y_SIZE ) ), 650*cdf0e10cSrcweir aFlPosition ( this, CUI_RES( FL_POSITION ) ), 651*cdf0e10cSrcweir aCtlPosition ( this, CUI_RES( CTL_POSITION ), RP_RM, 110, 80, CS_RECT ), 652*cdf0e10cSrcweir aFtXOffset ( this, CUI_RES( FT_X_OFFSET ) ), 653*cdf0e10cSrcweir aMtrFldXOffset ( this, CUI_RES( MTR_FLD_X_OFFSET ) ), 654*cdf0e10cSrcweir aFtYOffset ( this, CUI_RES( FT_Y_OFFSET ) ), 655*cdf0e10cSrcweir aMtrFldYOffset ( this, CUI_RES( MTR_FLD_Y_OFFSET ) ), 656*cdf0e10cSrcweir aTsbTile ( this, CUI_RES( TSB_TILE ) ), 657*cdf0e10cSrcweir aTsbStretch ( this, CUI_RES( TSB_STRETCH ) ), 658*cdf0e10cSrcweir aFlOffset ( this, CUI_RES( FL_OFFSET ) ), 659*cdf0e10cSrcweir aRbtRow ( this, CUI_RES( RBT_ROW ) ), 660*cdf0e10cSrcweir aRbtColumn ( this, CUI_RES( RBT_COLUMN ) ), 661*cdf0e10cSrcweir aMtrFldOffset ( this, CUI_RES( MTR_FLD_OFFSET ) ), 662*cdf0e10cSrcweir 663*cdf0e10cSrcweir aCtlXRectPreview ( this, CUI_RES( CTL_COLOR_PREVIEW ) ), 664*cdf0e10cSrcweir 665*cdf0e10cSrcweir rOutAttrs ( rInAttrs ), 666*cdf0e10cSrcweir 667*cdf0e10cSrcweir pColorTab( NULL ), 668*cdf0e10cSrcweir pGradientList( NULL ), 669*cdf0e10cSrcweir pHatchingList( NULL ), 670*cdf0e10cSrcweir pBitmapList( NULL ), 671*cdf0e10cSrcweir 672*cdf0e10cSrcweir pXPool ( (XOutdevItemPool*) rInAttrs.GetPool() ), 673*cdf0e10cSrcweir aXFillAttr ( pXPool ), 674*cdf0e10cSrcweir rXFSet ( aXFillAttr.GetItemSet() ) 675*cdf0e10cSrcweir { 676*cdf0e10cSrcweir FreeResource(); 677*cdf0e10cSrcweir 678*cdf0e10cSrcweir String accName = String(CUI_RES(STR_EXAMPLE)); 679*cdf0e10cSrcweir aCtlXRectPreview.SetAccessibleName(accName); 680*cdf0e10cSrcweir aCtlBitmapPreview.SetAccessibleName(accName); 681*cdf0e10cSrcweir 682*cdf0e10cSrcweir // Gruppen, die sich ueberlagern 683*cdf0e10cSrcweir aLbBitmap.Hide(); 684*cdf0e10cSrcweir aCtlBitmapPreview.Hide(); 685*cdf0e10cSrcweir 686*cdf0e10cSrcweir aFlStepCount.Hide(); 687*cdf0e10cSrcweir aTsbStepCount.Hide(); 688*cdf0e10cSrcweir aNumFldStepCount.Hide(); 689*cdf0e10cSrcweir 690*cdf0e10cSrcweir aTsbTile.Hide(); 691*cdf0e10cSrcweir aTsbStretch.Hide(); 692*cdf0e10cSrcweir aTsbScale.Hide(); 693*cdf0e10cSrcweir aTsbOriginal.Hide(); 694*cdf0e10cSrcweir aFtXSize.Hide(); 695*cdf0e10cSrcweir aMtrFldXSize.Hide(); 696*cdf0e10cSrcweir aFtYSize.Hide(); 697*cdf0e10cSrcweir aMtrFldYSize.Hide(); 698*cdf0e10cSrcweir aFlSize.Hide(); 699*cdf0e10cSrcweir aRbtRow.Hide(); 700*cdf0e10cSrcweir aRbtColumn.Hide(); 701*cdf0e10cSrcweir aMtrFldOffset.Hide(); 702*cdf0e10cSrcweir aFlOffset.Hide(); 703*cdf0e10cSrcweir aCtlPosition.Hide(); 704*cdf0e10cSrcweir aFtXOffset.Hide(); 705*cdf0e10cSrcweir aMtrFldXOffset.Hide(); 706*cdf0e10cSrcweir aFtYOffset.Hide(); 707*cdf0e10cSrcweir aMtrFldYOffset.Hide(); 708*cdf0e10cSrcweir aFlPosition.Hide(); 709*cdf0e10cSrcweir // Controls for Hatch-Background 710*cdf0e10cSrcweir aCbxHatchBckgrd.Hide(); 711*cdf0e10cSrcweir aLbHatchBckgrdColor.Hide(); 712*cdf0e10cSrcweir 713*cdf0e10cSrcweir 714*cdf0e10cSrcweir aTsbOriginal.EnableTriState( sal_False ); 715*cdf0e10cSrcweir 716*cdf0e10cSrcweir 717*cdf0e10cSrcweir // this page needs ExchangeSupport 718*cdf0e10cSrcweir SetExchangeSupport(); 719*cdf0e10cSrcweir 720*cdf0e10cSrcweir // set Metrics 721*cdf0e10cSrcweir eFUnit = GetModuleFieldUnit( rInAttrs ); 722*cdf0e10cSrcweir 723*cdf0e10cSrcweir switch ( eFUnit ) 724*cdf0e10cSrcweir { 725*cdf0e10cSrcweir case FUNIT_M: 726*cdf0e10cSrcweir case FUNIT_KM: 727*cdf0e10cSrcweir eFUnit = FUNIT_MM; 728*cdf0e10cSrcweir break; 729*cdf0e10cSrcweir default: ;//prevent warning 730*cdf0e10cSrcweir } 731*cdf0e10cSrcweir SetFieldUnit( aMtrFldXSize, eFUnit, sal_True ); 732*cdf0e10cSrcweir SetFieldUnit( aMtrFldYSize, eFUnit, sal_True ); 733*cdf0e10cSrcweir 734*cdf0e10cSrcweir // get PoolUnit 735*cdf0e10cSrcweir SfxItemPool* pPool = rOutAttrs.GetPool(); 736*cdf0e10cSrcweir DBG_ASSERT( pPool, "Wo ist der Pool?" ); 737*cdf0e10cSrcweir ePoolUnit = pPool->GetMetric( XATTR_FILLBMP_SIZEX ); 738*cdf0e10cSrcweir 739*cdf0e10cSrcweir // Setzen Output-Devices 740*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_SOLID ) ); 741*cdf0e10cSrcweir rXFSet.Put( XFillColorItem( String(), COL_BLACK ) ); 742*cdf0e10cSrcweir aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() ); 743*cdf0e10cSrcweir aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() ); 744*cdf0e10cSrcweir 745*cdf0e10cSrcweir aLbColor.SetSelectHdl( LINK( this, SvxAreaTabPage, ModifyColorHdl_Impl ) ); 746*cdf0e10cSrcweir aLbHatchBckgrdColor.SetSelectHdl( LINK( this, SvxAreaTabPage, ModifyHatchBckgrdColorHdl_Impl ) ); 747*cdf0e10cSrcweir aCbxHatchBckgrd.SetToggleHdl( LINK( this, SvxAreaTabPage, ToggleHatchBckgrdColorHdl_Impl ) ); 748*cdf0e10cSrcweir 749*cdf0e10cSrcweir aLbGradient.SetSelectHdl( 750*cdf0e10cSrcweir LINK( this, SvxAreaTabPage, ModifyGradientHdl_Impl ) ); 751*cdf0e10cSrcweir aLbHatching.SetSelectHdl( 752*cdf0e10cSrcweir LINK( this, SvxAreaTabPage, ModifyHatchingHdl_Impl ) ); 753*cdf0e10cSrcweir aLbBitmap.SetSelectHdl( 754*cdf0e10cSrcweir LINK( this, SvxAreaTabPage, ModifyBitmapHdl_Impl ) ); 755*cdf0e10cSrcweir 756*cdf0e10cSrcweir aTsbStepCount.SetClickHdl( 757*cdf0e10cSrcweir LINK( this, SvxAreaTabPage, ModifyStepCountHdl_Impl ) ); 758*cdf0e10cSrcweir aNumFldStepCount.SetModifyHdl( 759*cdf0e10cSrcweir LINK( this, SvxAreaTabPage, ModifyStepCountHdl_Impl ) ); 760*cdf0e10cSrcweir 761*cdf0e10cSrcweir Link aLink( LINK( this, SvxAreaTabPage, ModifyTileHdl_Impl ) ); 762*cdf0e10cSrcweir aTsbTile.SetClickHdl( aLink ); 763*cdf0e10cSrcweir aTsbStretch.SetClickHdl( aLink ); 764*cdf0e10cSrcweir aTsbOriginal.SetClickHdl( aLink ); 765*cdf0e10cSrcweir aMtrFldXSize.SetModifyHdl( aLink ); 766*cdf0e10cSrcweir aMtrFldYSize.SetModifyHdl( aLink ); 767*cdf0e10cSrcweir aRbtRow.SetClickHdl( aLink ); 768*cdf0e10cSrcweir aRbtColumn.SetClickHdl( aLink ); 769*cdf0e10cSrcweir aMtrFldOffset.SetModifyHdl( aLink ); 770*cdf0e10cSrcweir aMtrFldXOffset.SetModifyHdl( aLink ); 771*cdf0e10cSrcweir aMtrFldYOffset.SetModifyHdl( aLink ); 772*cdf0e10cSrcweir aTsbScale.SetClickHdl( LINK( this, SvxAreaTabPage, ClickScaleHdl_Impl ) ); 773*cdf0e10cSrcweir 774*cdf0e10cSrcweir aTypeLB.SetSelectHdl( LINK( this, SvxAreaTabPage, SelectDialogTypeHdl_Impl ) ); 775*cdf0e10cSrcweir 776*cdf0e10cSrcweir // #i76307# always paint the preview in LTR, because this is what the document does 777*cdf0e10cSrcweir aCtlXRectPreview.EnableRTL(sal_False); 778*cdf0e10cSrcweir 779*cdf0e10cSrcweir aNumFldStepCount.SetAccessibleRelationLabeledBy( &aTsbStepCount ); 780*cdf0e10cSrcweir aCtlPosition.SetAccessibleRelationMemberOf( &aFlPosition ); 781*cdf0e10cSrcweir aLbHatchBckgrdColor.SetAccessibleRelationLabeledBy( &aCbxHatchBckgrd ); 782*cdf0e10cSrcweir aLbHatchBckgrdColor.SetAccessibleName(aCbxHatchBckgrd.GetText()); 783*cdf0e10cSrcweir 784*cdf0e10cSrcweir aLbColor.SetAccessibleRelationMemberOf( &aFlProp ); 785*cdf0e10cSrcweir aMtrFldOffset.SetAccessibleRelationLabeledBy(&aFlOffset); 786*cdf0e10cSrcweir aMtrFldOffset.SetAccessibleName(aFlOffset.GetText()); 787*cdf0e10cSrcweir } 788*cdf0e10cSrcweir 789*cdf0e10cSrcweir // ----------------------------------------------------------------------- 790*cdf0e10cSrcweir 791*cdf0e10cSrcweir void SvxAreaTabPage::Construct() 792*cdf0e10cSrcweir { 793*cdf0e10cSrcweir // fill colortables / lists 794*cdf0e10cSrcweir aLbColor.Fill( pColorTab ); 795*cdf0e10cSrcweir aLbHatchBckgrdColor.Fill ( pColorTab ); 796*cdf0e10cSrcweir 797*cdf0e10cSrcweir aLbGradient.Fill( pGradientList ); 798*cdf0e10cSrcweir aLbHatching.Fill( pHatchingList ); 799*cdf0e10cSrcweir aLbBitmap.Fill( pBitmapList ); 800*cdf0e10cSrcweir } 801*cdf0e10cSrcweir 802*cdf0e10cSrcweir // ----------------------------------------------------------------------- 803*cdf0e10cSrcweir 804*cdf0e10cSrcweir void SvxAreaTabPage::ActivatePage( const SfxItemSet& rSet ) 805*cdf0e10cSrcweir { 806*cdf0e10cSrcweir sal_uInt16 _nPos = 0; 807*cdf0e10cSrcweir sal_uInt16 nCount; 808*cdf0e10cSrcweir //add CHINA001 Begin 809*cdf0e10cSrcweir SFX_ITEMSET_ARG (&rSet,pPageTypeItem,SfxUInt16Item,SID_PAGE_TYPE,sal_False); 810*cdf0e10cSrcweir SFX_ITEMSET_ARG (&rSet,pPosItem,SfxUInt16Item,SID_TABPAGE_POS,sal_False); 811*cdf0e10cSrcweir if (pPageTypeItem) 812*cdf0e10cSrcweir SetPageType(pPageTypeItem->GetValue()); 813*cdf0e10cSrcweir if (pPosItem) 814*cdf0e10cSrcweir SetPos(pPosItem->GetValue()); 815*cdf0e10cSrcweir //add CHINA001 end 816*cdf0e10cSrcweir if( nDlgType == 0 )//CHINA001 if( *pDlgType == 0 ) // Flaechen-Dialog 817*cdf0e10cSrcweir { 818*cdf0e10cSrcweir *pbAreaTP = sal_True; 819*cdf0e10cSrcweir 820*cdf0e10cSrcweir if( pColorTab ) 821*cdf0e10cSrcweir { 822*cdf0e10cSrcweir // Bitmapliste 823*cdf0e10cSrcweir if( *pnBitmapListState ) 824*cdf0e10cSrcweir { 825*cdf0e10cSrcweir if( *pnBitmapListState & CT_CHANGED ) 826*cdf0e10cSrcweir pBitmapList = ( (SvxAreaTabDialog*) DLGWIN )-> 827*cdf0e10cSrcweir GetNewBitmapList(); 828*cdf0e10cSrcweir 829*cdf0e10cSrcweir _nPos = aLbBitmap.GetSelectEntryPos(); 830*cdf0e10cSrcweir 831*cdf0e10cSrcweir aLbBitmap.Clear(); 832*cdf0e10cSrcweir aLbBitmap.Fill( pBitmapList ); 833*cdf0e10cSrcweir nCount = aLbBitmap.GetEntryCount(); 834*cdf0e10cSrcweir if( nCount == 0 ) 835*cdf0e10cSrcweir ; // This case should never occur 836*cdf0e10cSrcweir else if( nCount <= _nPos ) 837*cdf0e10cSrcweir aLbBitmap.SelectEntryPos( 0 ); 838*cdf0e10cSrcweir else 839*cdf0e10cSrcweir aLbBitmap.SelectEntryPos( _nPos ); 840*cdf0e10cSrcweir ModifyBitmapHdl_Impl( this ); 841*cdf0e10cSrcweir } 842*cdf0e10cSrcweir // hatch-liste 843*cdf0e10cSrcweir if( *pnHatchingListState ) 844*cdf0e10cSrcweir { 845*cdf0e10cSrcweir if( *pnHatchingListState & CT_CHANGED ) 846*cdf0e10cSrcweir pHatchingList = ( (SvxAreaTabDialog*) DLGWIN )-> 847*cdf0e10cSrcweir GetNewHatchingList(); 848*cdf0e10cSrcweir 849*cdf0e10cSrcweir _nPos = aLbHatching.GetSelectEntryPos(); 850*cdf0e10cSrcweir 851*cdf0e10cSrcweir aLbHatching.Clear(); 852*cdf0e10cSrcweir aLbHatching.Fill( pHatchingList ); 853*cdf0e10cSrcweir nCount = aLbHatching.GetEntryCount(); 854*cdf0e10cSrcweir if( nCount == 0 ) 855*cdf0e10cSrcweir ; // This case should never occur 856*cdf0e10cSrcweir else if( nCount <= _nPos ) 857*cdf0e10cSrcweir aLbHatching.SelectEntryPos( 0 ); 858*cdf0e10cSrcweir else 859*cdf0e10cSrcweir aLbHatching.SelectEntryPos( _nPos ); 860*cdf0e10cSrcweir ModifyHatchingHdl_Impl( this ); 861*cdf0e10cSrcweir 862*cdf0e10cSrcweir ModifyHatchBckgrdColorHdl_Impl( this ); 863*cdf0e10cSrcweir } 864*cdf0e10cSrcweir // gradient-liste 865*cdf0e10cSrcweir if( *pnGradientListState ) 866*cdf0e10cSrcweir { 867*cdf0e10cSrcweir if( *pnGradientListState & CT_CHANGED ) 868*cdf0e10cSrcweir pGradientList = ( (SvxAreaTabDialog*) DLGWIN )-> 869*cdf0e10cSrcweir GetNewGradientList(); 870*cdf0e10cSrcweir 871*cdf0e10cSrcweir _nPos = aLbGradient.GetSelectEntryPos(); 872*cdf0e10cSrcweir 873*cdf0e10cSrcweir aLbGradient.Clear(); 874*cdf0e10cSrcweir aLbGradient.Fill( pGradientList ); 875*cdf0e10cSrcweir nCount = aLbGradient.GetEntryCount(); 876*cdf0e10cSrcweir if( nCount == 0 ) 877*cdf0e10cSrcweir ; // This case should never occur 878*cdf0e10cSrcweir else if( nCount <= _nPos ) 879*cdf0e10cSrcweir aLbGradient.SelectEntryPos( 0 ); 880*cdf0e10cSrcweir else 881*cdf0e10cSrcweir aLbGradient.SelectEntryPos( _nPos ); 882*cdf0e10cSrcweir ModifyGradientHdl_Impl( this ); 883*cdf0e10cSrcweir } 884*cdf0e10cSrcweir // ColorTable 885*cdf0e10cSrcweir if( *pnColorTableState ) 886*cdf0e10cSrcweir { 887*cdf0e10cSrcweir if( *pnColorTableState & CT_CHANGED ) 888*cdf0e10cSrcweir pColorTab = ( (SvxAreaTabDialog*) DLGWIN )-> 889*cdf0e10cSrcweir GetNewColorTable(); 890*cdf0e10cSrcweir // aLbColor 891*cdf0e10cSrcweir _nPos = aLbColor.GetSelectEntryPos(); 892*cdf0e10cSrcweir aLbColor.Clear(); 893*cdf0e10cSrcweir aLbColor.Fill( pColorTab ); 894*cdf0e10cSrcweir nCount = aLbColor.GetEntryCount(); 895*cdf0e10cSrcweir if( nCount == 0 ) 896*cdf0e10cSrcweir ; // This case should never occur 897*cdf0e10cSrcweir else if( nCount <= _nPos ) 898*cdf0e10cSrcweir aLbColor.SelectEntryPos( 0 ); 899*cdf0e10cSrcweir else 900*cdf0e10cSrcweir aLbColor.SelectEntryPos( _nPos ); 901*cdf0e10cSrcweir 902*cdf0e10cSrcweir ModifyColorHdl_Impl( this ); 903*cdf0e10cSrcweir 904*cdf0e10cSrcweir // Backgroundcolor of hatch 905*cdf0e10cSrcweir _nPos = aLbHatchBckgrdColor.GetSelectEntryPos(); 906*cdf0e10cSrcweir aLbHatchBckgrdColor.Clear(); 907*cdf0e10cSrcweir aLbHatchBckgrdColor.Fill( pColorTab ); 908*cdf0e10cSrcweir nCount = aLbHatchBckgrdColor.GetEntryCount(); 909*cdf0e10cSrcweir if( nCount == 0 ) 910*cdf0e10cSrcweir ; // This case should never occur 911*cdf0e10cSrcweir else if( nCount <= _nPos ) 912*cdf0e10cSrcweir aLbHatchBckgrdColor.SelectEntryPos( 0 ); 913*cdf0e10cSrcweir else 914*cdf0e10cSrcweir aLbHatchBckgrdColor.SelectEntryPos( _nPos ); 915*cdf0e10cSrcweir 916*cdf0e10cSrcweir ModifyHatchBckgrdColorHdl_Impl( this ); 917*cdf0e10cSrcweir } 918*cdf0e10cSrcweir 919*cdf0e10cSrcweir // evaluate if any other Tabpage set another filltype 920*cdf0e10cSrcweir if( aTypeLB.GetSelectEntryPos() > XFILL_NONE) 921*cdf0e10cSrcweir { 922*cdf0e10cSrcweir switch( nPageType )//CHINA001 switch( *pPageType ) 923*cdf0e10cSrcweir { 924*cdf0e10cSrcweir case PT_GRADIENT: 925*cdf0e10cSrcweir aTypeLB.SelectEntryPos( XFILL_GRADIENT ); 926*cdf0e10cSrcweir aLbGradient.SelectEntryPos( _nPos );//CHINA001 aLbGradient.SelectEntryPos( *pPos ); 927*cdf0e10cSrcweir ClickGradientHdl_Impl( this ); 928*cdf0e10cSrcweir break; 929*cdf0e10cSrcweir 930*cdf0e10cSrcweir case PT_HATCH: 931*cdf0e10cSrcweir aTypeLB.SelectEntryPos( XFILL_HATCH ); 932*cdf0e10cSrcweir aLbHatching.SelectEntryPos( _nPos );//CHINA001 aLbHatching.SelectEntryPos( *pPos ); 933*cdf0e10cSrcweir ClickHatchingHdl_Impl( this ); 934*cdf0e10cSrcweir break; 935*cdf0e10cSrcweir 936*cdf0e10cSrcweir case PT_BITMAP: 937*cdf0e10cSrcweir aTypeLB.SelectEntryPos( XFILL_BITMAP ); 938*cdf0e10cSrcweir aLbBitmap.SelectEntryPos( _nPos );//CHINA001 aLbBitmap.SelectEntryPos( *pPos ); 939*cdf0e10cSrcweir ClickBitmapHdl_Impl( this ); 940*cdf0e10cSrcweir break; 941*cdf0e10cSrcweir 942*cdf0e10cSrcweir case PT_COLOR: 943*cdf0e10cSrcweir aTypeLB.SelectEntryPos( XFILL_SOLID ); 944*cdf0e10cSrcweir aLbColor.SelectEntryPos( _nPos );//CHINA001 aLbColor.SelectEntryPos( *pPos ); 945*cdf0e10cSrcweir aLbHatchBckgrdColor.SelectEntryPos( _nPos ); //CHINA001 aLbHatchBckgrdColor.SelectEntryPos( *pPos ); 946*cdf0e10cSrcweir ClickColorHdl_Impl( this ); 947*cdf0e10cSrcweir break; 948*cdf0e10cSrcweir } 949*cdf0e10cSrcweir } 950*cdf0e10cSrcweir nPageType = PT_AREA;//CHINA001 *pPageType = PT_AREA; 951*cdf0e10cSrcweir } 952*cdf0e10cSrcweir } 953*cdf0e10cSrcweir } 954*cdf0e10cSrcweir 955*cdf0e10cSrcweir // ----------------------------------------------------------------------- 956*cdf0e10cSrcweir 957*cdf0e10cSrcweir int SvxAreaTabPage::DeactivatePage( SfxItemSet* _pSet ) 958*cdf0e10cSrcweir { 959*cdf0e10cSrcweir if( nDlgType == 0 ) // Flaechen-Dialog//CHINA001 if( *pDlgType == 0 ) // Flaechen-Dialog 960*cdf0e10cSrcweir { 961*cdf0e10cSrcweir XFillStyle eStyle = (XFillStyle) aTypeLB.GetSelectEntryPos(); 962*cdf0e10cSrcweir switch( eStyle ) 963*cdf0e10cSrcweir { 964*cdf0e10cSrcweir case XFILL_GRADIENT: 965*cdf0e10cSrcweir { 966*cdf0e10cSrcweir nPageType = PT_GRADIENT;//CHINA001 *pPageType = PT_GRADIENT; 967*cdf0e10cSrcweir nPos = aLbGradient.GetSelectEntryPos();//CHINA001 *pPos = aLbGradient.GetSelectEntryPos(); 968*cdf0e10cSrcweir } 969*cdf0e10cSrcweir break; 970*cdf0e10cSrcweir case XFILL_HATCH: 971*cdf0e10cSrcweir { 972*cdf0e10cSrcweir nPageType = PT_HATCH;//CHINA001 *pPageType = PT_HATCH; 973*cdf0e10cSrcweir nPos = aLbHatching.GetSelectEntryPos();//CHINA001 *pPos = aLbHatching.GetSelectEntryPos(); 974*cdf0e10cSrcweir } 975*cdf0e10cSrcweir break; 976*cdf0e10cSrcweir case XFILL_BITMAP: 977*cdf0e10cSrcweir { 978*cdf0e10cSrcweir nPageType = PT_BITMAP;//CHINA001 *pPageType = PT_BITMAP; 979*cdf0e10cSrcweir nPos = aLbBitmap.GetSelectEntryPos();//CHINA001 *pPos = aLbBitmap.GetSelectEntryPos(); 980*cdf0e10cSrcweir } 981*cdf0e10cSrcweir break; 982*cdf0e10cSrcweir case XFILL_SOLID: 983*cdf0e10cSrcweir { 984*cdf0e10cSrcweir nPageType = PT_COLOR;//CHINA001 *pPageType = PT_COLOR; 985*cdf0e10cSrcweir nPos = aLbColor.GetSelectEntryPos();//CHINA001 *pPos = aLbColor.GetSelectEntryPos(); 986*cdf0e10cSrcweir } 987*cdf0e10cSrcweir break; 988*cdf0e10cSrcweir default: ;//prevent warning 989*cdf0e10cSrcweir } 990*cdf0e10cSrcweir } 991*cdf0e10cSrcweir 992*cdf0e10cSrcweir if( _pSet ) 993*cdf0e10cSrcweir FillItemSet( *_pSet ); 994*cdf0e10cSrcweir 995*cdf0e10cSrcweir return( LEAVE_PAGE ); 996*cdf0e10cSrcweir } 997*cdf0e10cSrcweir 998*cdf0e10cSrcweir // ----------------------------------------------------------------------- 999*cdf0e10cSrcweir 1000*cdf0e10cSrcweir sal_Bool SvxAreaTabPage::FillItemSet( SfxItemSet& rAttrs ) 1001*cdf0e10cSrcweir { 1002*cdf0e10cSrcweir const SfxPoolItem* pOld = NULL; 1003*cdf0e10cSrcweir sal_uInt16 _nPos; 1004*cdf0e10cSrcweir sal_Bool bModified = sal_False; 1005*cdf0e10cSrcweir 1006*cdf0e10cSrcweir if( nDlgType != 0 || *pbAreaTP )//CHINA001 if( *pDlgType != 0 || *pbAreaTP ) 1007*cdf0e10cSrcweir { 1008*cdf0e10cSrcweir XFillStyle eStyle = (XFillStyle) aTypeLB.GetSelectEntryPos(); 1009*cdf0e10cSrcweir XFillStyle eSavedStyle = (XFillStyle) aTypeLB.GetSavedValue(); 1010*cdf0e10cSrcweir switch( eStyle ) 1011*cdf0e10cSrcweir { 1012*cdf0e10cSrcweir case XFILL_NONE: 1013*cdf0e10cSrcweir { 1014*cdf0e10cSrcweir if( eSavedStyle != eStyle ) 1015*cdf0e10cSrcweir { 1016*cdf0e10cSrcweir XFillStyleItem aStyleItem( XFILL_NONE ); 1017*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLSTYLE ); 1018*cdf0e10cSrcweir if ( !pOld || !( *(const XFillStyleItem*)pOld == aStyleItem ) ) 1019*cdf0e10cSrcweir { 1020*cdf0e10cSrcweir rAttrs.Put( aStyleItem ); 1021*cdf0e10cSrcweir bModified = sal_True; 1022*cdf0e10cSrcweir } 1023*cdf0e10cSrcweir } 1024*cdf0e10cSrcweir } 1025*cdf0e10cSrcweir break; 1026*cdf0e10cSrcweir case XFILL_SOLID: 1027*cdf0e10cSrcweir { 1028*cdf0e10cSrcweir _nPos = aLbColor.GetSelectEntryPos(); 1029*cdf0e10cSrcweir if( _nPos != LISTBOX_ENTRY_NOTFOUND && 1030*cdf0e10cSrcweir _nPos != aLbColor.GetSavedValue() ) 1031*cdf0e10cSrcweir { 1032*cdf0e10cSrcweir XFillColorItem aItem( aLbColor.GetSelectEntry(), 1033*cdf0e10cSrcweir aLbColor.GetSelectEntryColor() ); 1034*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLCOLOR ); 1035*cdf0e10cSrcweir if ( !pOld || !( *(const XFillColorItem*)pOld == aItem ) ) 1036*cdf0e10cSrcweir { 1037*cdf0e10cSrcweir rAttrs.Put( aItem ); 1038*cdf0e10cSrcweir bModified = sal_True; 1039*cdf0e10cSrcweir } 1040*cdf0e10cSrcweir } 1041*cdf0e10cSrcweir // NEU 1042*cdf0e10cSrcweir if( (eSavedStyle != eStyle) && 1043*cdf0e10cSrcweir ( bModified || 1044*cdf0e10cSrcweir SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), sal_True ) ) ) 1045*cdf0e10cSrcweir { 1046*cdf0e10cSrcweir XFillStyleItem aStyleItem( XFILL_SOLID ); 1047*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLSTYLE ); 1048*cdf0e10cSrcweir if ( !pOld || !( *(const XFillStyleItem*)pOld == aStyleItem ) ) 1049*cdf0e10cSrcweir { 1050*cdf0e10cSrcweir rAttrs.Put( aStyleItem ); 1051*cdf0e10cSrcweir bModified = sal_True; 1052*cdf0e10cSrcweir } 1053*cdf0e10cSrcweir } 1054*cdf0e10cSrcweir } 1055*cdf0e10cSrcweir break; 1056*cdf0e10cSrcweir case XFILL_GRADIENT: 1057*cdf0e10cSrcweir { 1058*cdf0e10cSrcweir _nPos = aLbGradient.GetSelectEntryPos(); 1059*cdf0e10cSrcweir if( _nPos != LISTBOX_ENTRY_NOTFOUND && 1060*cdf0e10cSrcweir _nPos != aLbGradient.GetSavedValue() ) 1061*cdf0e10cSrcweir { 1062*cdf0e10cSrcweir XGradient aGradient = pGradientList->GetGradient( _nPos )->GetGradient(); 1063*cdf0e10cSrcweir String aString = aLbGradient.GetSelectEntry(); 1064*cdf0e10cSrcweir XFillGradientItem aItem( aString, aGradient ); 1065*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLGRADIENT ); 1066*cdf0e10cSrcweir if ( !pOld || !( *(const XFillGradientItem*)pOld == aItem ) ) 1067*cdf0e10cSrcweir { 1068*cdf0e10cSrcweir rAttrs.Put( aItem ); 1069*cdf0e10cSrcweir bModified = sal_True; 1070*cdf0e10cSrcweir } 1071*cdf0e10cSrcweir } 1072*cdf0e10cSrcweir // NEU 1073*cdf0e10cSrcweir if( (eSavedStyle != eStyle) && 1074*cdf0e10cSrcweir ( bModified || 1075*cdf0e10cSrcweir SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLGRADIENT ), sal_True ) ) ) 1076*cdf0e10cSrcweir { 1077*cdf0e10cSrcweir XFillStyleItem aStyleItem( XFILL_GRADIENT ); 1078*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLSTYLE ); 1079*cdf0e10cSrcweir if ( !pOld || !( *(const XFillStyleItem*)pOld == aStyleItem ) ) 1080*cdf0e10cSrcweir { 1081*cdf0e10cSrcweir rAttrs.Put( aStyleItem ); 1082*cdf0e10cSrcweir bModified = sal_True; 1083*cdf0e10cSrcweir } 1084*cdf0e10cSrcweir } 1085*cdf0e10cSrcweir } 1086*cdf0e10cSrcweir break; 1087*cdf0e10cSrcweir case XFILL_HATCH: 1088*cdf0e10cSrcweir { 1089*cdf0e10cSrcweir _nPos = aLbHatching.GetSelectEntryPos(); 1090*cdf0e10cSrcweir if( _nPos != LISTBOX_ENTRY_NOTFOUND && 1091*cdf0e10cSrcweir _nPos != aLbHatching.GetSavedValue() ) 1092*cdf0e10cSrcweir { 1093*cdf0e10cSrcweir XHatch aHatching = pHatchingList->GetHatch( _nPos )->GetHatch(); 1094*cdf0e10cSrcweir String aString = aLbHatching.GetSelectEntry(); 1095*cdf0e10cSrcweir XFillHatchItem aItem( aString, aHatching ); 1096*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLHATCH ); 1097*cdf0e10cSrcweir if ( !pOld || !( *(const XFillHatchItem*)pOld == aItem ) ) 1098*cdf0e10cSrcweir { 1099*cdf0e10cSrcweir rAttrs.Put( aItem ); 1100*cdf0e10cSrcweir bModified = sal_True; 1101*cdf0e10cSrcweir } 1102*cdf0e10cSrcweir } 1103*cdf0e10cSrcweir XFillBackgroundItem aItem ( aCbxHatchBckgrd.IsChecked() ); 1104*cdf0e10cSrcweir rAttrs.Put( aItem ); 1105*cdf0e10cSrcweir nPos = aLbHatchBckgrdColor.GetSelectEntryPos(); 1106*cdf0e10cSrcweir if( nPos != LISTBOX_ENTRY_NOTFOUND && 1107*cdf0e10cSrcweir nPos != aLbHatchBckgrdColor.GetSavedValue() ) 1108*cdf0e10cSrcweir { 1109*cdf0e10cSrcweir XFillColorItem aFillColorItem( aLbHatchBckgrdColor.GetSelectEntry(), 1110*cdf0e10cSrcweir aLbHatchBckgrdColor.GetSelectEntryColor() ); 1111*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLCOLOR ); 1112*cdf0e10cSrcweir if ( !pOld || !( *(const XFillColorItem*)pOld == aFillColorItem ) ) 1113*cdf0e10cSrcweir { 1114*cdf0e10cSrcweir rAttrs.Put( aFillColorItem ); 1115*cdf0e10cSrcweir bModified = sal_True; 1116*cdf0e10cSrcweir } 1117*cdf0e10cSrcweir } 1118*cdf0e10cSrcweir // NEU 1119*cdf0e10cSrcweir if( (eSavedStyle != eStyle) && 1120*cdf0e10cSrcweir ( bModified || 1121*cdf0e10cSrcweir SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLHATCH ), sal_True ) ) ) 1122*cdf0e10cSrcweir { 1123*cdf0e10cSrcweir XFillStyleItem aStyleItem( XFILL_HATCH ); 1124*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLSTYLE ); 1125*cdf0e10cSrcweir if ( !pOld || !( *(const XFillStyleItem*)pOld == aStyleItem ) ) 1126*cdf0e10cSrcweir { 1127*cdf0e10cSrcweir rAttrs.Put( aStyleItem ); 1128*cdf0e10cSrcweir bModified = sal_True; 1129*cdf0e10cSrcweir } 1130*cdf0e10cSrcweir } 1131*cdf0e10cSrcweir } 1132*cdf0e10cSrcweir break; 1133*cdf0e10cSrcweir case XFILL_BITMAP: 1134*cdf0e10cSrcweir { 1135*cdf0e10cSrcweir nPos = aLbBitmap.GetSelectEntryPos(); 1136*cdf0e10cSrcweir if( nPos != LISTBOX_ENTRY_NOTFOUND && 1137*cdf0e10cSrcweir nPos != aLbBitmap.GetSavedValue() ) 1138*cdf0e10cSrcweir { 1139*cdf0e10cSrcweir XOBitmap aXOBitmap = pBitmapList->GetBitmap( nPos )->GetXBitmap(); 1140*cdf0e10cSrcweir String aString = aLbBitmap.GetSelectEntry(); 1141*cdf0e10cSrcweir XFillBitmapItem aFillBitmapItem( aString, aXOBitmap ); 1142*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLBITMAP ); 1143*cdf0e10cSrcweir if ( !pOld || !( *(const XFillBitmapItem*)pOld == aFillBitmapItem ) ) 1144*cdf0e10cSrcweir { 1145*cdf0e10cSrcweir rAttrs.Put( aFillBitmapItem ); 1146*cdf0e10cSrcweir bModified = sal_True; 1147*cdf0e10cSrcweir } 1148*cdf0e10cSrcweir } 1149*cdf0e10cSrcweir // NEU 1150*cdf0e10cSrcweir if( (eSavedStyle != eStyle) && 1151*cdf0e10cSrcweir ( bModified || 1152*cdf0e10cSrcweir SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLBITMAP ), sal_True ) ) ) 1153*cdf0e10cSrcweir { 1154*cdf0e10cSrcweir XFillStyleItem aStyleItem( XFILL_BITMAP ); 1155*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLSTYLE ); 1156*cdf0e10cSrcweir if ( !pOld || !( *(const XFillStyleItem*)pOld == aStyleItem ) ) 1157*cdf0e10cSrcweir { 1158*cdf0e10cSrcweir rAttrs.Put( aStyleItem ); 1159*cdf0e10cSrcweir bModified = sal_True; 1160*cdf0e10cSrcweir } 1161*cdf0e10cSrcweir } 1162*cdf0e10cSrcweir } 1163*cdf0e10cSrcweir break; 1164*cdf0e10cSrcweir } 1165*cdf0e10cSrcweir 1166*cdf0e10cSrcweir // Schrittweite 1167*cdf0e10cSrcweir if( aTsbStepCount.IsEnabled() ) 1168*cdf0e10cSrcweir { 1169*cdf0e10cSrcweir sal_uInt16 nValue = 0; 1170*cdf0e10cSrcweir sal_Bool bValueModified = sal_False; 1171*cdf0e10cSrcweir TriState eState = aTsbStepCount.GetState(); 1172*cdf0e10cSrcweir if( eState == STATE_CHECK ) 1173*cdf0e10cSrcweir { 1174*cdf0e10cSrcweir if( eState != aTsbStepCount.GetSavedValue() ) 1175*cdf0e10cSrcweir bValueModified = sal_True; 1176*cdf0e10cSrcweir } 1177*cdf0e10cSrcweir else 1178*cdf0e10cSrcweir { 1179*cdf0e10cSrcweir // Zustand != Disabled ? 1180*cdf0e10cSrcweir if( aNumFldStepCount.GetText().Len() > 0 ) 1181*cdf0e10cSrcweir { 1182*cdf0e10cSrcweir nValue = (sal_uInt16) aNumFldStepCount.GetValue(); 1183*cdf0e10cSrcweir if( nValue != (sal_uInt16) aNumFldStepCount.GetSavedValue().ToInt32() ) 1184*cdf0e10cSrcweir bValueModified = sal_True; 1185*cdf0e10cSrcweir } 1186*cdf0e10cSrcweir } 1187*cdf0e10cSrcweir if( bValueModified ) 1188*cdf0e10cSrcweir { 1189*cdf0e10cSrcweir XGradientStepCountItem aFillBitmapItem( nValue ); 1190*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_GRADIENTSTEPCOUNT ); 1191*cdf0e10cSrcweir if ( !pOld || !( *(const XGradientStepCountItem*)pOld == aFillBitmapItem ) ) 1192*cdf0e10cSrcweir { 1193*cdf0e10cSrcweir rAttrs.Put( aFillBitmapItem ); 1194*cdf0e10cSrcweir bModified = sal_True; 1195*cdf0e10cSrcweir } 1196*cdf0e10cSrcweir } 1197*cdf0e10cSrcweir } 1198*cdf0e10cSrcweir 1199*cdf0e10cSrcweir // Kacheln 1200*cdf0e10cSrcweir if( aTsbTile.IsEnabled() ) 1201*cdf0e10cSrcweir { 1202*cdf0e10cSrcweir TriState eState = aTsbTile.GetState(); 1203*cdf0e10cSrcweir if( eState != aTsbTile.GetSavedValue() ) 1204*cdf0e10cSrcweir { 1205*cdf0e10cSrcweir XFillBmpTileItem aFillBmpTileItem( 1206*cdf0e10cSrcweir sal::static_int_cast< sal_Bool >( eState ) ); 1207*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLBMP_TILE ); 1208*cdf0e10cSrcweir if ( !pOld || !( *(const XFillBmpTileItem*)pOld == aFillBmpTileItem ) ) 1209*cdf0e10cSrcweir { 1210*cdf0e10cSrcweir rAttrs.Put( aFillBmpTileItem ); 1211*cdf0e10cSrcweir bModified = sal_True; 1212*cdf0e10cSrcweir } 1213*cdf0e10cSrcweir } 1214*cdf0e10cSrcweir } 1215*cdf0e10cSrcweir // Stretchen 1216*cdf0e10cSrcweir if( aTsbStretch.IsEnabled() ) 1217*cdf0e10cSrcweir { 1218*cdf0e10cSrcweir TriState eState = aTsbStretch.GetState(); 1219*cdf0e10cSrcweir if( eState != aTsbStretch.GetSavedValue() ) 1220*cdf0e10cSrcweir { 1221*cdf0e10cSrcweir XFillBmpStretchItem aFillBmpStretchItem( 1222*cdf0e10cSrcweir sal::static_int_cast< sal_Bool >( eState ) ); 1223*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLBMP_STRETCH ); 1224*cdf0e10cSrcweir if ( !pOld || !( *(const XFillBmpStretchItem*)pOld == aFillBmpStretchItem ) ) 1225*cdf0e10cSrcweir { 1226*cdf0e10cSrcweir rAttrs.Put( aFillBmpStretchItem ); 1227*cdf0e10cSrcweir bModified = sal_True; 1228*cdf0e10cSrcweir } 1229*cdf0e10cSrcweir } 1230*cdf0e10cSrcweir } 1231*cdf0e10cSrcweir 1232*cdf0e10cSrcweir // Originalgroesse (im UI) wird wie folgt benutzt: 1233*cdf0e10cSrcweir // Controls sind disabled, muessen aber gesetzt werden. 1234*cdf0e10cSrcweir // SizeX = 0; SizeY = 0; Log = sal_True 1235*cdf0e10cSrcweir 1236*cdf0e10cSrcweir //aTsbScale 1237*cdf0e10cSrcweir TriState eState = aTsbScale.GetState(); 1238*cdf0e10cSrcweir if( eState != aTsbScale.GetSavedValue() || 1239*cdf0e10cSrcweir ( !aTsbScale.IsEnabled() && 1240*cdf0e10cSrcweir aTsbOriginal.IsEnabled() && 1241*cdf0e10cSrcweir aTsbScale.GetSavedValue() != STATE_CHECK ) ) 1242*cdf0e10cSrcweir { 1243*cdf0e10cSrcweir XFillBmpSizeLogItem* pItem = NULL; 1244*cdf0e10cSrcweir if( aTsbScale.IsEnabled() ) 1245*cdf0e10cSrcweir pItem = new XFillBmpSizeLogItem( eState == STATE_NOCHECK ); 1246*cdf0e10cSrcweir else if( aTsbOriginal.IsEnabled() && aTsbOriginal.GetState() == STATE_CHECK ) 1247*cdf0e10cSrcweir pItem = new XFillBmpSizeLogItem( sal_True ); 1248*cdf0e10cSrcweir 1249*cdf0e10cSrcweir if( pItem ) 1250*cdf0e10cSrcweir { 1251*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLBMP_SIZELOG ); 1252*cdf0e10cSrcweir if ( !pOld || !( *(const XFillBmpSizeLogItem*)pOld == *pItem ) ) 1253*cdf0e10cSrcweir { 1254*cdf0e10cSrcweir rAttrs.Put( *pItem ); 1255*cdf0e10cSrcweir bModified = sal_True; 1256*cdf0e10cSrcweir } 1257*cdf0e10cSrcweir delete pItem; 1258*cdf0e10cSrcweir } 1259*cdf0e10cSrcweir } 1260*cdf0e10cSrcweir 1261*cdf0e10cSrcweir //aMtrFldXSize 1262*cdf0e10cSrcweir String aStr = aMtrFldXSize.GetText(); 1263*cdf0e10cSrcweir { 1264*cdf0e10cSrcweir XFillBmpSizeXItem* pItem = NULL; 1265*cdf0e10cSrcweir TriState eScaleState = aTsbScale.GetState(); 1266*cdf0e10cSrcweir 1267*cdf0e10cSrcweir if( aMtrFldXSize.IsEnabled() && 1268*cdf0e10cSrcweir aStr.Len() > 0 && 1269*cdf0e10cSrcweir aStr != aMtrFldXSize.GetSavedValue() ) 1270*cdf0e10cSrcweir { 1271*cdf0e10cSrcweir if( eScaleState == STATE_NOCHECK ) 1272*cdf0e10cSrcweir pItem = new XFillBmpSizeXItem( GetCoreValue( aMtrFldXSize, ePoolUnit ) ); 1273*cdf0e10cSrcweir else 1274*cdf0e10cSrcweir { 1275*cdf0e10cSrcweir // Prozentwerte werden negativ gesetzt, damit 1276*cdf0e10cSrcweir // diese nicht skaliert werden; dieses wird 1277*cdf0e10cSrcweir // im Item beruecksichtigt ( KA05.11.96 ) 1278*cdf0e10cSrcweir pItem = new XFillBmpSizeXItem( -labs( static_cast<long>(aMtrFldXSize.GetValue()) ) ); 1279*cdf0e10cSrcweir } 1280*cdf0e10cSrcweir } 1281*cdf0e10cSrcweir else if( aTsbOriginal.IsEnabled() && 1282*cdf0e10cSrcweir aTsbOriginal.GetState() == STATE_CHECK && 1283*cdf0e10cSrcweir aMtrFldXSize.GetSavedValue().Len() > 0 ) 1284*cdf0e10cSrcweir pItem = new XFillBmpSizeXItem( 0 ); 1285*cdf0e10cSrcweir 1286*cdf0e10cSrcweir if( pItem ) 1287*cdf0e10cSrcweir { 1288*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLBMP_SIZEX ); 1289*cdf0e10cSrcweir if ( !pOld || !( *(const XFillBmpSizeXItem*)pOld == *pItem ) ) 1290*cdf0e10cSrcweir { 1291*cdf0e10cSrcweir rAttrs.Put( *pItem ); 1292*cdf0e10cSrcweir bModified = sal_True; 1293*cdf0e10cSrcweir } 1294*cdf0e10cSrcweir delete pItem; 1295*cdf0e10cSrcweir } 1296*cdf0e10cSrcweir } 1297*cdf0e10cSrcweir 1298*cdf0e10cSrcweir //aMtrFldYSize 1299*cdf0e10cSrcweir aStr = aMtrFldYSize.GetText(); 1300*cdf0e10cSrcweir { 1301*cdf0e10cSrcweir XFillBmpSizeYItem* pItem = NULL; 1302*cdf0e10cSrcweir TriState eScaleState = aTsbScale.GetState(); 1303*cdf0e10cSrcweir 1304*cdf0e10cSrcweir if( aMtrFldYSize.IsEnabled() && 1305*cdf0e10cSrcweir aStr.Len() > 0 && 1306*cdf0e10cSrcweir aStr != aMtrFldYSize.GetSavedValue() ) 1307*cdf0e10cSrcweir { 1308*cdf0e10cSrcweir if( eScaleState == STATE_NOCHECK ) 1309*cdf0e10cSrcweir pItem = new XFillBmpSizeYItem( GetCoreValue( aMtrFldYSize, ePoolUnit ) ); 1310*cdf0e10cSrcweir else 1311*cdf0e10cSrcweir { 1312*cdf0e10cSrcweir // Prozentwerte werden negativ gesetzt, damit 1313*cdf0e10cSrcweir // diese vom MetricItem nicht skaliert werden; 1314*cdf0e10cSrcweir // dieses wird im Item beruecksichtigt ( KA05.11.96 ) 1315*cdf0e10cSrcweir pItem = new XFillBmpSizeYItem( -labs( static_cast<long>(aMtrFldYSize.GetValue()) ) ); 1316*cdf0e10cSrcweir } 1317*cdf0e10cSrcweir } 1318*cdf0e10cSrcweir else if( aTsbOriginal.IsEnabled() && 1319*cdf0e10cSrcweir aTsbOriginal.GetState() == STATE_CHECK && 1320*cdf0e10cSrcweir aMtrFldYSize.GetSavedValue().Len() > 0 ) 1321*cdf0e10cSrcweir pItem = new XFillBmpSizeYItem( 0 ); 1322*cdf0e10cSrcweir 1323*cdf0e10cSrcweir if( pItem ) 1324*cdf0e10cSrcweir { 1325*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLBMP_SIZEY ); 1326*cdf0e10cSrcweir if ( !pOld || !( *(const XFillBmpSizeYItem*)pOld == *pItem ) ) 1327*cdf0e10cSrcweir { 1328*cdf0e10cSrcweir rAttrs.Put( *pItem ); 1329*cdf0e10cSrcweir bModified = sal_True; 1330*cdf0e10cSrcweir } 1331*cdf0e10cSrcweir delete pItem; 1332*cdf0e10cSrcweir } 1333*cdf0e10cSrcweir } 1334*cdf0e10cSrcweir 1335*cdf0e10cSrcweir //aRbtRow 1336*cdf0e10cSrcweir //aRbtColumn 1337*cdf0e10cSrcweir //aMtrFldOffset 1338*cdf0e10cSrcweir if( aMtrFldOffset.IsEnabled() ) 1339*cdf0e10cSrcweir { 1340*cdf0e10cSrcweir String aMtrString = aMtrFldOffset.GetText(); 1341*cdf0e10cSrcweir if( ( aMtrString.Len() > 0 && 1342*cdf0e10cSrcweir aMtrString != aMtrFldOffset.GetSavedValue() ) || 1343*cdf0e10cSrcweir aRbtRow.GetSavedValue() != aRbtRow.IsChecked() || 1344*cdf0e10cSrcweir aRbtColumn.GetSavedValue() != aRbtColumn.IsChecked() ) 1345*cdf0e10cSrcweir { 1346*cdf0e10cSrcweir if( aRbtRow.IsChecked() ) 1347*cdf0e10cSrcweir { 1348*cdf0e10cSrcweir XFillBmpTileOffsetXItem aFillBmpTileOffsetXItem( (sal_uInt16) aMtrFldOffset.GetValue() ); 1349*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLBMP_TILEOFFSETX ); 1350*cdf0e10cSrcweir if ( !pOld || !( *(const XFillBmpTileOffsetXItem*)pOld == aFillBmpTileOffsetXItem ) ) 1351*cdf0e10cSrcweir { 1352*cdf0e10cSrcweir rAttrs.Put( aFillBmpTileOffsetXItem ); 1353*cdf0e10cSrcweir rAttrs.Put( XFillBmpTileOffsetYItem( 0 ) ); 1354*cdf0e10cSrcweir bModified = sal_True; 1355*cdf0e10cSrcweir } 1356*cdf0e10cSrcweir } 1357*cdf0e10cSrcweir else if( aRbtColumn.IsChecked() ) 1358*cdf0e10cSrcweir { 1359*cdf0e10cSrcweir XFillBmpTileOffsetYItem aFillBmpTileOffsetYItem( (sal_uInt16) aMtrFldOffset.GetValue() ); 1360*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLBMP_TILEOFFSETY ); 1361*cdf0e10cSrcweir if ( !pOld || !( *(const XFillBmpTileOffsetYItem*)pOld == aFillBmpTileOffsetYItem ) ) 1362*cdf0e10cSrcweir { 1363*cdf0e10cSrcweir rAttrs.Put( aFillBmpTileOffsetYItem ); 1364*cdf0e10cSrcweir rAttrs.Put( XFillBmpTileOffsetXItem( 0 ) ); 1365*cdf0e10cSrcweir bModified = sal_True; 1366*cdf0e10cSrcweir } 1367*cdf0e10cSrcweir } 1368*cdf0e10cSrcweir } 1369*cdf0e10cSrcweir } 1370*cdf0e10cSrcweir 1371*cdf0e10cSrcweir //aCtlPosition 1372*cdf0e10cSrcweir if( aCtlPosition.IsEnabled() ) 1373*cdf0e10cSrcweir { 1374*cdf0e10cSrcweir sal_Bool bPut = sal_False; 1375*cdf0e10cSrcweir RECT_POINT _eRP = aCtlPosition.GetActualRP(); 1376*cdf0e10cSrcweir 1377*cdf0e10cSrcweir if( SFX_ITEM_DONTCARE == rOutAttrs.GetItemState( XATTR_FILLBMP_POS ) ) 1378*cdf0e10cSrcweir bPut = sal_True; 1379*cdf0e10cSrcweir else 1380*cdf0e10cSrcweir { 1381*cdf0e10cSrcweir RECT_POINT eValue = ( ( const XFillBmpPosItem& ) rOutAttrs.Get( XATTR_FILLBMP_POS ) ).GetValue(); 1382*cdf0e10cSrcweir if( eValue != _eRP ) 1383*cdf0e10cSrcweir bPut = sal_True; 1384*cdf0e10cSrcweir } 1385*cdf0e10cSrcweir if( bPut ) 1386*cdf0e10cSrcweir { 1387*cdf0e10cSrcweir XFillBmpPosItem aFillBmpPosItem( _eRP ); 1388*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLBMP_POS ); 1389*cdf0e10cSrcweir if ( !pOld || !( *(const XFillBmpPosItem*)pOld == aFillBmpPosItem ) ) 1390*cdf0e10cSrcweir { 1391*cdf0e10cSrcweir rAttrs.Put( aFillBmpPosItem ); 1392*cdf0e10cSrcweir bModified = sal_True; 1393*cdf0e10cSrcweir } 1394*cdf0e10cSrcweir } 1395*cdf0e10cSrcweir } 1396*cdf0e10cSrcweir 1397*cdf0e10cSrcweir //aMtrFldXOffset 1398*cdf0e10cSrcweir if( aMtrFldXOffset.IsEnabled() ) 1399*cdf0e10cSrcweir { 1400*cdf0e10cSrcweir String sMtrXOffset = aMtrFldXOffset.GetText(); 1401*cdf0e10cSrcweir if( sMtrXOffset.Len() > 0 && 1402*cdf0e10cSrcweir sMtrXOffset != aMtrFldXOffset.GetSavedValue() ) 1403*cdf0e10cSrcweir { 1404*cdf0e10cSrcweir XFillBmpPosOffsetXItem aFillBmpPosOffsetXItem( (sal_uInt16) aMtrFldXOffset.GetValue() ); 1405*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLBMP_POSOFFSETX ); 1406*cdf0e10cSrcweir if ( !pOld || !( *(const XFillBmpPosOffsetXItem*)pOld == aFillBmpPosOffsetXItem ) ) 1407*cdf0e10cSrcweir { 1408*cdf0e10cSrcweir rAttrs.Put( aFillBmpPosOffsetXItem ); 1409*cdf0e10cSrcweir bModified = sal_True; 1410*cdf0e10cSrcweir } 1411*cdf0e10cSrcweir } 1412*cdf0e10cSrcweir } 1413*cdf0e10cSrcweir 1414*cdf0e10cSrcweir //aMtrFldYOffset 1415*cdf0e10cSrcweir if( aMtrFldYOffset.IsEnabled() ) 1416*cdf0e10cSrcweir { 1417*cdf0e10cSrcweir String sMtrYOffset = aMtrFldYOffset.GetText(); 1418*cdf0e10cSrcweir if( sMtrYOffset.Len() > 0 && 1419*cdf0e10cSrcweir sMtrYOffset != aMtrFldYOffset.GetSavedValue() ) 1420*cdf0e10cSrcweir { 1421*cdf0e10cSrcweir XFillBmpPosOffsetYItem aFillBmpPosOffsetYItem( (sal_uInt16) aMtrFldYOffset.GetValue() ); 1422*cdf0e10cSrcweir pOld = GetOldItem( rAttrs, XATTR_FILLBMP_POSOFFSETY ); 1423*cdf0e10cSrcweir if ( !pOld || !( *(const XFillBmpPosOffsetYItem*)pOld == aFillBmpPosOffsetYItem ) ) 1424*cdf0e10cSrcweir { 1425*cdf0e10cSrcweir rAttrs.Put( aFillBmpPosOffsetYItem ); 1426*cdf0e10cSrcweir bModified = sal_True; 1427*cdf0e10cSrcweir } 1428*cdf0e10cSrcweir } 1429*cdf0e10cSrcweir } 1430*cdf0e10cSrcweir //add CHINA001 begin 1431*cdf0e10cSrcweir rAttrs.Put (SfxUInt16Item(SID_PAGE_TYPE,nPageType)); 1432*cdf0e10cSrcweir rAttrs.Put (SfxUInt16Item(SID_TABPAGE_POS,nPos)); 1433*cdf0e10cSrcweir //add CHINA001 end 1434*cdf0e10cSrcweir } 1435*cdf0e10cSrcweir 1436*cdf0e10cSrcweir return( bModified ); 1437*cdf0e10cSrcweir } 1438*cdf0e10cSrcweir 1439*cdf0e10cSrcweir // ----------------------------------------------------------------------- 1440*cdf0e10cSrcweir 1441*cdf0e10cSrcweir void SvxAreaTabPage::Reset( const SfxItemSet& rAttrs ) 1442*cdf0e10cSrcweir { 1443*cdf0e10cSrcweir //const SfxPoolItem *pPoolItem = NULL; 1444*cdf0e10cSrcweir 1445*cdf0e10cSrcweir XFillStyle eXFS; 1446*cdf0e10cSrcweir if( rAttrs.GetItemState( XATTR_FILLSTYLE ) != SFX_ITEM_DONTCARE ) 1447*cdf0e10cSrcweir { 1448*cdf0e10cSrcweir eXFS = (XFillStyle) ( ( ( const XFillStyleItem& ) rAttrs. 1449*cdf0e10cSrcweir Get( GetWhich( XATTR_FILLSTYLE ) ) ).GetValue() ); 1450*cdf0e10cSrcweir aTypeLB.SelectEntryPos( sal::static_int_cast< sal_uInt16 >( eXFS ) ); 1451*cdf0e10cSrcweir switch( eXFS ) 1452*cdf0e10cSrcweir { 1453*cdf0e10cSrcweir case XFILL_NONE: 1454*cdf0e10cSrcweir ClickInvisibleHdl_Impl( this ); 1455*cdf0e10cSrcweir break; 1456*cdf0e10cSrcweir 1457*cdf0e10cSrcweir case XFILL_SOLID: 1458*cdf0e10cSrcweir //if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), sal_True, &pPoolItem ) ) 1459*cdf0e10cSrcweir if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( XATTR_FILLCOLOR ) ) 1460*cdf0e10cSrcweir { 1461*cdf0e10cSrcweir XFillColorItem aColorItem( ( const XFillColorItem& ) 1462*cdf0e10cSrcweir rAttrs.Get( XATTR_FILLCOLOR ) ); 1463*cdf0e10cSrcweir 1464*cdf0e10cSrcweir aLbColor.SelectEntry( aColorItem.GetColorValue() ); 1465*cdf0e10cSrcweir aLbHatchBckgrdColor.SelectEntry( aColorItem.GetColorValue() ); 1466*cdf0e10cSrcweir } 1467*cdf0e10cSrcweir ClickColorHdl_Impl( this ); 1468*cdf0e10cSrcweir 1469*cdf0e10cSrcweir break; 1470*cdf0e10cSrcweir 1471*cdf0e10cSrcweir case XFILL_GRADIENT: 1472*cdf0e10cSrcweir //if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( GetWhich( XATTR_FILLGRADIENT ), sal_True, &pPoolItem ) ) 1473*cdf0e10cSrcweir if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( XATTR_FILLGRADIENT ) ) 1474*cdf0e10cSrcweir { 1475*cdf0e10cSrcweir XFillGradientItem aGradientItem( ( ( const XFillGradientItem& ) 1476*cdf0e10cSrcweir rAttrs.Get( XATTR_FILLGRADIENT ) ) ); 1477*cdf0e10cSrcweir String aString( aGradientItem.GetName() ); 1478*cdf0e10cSrcweir XGradient aGradient( aGradientItem.GetGradientValue() ); 1479*cdf0e10cSrcweir 1480*cdf0e10cSrcweir aLbGradient.SelectEntryByList( pGradientList, aString, aGradient ); 1481*cdf0e10cSrcweir } 1482*cdf0e10cSrcweir ClickGradientHdl_Impl( this ); 1483*cdf0e10cSrcweir break; 1484*cdf0e10cSrcweir 1485*cdf0e10cSrcweir case XFILL_HATCH: 1486*cdf0e10cSrcweir //if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( GetWhich( XATTR_FILLHATCH ), sal_True, &pPoolItem ) ) 1487*cdf0e10cSrcweir if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( XATTR_FILLHATCH ) ) 1488*cdf0e10cSrcweir { 1489*cdf0e10cSrcweir aLbHatching.SelectEntry( ( ( const XFillHatchItem& ) 1490*cdf0e10cSrcweir rAttrs.Get( XATTR_FILLHATCH ) ).GetName() ); 1491*cdf0e10cSrcweir } 1492*cdf0e10cSrcweir ClickHatchingHdl_Impl( this ); 1493*cdf0e10cSrcweir 1494*cdf0e10cSrcweir if ( SFX_ITEM_DONTCARE != rAttrs.GetItemState ( XATTR_FILLBACKGROUND ) ) 1495*cdf0e10cSrcweir { 1496*cdf0e10cSrcweir aCbxHatchBckgrd.Check ( ( ( const XFillBackgroundItem& ) rAttrs.Get ( XATTR_FILLBACKGROUND ) ).GetValue() ); 1497*cdf0e10cSrcweir } 1498*cdf0e10cSrcweir ToggleHatchBckgrdColorHdl_Impl( this ); 1499*cdf0e10cSrcweir if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( XATTR_FILLCOLOR ) ) 1500*cdf0e10cSrcweir { 1501*cdf0e10cSrcweir XFillColorItem aColorItem( ( const XFillColorItem& ) 1502*cdf0e10cSrcweir rAttrs.Get( XATTR_FILLCOLOR ) ); 1503*cdf0e10cSrcweir 1504*cdf0e10cSrcweir aLbColor.SelectEntry( aColorItem.GetColorValue() ); 1505*cdf0e10cSrcweir aLbHatchBckgrdColor.SelectEntry( aColorItem.GetColorValue() ); 1506*cdf0e10cSrcweir } 1507*cdf0e10cSrcweir break; 1508*cdf0e10cSrcweir 1509*cdf0e10cSrcweir case XFILL_BITMAP: 1510*cdf0e10cSrcweir { 1511*cdf0e10cSrcweir if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( XATTR_FILLBITMAP ) ) 1512*cdf0e10cSrcweir { 1513*cdf0e10cSrcweir XFillBitmapItem aBitmapItem( ( const XFillBitmapItem& ) 1514*cdf0e10cSrcweir rAttrs.Get( XATTR_FILLBITMAP ) ); 1515*cdf0e10cSrcweir 1516*cdf0e10cSrcweir String aString( aBitmapItem.GetName() ); 1517*cdf0e10cSrcweir aLbBitmap.SelectEntry( aString ); 1518*cdf0e10cSrcweir } 1519*cdf0e10cSrcweir ClickBitmapHdl_Impl( this ); 1520*cdf0e10cSrcweir } 1521*cdf0e10cSrcweir break; 1522*cdf0e10cSrcweir 1523*cdf0e10cSrcweir default: 1524*cdf0e10cSrcweir //aLbColor.SelectEntryPos(0); 1525*cdf0e10cSrcweir //aRbtColor.Check(); 1526*cdf0e10cSrcweir break; 1527*cdf0e10cSrcweir } 1528*cdf0e10cSrcweir } 1529*cdf0e10cSrcweir else 1530*cdf0e10cSrcweir { 1531*cdf0e10cSrcweir // Alle LBs nicht zug"anglich machen 1532*cdf0e10cSrcweir aLbColor.Hide(); 1533*cdf0e10cSrcweir aLbGradient.Hide(); 1534*cdf0e10cSrcweir aLbHatching.Hide(); 1535*cdf0e10cSrcweir aLbBitmap.Hide(); 1536*cdf0e10cSrcweir aCtlBitmapPreview.Hide(); 1537*cdf0e10cSrcweir aLbColor.Disable(); 1538*cdf0e10cSrcweir aLbColor.Show(); 1539*cdf0e10cSrcweir 1540*cdf0e10cSrcweir // Damit Reset() auch mit Zurueck richtig funktioniert 1541*cdf0e10cSrcweir aTypeLB.SetNoSelection(); 1542*cdf0e10cSrcweir } 1543*cdf0e10cSrcweir 1544*cdf0e10cSrcweir // Schrittweite 1545*cdf0e10cSrcweir if( ( rAttrs.GetItemState( XATTR_GRADIENTSTEPCOUNT ) != SFX_ITEM_DONTCARE ) || 1546*cdf0e10cSrcweir ( rAttrs.GetItemState( XATTR_FILLSTYLE ) != SFX_ITEM_DONTCARE ) ) 1547*cdf0e10cSrcweir { 1548*cdf0e10cSrcweir aTsbStepCount.EnableTriState( sal_False ); 1549*cdf0e10cSrcweir sal_uInt16 nValue = ( ( const XGradientStepCountItem& ) rAttrs.Get( XATTR_GRADIENTSTEPCOUNT ) ).GetValue(); 1550*cdf0e10cSrcweir if( nValue == 0 ) 1551*cdf0e10cSrcweir { 1552*cdf0e10cSrcweir aTsbStepCount.SetState( STATE_CHECK ); 1553*cdf0e10cSrcweir aNumFldStepCount.SetText( String() ); 1554*cdf0e10cSrcweir } 1555*cdf0e10cSrcweir else 1556*cdf0e10cSrcweir { 1557*cdf0e10cSrcweir aTsbStepCount.SetState( STATE_NOCHECK ); 1558*cdf0e10cSrcweir aNumFldStepCount.SetValue( nValue ); 1559*cdf0e10cSrcweir } 1560*cdf0e10cSrcweir ModifyStepCountHdl_Impl( &aTsbStepCount ); 1561*cdf0e10cSrcweir } 1562*cdf0e10cSrcweir else 1563*cdf0e10cSrcweir { 1564*cdf0e10cSrcweir aTsbStepCount.SetState( STATE_DONTKNOW ); 1565*cdf0e10cSrcweir aNumFldStepCount.SetText( String() ); 1566*cdf0e10cSrcweir } 1567*cdf0e10cSrcweir 1568*cdf0e10cSrcweir // Attribute fuer die Bitmap-Fuellung 1569*cdf0e10cSrcweir 1570*cdf0e10cSrcweir // Ist Kacheln gesetzt? 1571*cdf0e10cSrcweir if( rAttrs.GetItemState( XATTR_FILLBMP_TILE ) != SFX_ITEM_DONTCARE ) 1572*cdf0e10cSrcweir { 1573*cdf0e10cSrcweir aTsbTile.EnableTriState( sal_False ); 1574*cdf0e10cSrcweir 1575*cdf0e10cSrcweir if( ( ( const XFillBmpTileItem& ) rAttrs.Get( XATTR_FILLBMP_TILE ) ).GetValue() ) 1576*cdf0e10cSrcweir aTsbTile.SetState( STATE_CHECK ); 1577*cdf0e10cSrcweir else 1578*cdf0e10cSrcweir aTsbTile.SetState( STATE_NOCHECK ); 1579*cdf0e10cSrcweir } 1580*cdf0e10cSrcweir else 1581*cdf0e10cSrcweir aTsbTile.SetState( STATE_DONTKNOW ); 1582*cdf0e10cSrcweir 1583*cdf0e10cSrcweir // Ist Stretchen gesetzt? 1584*cdf0e10cSrcweir if( rAttrs.GetItemState( XATTR_FILLBMP_STRETCH ) != SFX_ITEM_DONTCARE ) 1585*cdf0e10cSrcweir { 1586*cdf0e10cSrcweir aTsbStretch.EnableTriState( sal_False ); 1587*cdf0e10cSrcweir 1588*cdf0e10cSrcweir if( ( ( const XFillBmpStretchItem& ) rAttrs.Get( XATTR_FILLBMP_STRETCH ) ).GetValue() ) 1589*cdf0e10cSrcweir aTsbStretch.SetState( STATE_CHECK ); 1590*cdf0e10cSrcweir else 1591*cdf0e10cSrcweir aTsbStretch.SetState( STATE_NOCHECK ); 1592*cdf0e10cSrcweir } 1593*cdf0e10cSrcweir else 1594*cdf0e10cSrcweir aTsbStretch.SetState( STATE_DONTKNOW ); 1595*cdf0e10cSrcweir 1596*cdf0e10cSrcweir 1597*cdf0e10cSrcweir //aTsbScale 1598*cdf0e10cSrcweir if( rAttrs.GetItemState( XATTR_FILLBMP_SIZELOG ) != SFX_ITEM_DONTCARE ) 1599*cdf0e10cSrcweir { 1600*cdf0e10cSrcweir aTsbScale.EnableTriState( sal_False ); 1601*cdf0e10cSrcweir 1602*cdf0e10cSrcweir if( ( ( const XFillBmpSizeLogItem& ) rAttrs.Get( XATTR_FILLBMP_SIZELOG ) ).GetValue() ) 1603*cdf0e10cSrcweir aTsbScale.SetState( STATE_NOCHECK ); 1604*cdf0e10cSrcweir else 1605*cdf0e10cSrcweir aTsbScale.SetState( STATE_CHECK ); 1606*cdf0e10cSrcweir 1607*cdf0e10cSrcweir ClickScaleHdl_Impl( NULL ); 1608*cdf0e10cSrcweir } 1609*cdf0e10cSrcweir else 1610*cdf0e10cSrcweir aTsbScale.SetState( STATE_DONTKNOW ); 1611*cdf0e10cSrcweir 1612*cdf0e10cSrcweir 1613*cdf0e10cSrcweir // Status fuer Originalgroesse ermitteln 1614*cdf0e10cSrcweir TriState eOriginal = STATE_NOCHECK; 1615*cdf0e10cSrcweir 1616*cdf0e10cSrcweir //aMtrFldXSize 1617*cdf0e10cSrcweir if( rAttrs.GetItemState( XATTR_FILLBMP_SIZEX ) != SFX_ITEM_DONTCARE ) 1618*cdf0e10cSrcweir { 1619*cdf0e10cSrcweir sal_Int32 nValue = ( ( const XFillBmpSizeXItem& ) rAttrs.Get( XATTR_FILLBMP_SIZEX ) ).GetValue(); 1620*cdf0e10cSrcweir if( aTsbScale.GetState() == STATE_CHECK ) 1621*cdf0e10cSrcweir { 1622*cdf0e10cSrcweir // Wenn im Item eine Prozentangabe steckt, 1623*cdf0e10cSrcweir // so ist diese wegen des MetricItems negativ 1624*cdf0e10cSrcweir aMtrFldXSize.SetValue( labs( nValue ) ); 1625*cdf0e10cSrcweir } 1626*cdf0e10cSrcweir else 1627*cdf0e10cSrcweir SetMetricValue( aMtrFldXSize, nValue, ePoolUnit ); 1628*cdf0e10cSrcweir aMtrFldXSize.SaveValue(); 1629*cdf0e10cSrcweir 1630*cdf0e10cSrcweir if( nValue == 0 ) 1631*cdf0e10cSrcweir { 1632*cdf0e10cSrcweir eOriginal = STATE_CHECK; 1633*cdf0e10cSrcweir // Wert ist beim Ausschalten von Originalgroesse sonst zu klein 1634*cdf0e10cSrcweir // (Performance-Problem) 1635*cdf0e10cSrcweir aMtrFldXSize.SetValue( 100 ); 1636*cdf0e10cSrcweir } 1637*cdf0e10cSrcweir } 1638*cdf0e10cSrcweir else 1639*cdf0e10cSrcweir { 1640*cdf0e10cSrcweir aMtrFldXSize.SetText( String() ); 1641*cdf0e10cSrcweir aMtrFldXSize.SaveValue(); 1642*cdf0e10cSrcweir } 1643*cdf0e10cSrcweir 1644*cdf0e10cSrcweir //aMtrFldYSize 1645*cdf0e10cSrcweir if( rAttrs.GetItemState( XATTR_FILLBMP_SIZEY ) != SFX_ITEM_DONTCARE ) 1646*cdf0e10cSrcweir { 1647*cdf0e10cSrcweir sal_Int32 nValue = ( ( const XFillBmpSizeYItem& ) rAttrs.Get( XATTR_FILLBMP_SIZEY ) ).GetValue(); 1648*cdf0e10cSrcweir if( aTsbScale.GetState() == STATE_CHECK ) 1649*cdf0e10cSrcweir { 1650*cdf0e10cSrcweir // Wenn im Item eine Prozentangabe steckt, 1651*cdf0e10cSrcweir // so ist diese wegen des MetricItems negativ 1652*cdf0e10cSrcweir aMtrFldYSize.SetValue( labs( nValue ) ); 1653*cdf0e10cSrcweir } 1654*cdf0e10cSrcweir else 1655*cdf0e10cSrcweir SetMetricValue( aMtrFldYSize, nValue, ePoolUnit ); 1656*cdf0e10cSrcweir aMtrFldYSize.SaveValue(); 1657*cdf0e10cSrcweir 1658*cdf0e10cSrcweir if( nValue == 0 ) 1659*cdf0e10cSrcweir aMtrFldYSize.SetValue( 100 ); //s.o. 1660*cdf0e10cSrcweir else 1661*cdf0e10cSrcweir eOriginal = STATE_NOCHECK; 1662*cdf0e10cSrcweir } 1663*cdf0e10cSrcweir else 1664*cdf0e10cSrcweir { 1665*cdf0e10cSrcweir aMtrFldYSize.SetText( String() ); 1666*cdf0e10cSrcweir aMtrFldYSize.SaveValue(); 1667*cdf0e10cSrcweir eOriginal = STATE_NOCHECK; 1668*cdf0e10cSrcweir } 1669*cdf0e10cSrcweir 1670*cdf0e10cSrcweir // aTsbOriginal 1671*cdf0e10cSrcweir aTsbOriginal.SetState( eOriginal ); 1672*cdf0e10cSrcweir 1673*cdf0e10cSrcweir // #93372# Setting proper state after changing button 1674*cdf0e10cSrcweir ModifyTileHdl_Impl( NULL ); 1675*cdf0e10cSrcweir 1676*cdf0e10cSrcweir //aRbtRow 1677*cdf0e10cSrcweir //aRbtColumn 1678*cdf0e10cSrcweir //aMtrFldOffset 1679*cdf0e10cSrcweir if( rAttrs.GetItemState( XATTR_FILLBMP_TILEOFFSETX ) != SFX_ITEM_DONTCARE ) 1680*cdf0e10cSrcweir { 1681*cdf0e10cSrcweir sal_uInt16 nValue = ( ( const XFillBmpTileOffsetXItem& ) rAttrs.Get( XATTR_FILLBMP_TILEOFFSETX ) ).GetValue(); 1682*cdf0e10cSrcweir if( nValue > 0 ) 1683*cdf0e10cSrcweir { 1684*cdf0e10cSrcweir aMtrFldOffset.SetValue( nValue ); 1685*cdf0e10cSrcweir aRbtRow.Check(); 1686*cdf0e10cSrcweir } 1687*cdf0e10cSrcweir else if( rAttrs.GetItemState( XATTR_FILLBMP_TILEOFFSETY ) != SFX_ITEM_DONTCARE ) 1688*cdf0e10cSrcweir { 1689*cdf0e10cSrcweir nValue = ( ( const XFillBmpTileOffsetYItem& ) rAttrs.Get( XATTR_FILLBMP_TILEOFFSETY ) ).GetValue(); 1690*cdf0e10cSrcweir if( nValue > 0 ) 1691*cdf0e10cSrcweir { 1692*cdf0e10cSrcweir aMtrFldOffset.SetValue( nValue ); 1693*cdf0e10cSrcweir aRbtColumn.Check(); 1694*cdf0e10cSrcweir } 1695*cdf0e10cSrcweir } 1696*cdf0e10cSrcweir else 1697*cdf0e10cSrcweir aMtrFldOffset.SetValue( 0 ); 1698*cdf0e10cSrcweir } 1699*cdf0e10cSrcweir else 1700*cdf0e10cSrcweir aMtrFldOffset.SetText( String() ); 1701*cdf0e10cSrcweir 1702*cdf0e10cSrcweir 1703*cdf0e10cSrcweir //aCtlPosition 1704*cdf0e10cSrcweir if( rAttrs.GetItemState( XATTR_FILLBMP_POS ) != SFX_ITEM_DONTCARE ) 1705*cdf0e10cSrcweir { 1706*cdf0e10cSrcweir RECT_POINT eValue = ( ( const XFillBmpPosItem& ) rAttrs.Get( XATTR_FILLBMP_POS ) ).GetValue(); 1707*cdf0e10cSrcweir aCtlPosition.SetActualRP( eValue ); 1708*cdf0e10cSrcweir } 1709*cdf0e10cSrcweir else 1710*cdf0e10cSrcweir aCtlPosition.Reset(); 1711*cdf0e10cSrcweir 1712*cdf0e10cSrcweir //aMtrFldXOffset 1713*cdf0e10cSrcweir if( rAttrs.GetItemState( XATTR_FILLBMP_POSOFFSETX ) != SFX_ITEM_DONTCARE ) 1714*cdf0e10cSrcweir { 1715*cdf0e10cSrcweir sal_Int32 nValue = ( ( const XFillBmpPosOffsetXItem& ) rAttrs.Get( XATTR_FILLBMP_POSOFFSETX ) ).GetValue(); 1716*cdf0e10cSrcweir aMtrFldXOffset.SetValue( nValue ); 1717*cdf0e10cSrcweir } 1718*cdf0e10cSrcweir else 1719*cdf0e10cSrcweir aMtrFldXOffset.SetText( String() ); 1720*cdf0e10cSrcweir 1721*cdf0e10cSrcweir //aMtrFldYOffset 1722*cdf0e10cSrcweir if( rAttrs.GetItemState( XATTR_FILLBMP_POSOFFSETY ) != SFX_ITEM_DONTCARE ) 1723*cdf0e10cSrcweir { 1724*cdf0e10cSrcweir sal_Int32 nValue = ( ( const XFillBmpPosOffsetYItem& ) rAttrs.Get( XATTR_FILLBMP_POSOFFSETY ) ).GetValue(); 1725*cdf0e10cSrcweir aMtrFldYOffset.SetValue( nValue ); 1726*cdf0e10cSrcweir } 1727*cdf0e10cSrcweir else 1728*cdf0e10cSrcweir aMtrFldYOffset.SetText( String() ); 1729*cdf0e10cSrcweir 1730*cdf0e10cSrcweir // Erst hier, damit Tile und Stretch mit beruecksichtigt wird 1731*cdf0e10cSrcweir if( aTypeLB.GetSelectEntryPos() == XFILL_BITMAP ) 1732*cdf0e10cSrcweir ClickBitmapHdl_Impl( NULL ); 1733*cdf0e10cSrcweir 1734*cdf0e10cSrcweir // Werte sichern 1735*cdf0e10cSrcweir aTypeLB.SaveValue(); 1736*cdf0e10cSrcweir aLbColor.SaveValue(); 1737*cdf0e10cSrcweir aLbGradient.SaveValue(); 1738*cdf0e10cSrcweir aLbHatching.SaveValue(); 1739*cdf0e10cSrcweir //aCbxHatchBckgrd.SaveValue(); 1740*cdf0e10cSrcweir aLbHatchBckgrdColor.SaveValue(); 1741*cdf0e10cSrcweir aLbBitmap.SaveValue(); 1742*cdf0e10cSrcweir // aLbTransparent.SaveValue(); 1743*cdf0e10cSrcweir aTsbStepCount.SaveValue(); 1744*cdf0e10cSrcweir aNumFldStepCount.SaveValue(); 1745*cdf0e10cSrcweir aTsbTile.SaveValue(); 1746*cdf0e10cSrcweir aTsbStretch.SaveValue(); 1747*cdf0e10cSrcweir aTsbScale.SaveValue(); 1748*cdf0e10cSrcweir aRbtRow.SaveValue(); 1749*cdf0e10cSrcweir aRbtColumn.SaveValue(); 1750*cdf0e10cSrcweir aMtrFldOffset.SaveValue(); 1751*cdf0e10cSrcweir aMtrFldXOffset.SaveValue(); 1752*cdf0e10cSrcweir aMtrFldYOffset.SaveValue(); 1753*cdf0e10cSrcweir //aMtrFldXSize.SaveValue(); <- wird oben behandelt 1754*cdf0e10cSrcweir //aMtrFldYSize.SaveValue(); <- wird oben behandelt 1755*cdf0e10cSrcweir } 1756*cdf0e10cSrcweir 1757*cdf0e10cSrcweir // ----------------------------------------------------------------------- 1758*cdf0e10cSrcweir 1759*cdf0e10cSrcweir SfxTabPage* SvxAreaTabPage::Create( Window* pWindow, 1760*cdf0e10cSrcweir const SfxItemSet& rAttrs ) 1761*cdf0e10cSrcweir { 1762*cdf0e10cSrcweir return( new SvxAreaTabPage( pWindow, rAttrs ) ); 1763*cdf0e10cSrcweir } 1764*cdf0e10cSrcweir 1765*cdf0e10cSrcweir //------------------------------------------------------------------------ 1766*cdf0e10cSrcweir 1767*cdf0e10cSrcweir sal_uInt16* SvxAreaTabPage::GetRanges() 1768*cdf0e10cSrcweir { 1769*cdf0e10cSrcweir return( pAreaRanges ); 1770*cdf0e10cSrcweir } 1771*cdf0e10cSrcweir 1772*cdf0e10cSrcweir //------------------------------------------------------------------------ 1773*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, SelectDialogTypeHdl_Impl, ListBox *, EMPTYARG ) 1774*cdf0e10cSrcweir { 1775*cdf0e10cSrcweir switch( (XFillStyle)aTypeLB.GetSelectEntryPos() ) 1776*cdf0e10cSrcweir { 1777*cdf0e10cSrcweir case XFILL_NONE: ClickInvisibleHdl_Impl( this ); break; 1778*cdf0e10cSrcweir case XFILL_SOLID: ClickColorHdl_Impl( this ); break; 1779*cdf0e10cSrcweir case XFILL_GRADIENT: ClickGradientHdl_Impl( this ); break; 1780*cdf0e10cSrcweir case XFILL_HATCH: ClickHatchingHdl_Impl( this ); break; 1781*cdf0e10cSrcweir case XFILL_BITMAP: ClickBitmapHdl_Impl( this ); break; 1782*cdf0e10cSrcweir } 1783*cdf0e10cSrcweir 1784*cdf0e10cSrcweir return 0; 1785*cdf0e10cSrcweir } 1786*cdf0e10cSrcweir 1787*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ClickInvisibleHdl_Impl, void *, EMPTYARG ) 1788*cdf0e10cSrcweir { 1789*cdf0e10cSrcweir aTsbTile.Hide(); 1790*cdf0e10cSrcweir aTsbStretch.Hide(); 1791*cdf0e10cSrcweir aTsbScale.Hide(); 1792*cdf0e10cSrcweir aTsbOriginal.Hide(); 1793*cdf0e10cSrcweir aFtXSize.Hide(); 1794*cdf0e10cSrcweir aMtrFldXSize.Hide(); 1795*cdf0e10cSrcweir aFtYSize.Hide(); 1796*cdf0e10cSrcweir aMtrFldYSize.Hide(); 1797*cdf0e10cSrcweir aFlSize.Hide(); 1798*cdf0e10cSrcweir aRbtRow.Hide(); 1799*cdf0e10cSrcweir aRbtColumn.Hide(); 1800*cdf0e10cSrcweir aMtrFldOffset.Hide(); 1801*cdf0e10cSrcweir aFlOffset.Hide(); 1802*cdf0e10cSrcweir aCtlPosition.Hide(); 1803*cdf0e10cSrcweir aFtXOffset.Hide(); 1804*cdf0e10cSrcweir aMtrFldXOffset.Hide(); 1805*cdf0e10cSrcweir aFtYOffset.Hide(); 1806*cdf0e10cSrcweir aMtrFldYOffset.Hide(); 1807*cdf0e10cSrcweir aFlPosition.Hide(); 1808*cdf0e10cSrcweir 1809*cdf0e10cSrcweir aLbColor.Hide(); 1810*cdf0e10cSrcweir aLbGradient.Hide(); 1811*cdf0e10cSrcweir aLbHatching.Hide(); 1812*cdf0e10cSrcweir aLbBitmap.Hide(); 1813*cdf0e10cSrcweir aCtlXRectPreview.Hide(); 1814*cdf0e10cSrcweir aCtlBitmapPreview.Hide(); 1815*cdf0e10cSrcweir 1816*cdf0e10cSrcweir aFlStepCount.Hide(); 1817*cdf0e10cSrcweir aTsbStepCount.Hide(); 1818*cdf0e10cSrcweir aNumFldStepCount.Hide(); 1819*cdf0e10cSrcweir 1820*cdf0e10cSrcweir // Controls for Hatch-Background 1821*cdf0e10cSrcweir aCbxHatchBckgrd.Hide(); 1822*cdf0e10cSrcweir aLbHatchBckgrdColor.Hide(); 1823*cdf0e10cSrcweir 1824*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_NONE ) ); 1825*cdf0e10cSrcweir aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() ); 1826*cdf0e10cSrcweir aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() ); 1827*cdf0e10cSrcweir 1828*cdf0e10cSrcweir aCtlXRectPreview.Invalidate(); 1829*cdf0e10cSrcweir aCtlBitmapPreview.Invalidate(); 1830*cdf0e10cSrcweir 1831*cdf0e10cSrcweir return( 0L ); 1832*cdf0e10cSrcweir } 1833*cdf0e10cSrcweir 1834*cdf0e10cSrcweir //------------------------------------------------------------------------ 1835*cdf0e10cSrcweir 1836*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ClickColorHdl_Impl, void *, EMPTYARG ) 1837*cdf0e10cSrcweir { 1838*cdf0e10cSrcweir aTsbTile.Hide(); 1839*cdf0e10cSrcweir aTsbStretch.Hide(); 1840*cdf0e10cSrcweir aTsbScale.Hide(); 1841*cdf0e10cSrcweir aTsbOriginal.Hide(); 1842*cdf0e10cSrcweir aFtXSize.Hide(); 1843*cdf0e10cSrcweir aMtrFldXSize.Hide(); 1844*cdf0e10cSrcweir aFtYSize.Hide(); 1845*cdf0e10cSrcweir aMtrFldYSize.Hide(); 1846*cdf0e10cSrcweir aFlSize.Hide(); 1847*cdf0e10cSrcweir aRbtRow.Hide(); 1848*cdf0e10cSrcweir aRbtColumn.Hide(); 1849*cdf0e10cSrcweir aMtrFldOffset.Hide(); 1850*cdf0e10cSrcweir aFlOffset.Hide(); 1851*cdf0e10cSrcweir aCtlPosition.Hide(); 1852*cdf0e10cSrcweir aFtXOffset.Hide(); 1853*cdf0e10cSrcweir aMtrFldXOffset.Hide(); 1854*cdf0e10cSrcweir aFtYOffset.Hide(); 1855*cdf0e10cSrcweir aMtrFldYOffset.Hide(); 1856*cdf0e10cSrcweir aFlPosition.Hide(); 1857*cdf0e10cSrcweir 1858*cdf0e10cSrcweir aLbColor.Enable(); 1859*cdf0e10cSrcweir aLbColor.Show(); 1860*cdf0e10cSrcweir aLbGradient.Hide(); 1861*cdf0e10cSrcweir aLbHatching.Hide(); 1862*cdf0e10cSrcweir aLbBitmap.Hide(); 1863*cdf0e10cSrcweir aCtlXRectPreview.Enable(); 1864*cdf0e10cSrcweir aCtlXRectPreview.Show(); 1865*cdf0e10cSrcweir aCtlBitmapPreview.Hide(); 1866*cdf0e10cSrcweir 1867*cdf0e10cSrcweir aFlStepCount.Hide(); 1868*cdf0e10cSrcweir aTsbStepCount.Hide(); 1869*cdf0e10cSrcweir aNumFldStepCount.Hide(); 1870*cdf0e10cSrcweir 1871*cdf0e10cSrcweir // Controls for Hatch-Background 1872*cdf0e10cSrcweir aCbxHatchBckgrd.Hide(); 1873*cdf0e10cSrcweir aLbHatchBckgrdColor.Hide(); 1874*cdf0e10cSrcweir 1875*cdf0e10cSrcweir // Text der Tabelle setzen 1876*cdf0e10cSrcweir String aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) ); 1877*cdf0e10cSrcweir INetURLObject aURL( pColorTab->GetPath() ); 1878*cdf0e10cSrcweir 1879*cdf0e10cSrcweir aURL.Append( pColorTab->GetName() ); 1880*cdf0e10cSrcweir DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" ); 1881*cdf0e10cSrcweir 1882*cdf0e10cSrcweir if( aURL.getBase().getLength() > 18 ) 1883*cdf0e10cSrcweir { 1884*cdf0e10cSrcweir aString += String(aURL.getBase()).Copy( 0, 15 ); 1885*cdf0e10cSrcweir aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "..." ) ); 1886*cdf0e10cSrcweir } 1887*cdf0e10cSrcweir else 1888*cdf0e10cSrcweir aString += String(aURL.getBase()); 1889*cdf0e10cSrcweir 1890*cdf0e10cSrcweir ModifyColorHdl_Impl( this ); 1891*cdf0e10cSrcweir return( 0L ); 1892*cdf0e10cSrcweir } 1893*cdf0e10cSrcweir 1894*cdf0e10cSrcweir //------------------------------------------------------------------------ 1895*cdf0e10cSrcweir 1896*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ModifyColorHdl_Impl, void *, EMPTYARG ) 1897*cdf0e10cSrcweir { 1898*cdf0e10cSrcweir const SfxPoolItem* pPoolItem = NULL; 1899*cdf0e10cSrcweir sal_uInt16 _nPos = aLbColor.GetSelectEntryPos(); 1900*cdf0e10cSrcweir aLbHatchBckgrdColor.SelectEntryPos( _nPos ); 1901*cdf0e10cSrcweir if( _nPos != LISTBOX_ENTRY_NOTFOUND ) 1902*cdf0e10cSrcweir { 1903*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_SOLID ) ); 1904*cdf0e10cSrcweir rXFSet.Put( XFillColorItem( String(), 1905*cdf0e10cSrcweir aLbColor.GetSelectEntryColor() ) ); 1906*cdf0e10cSrcweir } 1907*cdf0e10cSrcweir // NEU 1908*cdf0e10cSrcweir else if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), sal_True, &pPoolItem ) ) 1909*cdf0e10cSrcweir { 1910*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_SOLID ) ); 1911*cdf0e10cSrcweir Color aColor( ( ( const XFillColorItem* ) pPoolItem )->GetColorValue() ); 1912*cdf0e10cSrcweir rXFSet.Put( XFillColorItem( String(), aColor ) ); 1913*cdf0e10cSrcweir } 1914*cdf0e10cSrcweir else 1915*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_NONE ) ); 1916*cdf0e10cSrcweir 1917*cdf0e10cSrcweir aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() ); 1918*cdf0e10cSrcweir aCtlXRectPreview.Invalidate(); 1919*cdf0e10cSrcweir 1920*cdf0e10cSrcweir return( 0L ); 1921*cdf0e10cSrcweir } 1922*cdf0e10cSrcweir //------------------------------------------------------------------------ 1923*cdf0e10cSrcweir 1924*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ClickGradientHdl_Impl, void *, EMPTYARG ) 1925*cdf0e10cSrcweir { 1926*cdf0e10cSrcweir aTsbTile.Hide(); 1927*cdf0e10cSrcweir aTsbStretch.Hide(); 1928*cdf0e10cSrcweir aTsbScale.Hide(); 1929*cdf0e10cSrcweir aTsbOriginal.Hide(); 1930*cdf0e10cSrcweir aFtXSize.Hide(); 1931*cdf0e10cSrcweir aMtrFldXSize.Hide(); 1932*cdf0e10cSrcweir aFtYSize.Hide(); 1933*cdf0e10cSrcweir aMtrFldYSize.Hide(); 1934*cdf0e10cSrcweir aFlSize.Hide(); 1935*cdf0e10cSrcweir aRbtRow.Hide(); 1936*cdf0e10cSrcweir aRbtColumn.Hide(); 1937*cdf0e10cSrcweir aMtrFldOffset.Hide(); 1938*cdf0e10cSrcweir aFlOffset.Hide(); 1939*cdf0e10cSrcweir aCtlPosition.Hide(); 1940*cdf0e10cSrcweir aFtXOffset.Hide(); 1941*cdf0e10cSrcweir aMtrFldXOffset.Hide(); 1942*cdf0e10cSrcweir aFtYOffset.Hide(); 1943*cdf0e10cSrcweir aMtrFldYOffset.Hide(); 1944*cdf0e10cSrcweir aFlPosition.Hide(); 1945*cdf0e10cSrcweir 1946*cdf0e10cSrcweir aLbColor.Hide(); 1947*cdf0e10cSrcweir aLbGradient.Enable(); 1948*cdf0e10cSrcweir aLbGradient.Show(); 1949*cdf0e10cSrcweir aLbHatching.Hide(); 1950*cdf0e10cSrcweir aLbBitmap.Hide(); 1951*cdf0e10cSrcweir aCtlXRectPreview.Enable(); 1952*cdf0e10cSrcweir aCtlXRectPreview.Show(); 1953*cdf0e10cSrcweir aCtlBitmapPreview.Hide(); 1954*cdf0e10cSrcweir 1955*cdf0e10cSrcweir aFlStepCount.Enable(); 1956*cdf0e10cSrcweir aFlStepCount.Show(); 1957*cdf0e10cSrcweir aTsbStepCount.Enable(); 1958*cdf0e10cSrcweir aTsbStepCount.Show(); 1959*cdf0e10cSrcweir aNumFldStepCount.Show(); 1960*cdf0e10cSrcweir 1961*cdf0e10cSrcweir // Controls for Hatch-Background 1962*cdf0e10cSrcweir aCbxHatchBckgrd.Hide(); 1963*cdf0e10cSrcweir aLbHatchBckgrdColor.Hide(); 1964*cdf0e10cSrcweir 1965*cdf0e10cSrcweir // Text der Tabelle setzen 1966*cdf0e10cSrcweir String aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) ); 1967*cdf0e10cSrcweir INetURLObject aURL( pGradientList->GetPath() ); 1968*cdf0e10cSrcweir 1969*cdf0e10cSrcweir aURL.Append( pGradientList->GetName() ); 1970*cdf0e10cSrcweir DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" ); 1971*cdf0e10cSrcweir 1972*cdf0e10cSrcweir if( aURL.getBase().getLength() > 18 ) 1973*cdf0e10cSrcweir { 1974*cdf0e10cSrcweir aString += String(aURL.getBase()).Copy( 0, 15 ); 1975*cdf0e10cSrcweir aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "..." ) ); 1976*cdf0e10cSrcweir } 1977*cdf0e10cSrcweir else 1978*cdf0e10cSrcweir aString += String(aURL.getBase()); 1979*cdf0e10cSrcweir 1980*cdf0e10cSrcweir ModifyGradientHdl_Impl( this ); 1981*cdf0e10cSrcweir ModifyStepCountHdl_Impl( &aTsbStepCount ); 1982*cdf0e10cSrcweir return( 0L ); 1983*cdf0e10cSrcweir } 1984*cdf0e10cSrcweir 1985*cdf0e10cSrcweir //------------------------------------------------------------------------ 1986*cdf0e10cSrcweir 1987*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ModifyGradientHdl_Impl, void *, EMPTYARG ) 1988*cdf0e10cSrcweir { 1989*cdf0e10cSrcweir const SfxPoolItem* pPoolItem = NULL; 1990*cdf0e10cSrcweir sal_uInt16 _nPos = aLbGradient.GetSelectEntryPos(); 1991*cdf0e10cSrcweir if( _nPos != LISTBOX_ENTRY_NOTFOUND ) 1992*cdf0e10cSrcweir { 1993*cdf0e10cSrcweir // ItemSet fuellen und an aCtlXRectPreview weiterleiten 1994*cdf0e10cSrcweir XGradientEntry* pEntry = pGradientList->GetGradient( _nPos ); 1995*cdf0e10cSrcweir 1996*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_GRADIENT ) ); 1997*cdf0e10cSrcweir rXFSet.Put( XFillGradientItem( String(), 1998*cdf0e10cSrcweir pEntry->GetGradient() ) ); 1999*cdf0e10cSrcweir } 2000*cdf0e10cSrcweir // NEU 2001*cdf0e10cSrcweir else if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLGRADIENT ), sal_True, &pPoolItem ) ) 2002*cdf0e10cSrcweir { 2003*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_GRADIENT ) ); 2004*cdf0e10cSrcweir rXFSet.Put( XFillGradientItem( String(), ( ( const XFillGradientItem* ) pPoolItem )->GetGradientValue() ) ); 2005*cdf0e10cSrcweir } 2006*cdf0e10cSrcweir else 2007*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_NONE ) ); 2008*cdf0e10cSrcweir 2009*cdf0e10cSrcweir aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() ); 2010*cdf0e10cSrcweir aCtlXRectPreview.Invalidate(); 2011*cdf0e10cSrcweir 2012*cdf0e10cSrcweir return( 0L ); 2013*cdf0e10cSrcweir } 2014*cdf0e10cSrcweir 2015*cdf0e10cSrcweir //------------------------------------------------------------------------ 2016*cdf0e10cSrcweir 2017*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ClickHatchingHdl_Impl, void *, EMPTYARG ) 2018*cdf0e10cSrcweir { 2019*cdf0e10cSrcweir aLbColor.Hide(); 2020*cdf0e10cSrcweir aLbGradient.Hide(); 2021*cdf0e10cSrcweir aLbHatching.Enable(); 2022*cdf0e10cSrcweir aLbHatching.Show(); 2023*cdf0e10cSrcweir aLbBitmap.Hide(); 2024*cdf0e10cSrcweir aCtlXRectPreview.Enable(); 2025*cdf0e10cSrcweir aCtlXRectPreview.Show(); 2026*cdf0e10cSrcweir aCtlBitmapPreview.Hide(); 2027*cdf0e10cSrcweir 2028*cdf0e10cSrcweir // aGrpTransparent.Hide(); 2029*cdf0e10cSrcweir // aLbTransparent.Hide(); 2030*cdf0e10cSrcweir aFlStepCount.Hide(); 2031*cdf0e10cSrcweir aTsbStepCount.Hide(); 2032*cdf0e10cSrcweir aNumFldStepCount.Hide(); 2033*cdf0e10cSrcweir 2034*cdf0e10cSrcweir aTsbTile.Hide(); 2035*cdf0e10cSrcweir aTsbStretch.Hide(); 2036*cdf0e10cSrcweir aTsbScale.Hide(); 2037*cdf0e10cSrcweir aTsbOriginal.Hide(); 2038*cdf0e10cSrcweir aFtXSize.Hide(); 2039*cdf0e10cSrcweir aMtrFldXSize.Hide(); 2040*cdf0e10cSrcweir aFtYSize.Hide(); 2041*cdf0e10cSrcweir aMtrFldYSize.Hide(); 2042*cdf0e10cSrcweir aFlSize.Hide(); 2043*cdf0e10cSrcweir aRbtRow.Hide(); 2044*cdf0e10cSrcweir aRbtColumn.Hide(); 2045*cdf0e10cSrcweir aMtrFldOffset.Hide(); 2046*cdf0e10cSrcweir aFlOffset.Hide(); 2047*cdf0e10cSrcweir aCtlPosition.Hide(); 2048*cdf0e10cSrcweir aFtXOffset.Hide(); 2049*cdf0e10cSrcweir aMtrFldXOffset.Hide(); 2050*cdf0e10cSrcweir aFtYOffset.Hide(); 2051*cdf0e10cSrcweir aMtrFldYOffset.Hide(); 2052*cdf0e10cSrcweir aFlPosition.Hide(); 2053*cdf0e10cSrcweir 2054*cdf0e10cSrcweir // Controls for Hatch-Background 2055*cdf0e10cSrcweir aCbxHatchBckgrd.Show(); 2056*cdf0e10cSrcweir aLbHatchBckgrdColor.Show(); 2057*cdf0e10cSrcweir aCbxHatchBckgrd.Enable(); 2058*cdf0e10cSrcweir aLbHatchBckgrdColor.Enable(); 2059*cdf0e10cSrcweir 2060*cdf0e10cSrcweir // Text der Tabelle setzen 2061*cdf0e10cSrcweir String aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) ); 2062*cdf0e10cSrcweir INetURLObject aURL( pHatchingList->GetPath() ); 2063*cdf0e10cSrcweir 2064*cdf0e10cSrcweir aURL.Append( pHatchingList->GetName() ); 2065*cdf0e10cSrcweir DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" ); 2066*cdf0e10cSrcweir 2067*cdf0e10cSrcweir if( aURL.getBase().getLength() > 18 ) 2068*cdf0e10cSrcweir { 2069*cdf0e10cSrcweir aString += String(String(aURL.getBase()).Copy( 0, 15 )); 2070*cdf0e10cSrcweir aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "..." ) ); 2071*cdf0e10cSrcweir } 2072*cdf0e10cSrcweir else 2073*cdf0e10cSrcweir aString += String(aURL.getBase()); 2074*cdf0e10cSrcweir 2075*cdf0e10cSrcweir ModifyHatchingHdl_Impl( this ); 2076*cdf0e10cSrcweir ModifyHatchBckgrdColorHdl_Impl( this ); 2077*cdf0e10cSrcweir ToggleHatchBckgrdColorHdl_Impl( this ); 2078*cdf0e10cSrcweir 2079*cdf0e10cSrcweir return( 0L ); 2080*cdf0e10cSrcweir } 2081*cdf0e10cSrcweir 2082*cdf0e10cSrcweir //------------------------------------------------------------------------ 2083*cdf0e10cSrcweir 2084*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ModifyHatchingHdl_Impl, void *, EMPTYARG ) 2085*cdf0e10cSrcweir { 2086*cdf0e10cSrcweir const SfxPoolItem* pPoolItem = NULL; 2087*cdf0e10cSrcweir sal_uInt16 _nPos = aLbHatching.GetSelectEntryPos(); 2088*cdf0e10cSrcweir if( _nPos != LISTBOX_ENTRY_NOTFOUND ) 2089*cdf0e10cSrcweir { 2090*cdf0e10cSrcweir // ItemSet fuellen und an aCtlXRectPreview weiterleiten 2091*cdf0e10cSrcweir XHatchEntry* pEntry = pHatchingList->GetHatch( _nPos ); 2092*cdf0e10cSrcweir 2093*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_HATCH ) ); 2094*cdf0e10cSrcweir rXFSet.Put( XFillHatchItem( String(), pEntry->GetHatch() ) ); 2095*cdf0e10cSrcweir } 2096*cdf0e10cSrcweir // NEU 2097*cdf0e10cSrcweir else if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLHATCH ), sal_True, &pPoolItem ) ) 2098*cdf0e10cSrcweir { 2099*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_HATCH ) ); 2100*cdf0e10cSrcweir rXFSet.Put( XFillHatchItem( String(), ( ( const XFillHatchItem* ) pPoolItem )->GetHatchValue() ) ); 2101*cdf0e10cSrcweir } 2102*cdf0e10cSrcweir else 2103*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_NONE ) ); 2104*cdf0e10cSrcweir 2105*cdf0e10cSrcweir aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() ); 2106*cdf0e10cSrcweir aCtlXRectPreview.Invalidate(); 2107*cdf0e10cSrcweir 2108*cdf0e10cSrcweir return( 0L ); 2109*cdf0e10cSrcweir } 2110*cdf0e10cSrcweir 2111*cdf0e10cSrcweir //------------------------------------------------------------------------ 2112*cdf0e10cSrcweir 2113*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ModifyHatchBckgrdColorHdl_Impl, void *, EMPTYARG ) 2114*cdf0e10cSrcweir { 2115*cdf0e10cSrcweir const SfxPoolItem* pPoolItem = NULL; 2116*cdf0e10cSrcweir sal_uInt16 _nPos = aLbHatchBckgrdColor.GetSelectEntryPos(); 2117*cdf0e10cSrcweir aLbColor.SelectEntryPos( _nPos ); 2118*cdf0e10cSrcweir if( _nPos != LISTBOX_ENTRY_NOTFOUND ) 2119*cdf0e10cSrcweir { 2120*cdf0e10cSrcweir // rXFSet.Put( XFillStyleItem( XFILL_SOLID ) ); 2121*cdf0e10cSrcweir rXFSet.Put( XFillColorItem( String(), 2122*cdf0e10cSrcweir aLbHatchBckgrdColor.GetSelectEntryColor() ) ); 2123*cdf0e10cSrcweir } 2124*cdf0e10cSrcweir // NEU 2125*cdf0e10cSrcweir else if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), sal_True, &pPoolItem ) ) 2126*cdf0e10cSrcweir { 2127*cdf0e10cSrcweir // rXFSet.Put( XFillStyleItem( XFILL_SOLID ) ); 2128*cdf0e10cSrcweir Color aColor( ( ( const XFillColorItem* ) pPoolItem )->GetColorValue() ); 2129*cdf0e10cSrcweir rXFSet.Put( XFillColorItem( String(), aColor ) ); 2130*cdf0e10cSrcweir } 2131*cdf0e10cSrcweir else 2132*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_NONE ) ); 2133*cdf0e10cSrcweir 2134*cdf0e10cSrcweir aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() ); 2135*cdf0e10cSrcweir aCtlXRectPreview.Invalidate(); 2136*cdf0e10cSrcweir 2137*cdf0e10cSrcweir return( 0L ); 2138*cdf0e10cSrcweir } 2139*cdf0e10cSrcweir 2140*cdf0e10cSrcweir //------------------------------------------------------------------------ 2141*cdf0e10cSrcweir 2142*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ToggleHatchBckgrdColorHdl_Impl, void *, EMPTYARG ) 2143*cdf0e10cSrcweir { 2144*cdf0e10cSrcweir // switch on/off backgroundcolor for hatches 2145*cdf0e10cSrcweir aLbHatchBckgrdColor.Enable( aCbxHatchBckgrd.IsChecked() ); 2146*cdf0e10cSrcweir 2147*cdf0e10cSrcweir XFillBackgroundItem aItem( aCbxHatchBckgrd.IsChecked() ); 2148*cdf0e10cSrcweir rXFSet.Put ( aItem, XATTR_FILLBACKGROUND ); 2149*cdf0e10cSrcweir 2150*cdf0e10cSrcweir aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() ); 2151*cdf0e10cSrcweir aCtlXRectPreview.Invalidate(); 2152*cdf0e10cSrcweir 2153*cdf0e10cSrcweir if( aLbHatchBckgrdColor.GetSelectEntryPos() == LISTBOX_ENTRY_NOTFOUND ) 2154*cdf0e10cSrcweir { 2155*cdf0e10cSrcweir if ( SFX_ITEM_SET == rOutAttrs.GetItemState( XATTR_FILLCOLOR ) )//>= SFX_ITEM_DEFAULT ) 2156*cdf0e10cSrcweir { 2157*cdf0e10cSrcweir XFillColorItem aColorItem( (const XFillColorItem&)rOutAttrs.Get( XATTR_FILLCOLOR ) ); 2158*cdf0e10cSrcweir aLbHatchBckgrdColor.SelectEntry( aColorItem.GetColorValue() ); 2159*cdf0e10cSrcweir } 2160*cdf0e10cSrcweir } 2161*cdf0e10cSrcweir 2162*cdf0e10cSrcweir return( 0L ); 2163*cdf0e10cSrcweir } 2164*cdf0e10cSrcweir 2165*cdf0e10cSrcweir //------------------------------------------------------------------------ 2166*cdf0e10cSrcweir 2167*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ClickBitmapHdl_Impl, void *, EMPTYARG ) 2168*cdf0e10cSrcweir { 2169*cdf0e10cSrcweir aLbColor.Hide(); 2170*cdf0e10cSrcweir aLbGradient.Hide(); 2171*cdf0e10cSrcweir aLbHatching.Hide(); 2172*cdf0e10cSrcweir aLbBitmap.Enable(); 2173*cdf0e10cSrcweir aLbBitmap.Show(); 2174*cdf0e10cSrcweir aCtlBitmapPreview.Enable(); 2175*cdf0e10cSrcweir aCtlBitmapPreview.Show(); 2176*cdf0e10cSrcweir aCtlXRectPreview.Hide(); 2177*cdf0e10cSrcweir // aGrpPreview.Hide(); 2178*cdf0e10cSrcweir // aGrpTransparent.Hide(); 2179*cdf0e10cSrcweir // aLbTransparent.Hide(); 2180*cdf0e10cSrcweir aFlStepCount.Hide(); 2181*cdf0e10cSrcweir aTsbStepCount.Hide(); 2182*cdf0e10cSrcweir aNumFldStepCount.Hide(); 2183*cdf0e10cSrcweir 2184*cdf0e10cSrcweir aTsbTile.Enable(); 2185*cdf0e10cSrcweir aTsbStretch.Enable(); 2186*cdf0e10cSrcweir aTsbScale.Enable(); 2187*cdf0e10cSrcweir aTsbOriginal.Enable(); 2188*cdf0e10cSrcweir aFtXSize.Enable(); 2189*cdf0e10cSrcweir aMtrFldXSize.Enable(); 2190*cdf0e10cSrcweir aFtYSize.Enable(); 2191*cdf0e10cSrcweir aMtrFldYSize.Enable(); 2192*cdf0e10cSrcweir aFlSize.Enable(); 2193*cdf0e10cSrcweir aCtlPosition.Enable(); 2194*cdf0e10cSrcweir aFtXOffset.Enable(); 2195*cdf0e10cSrcweir aMtrFldXOffset.Enable(); 2196*cdf0e10cSrcweir aFtYOffset.Enable(); 2197*cdf0e10cSrcweir aMtrFldYOffset.Enable(); 2198*cdf0e10cSrcweir aFlPosition.Enable(); 2199*cdf0e10cSrcweir aRbtRow.Enable(); 2200*cdf0e10cSrcweir aRbtColumn.Enable(); 2201*cdf0e10cSrcweir aMtrFldOffset.Enable(); 2202*cdf0e10cSrcweir aFlOffset.Enable(); 2203*cdf0e10cSrcweir 2204*cdf0e10cSrcweir // Controls for Hatch-Background 2205*cdf0e10cSrcweir aCbxHatchBckgrd.Hide(); 2206*cdf0e10cSrcweir aLbHatchBckgrdColor.Hide(); 2207*cdf0e10cSrcweir 2208*cdf0e10cSrcweir aTsbTile.Show(); 2209*cdf0e10cSrcweir aTsbStretch.Show(); 2210*cdf0e10cSrcweir aTsbScale.Show(); 2211*cdf0e10cSrcweir aTsbOriginal.Show(); 2212*cdf0e10cSrcweir aFtXSize.Show(); 2213*cdf0e10cSrcweir aMtrFldXSize.Show(); 2214*cdf0e10cSrcweir aFtYSize.Show(); 2215*cdf0e10cSrcweir aMtrFldYSize.Show(); 2216*cdf0e10cSrcweir aFlSize.Show(); 2217*cdf0e10cSrcweir aCtlPosition.Show(); 2218*cdf0e10cSrcweir aFtXOffset.Show(); 2219*cdf0e10cSrcweir aMtrFldXOffset.Show(); 2220*cdf0e10cSrcweir aFtYOffset.Show(); 2221*cdf0e10cSrcweir aMtrFldYOffset.Show(); 2222*cdf0e10cSrcweir aFlPosition.Show(); 2223*cdf0e10cSrcweir aRbtRow.Show(); 2224*cdf0e10cSrcweir aRbtColumn.Show(); 2225*cdf0e10cSrcweir aMtrFldOffset.Show(); 2226*cdf0e10cSrcweir aFlOffset.Show(); 2227*cdf0e10cSrcweir 2228*cdf0e10cSrcweir // Text der Tabelle setzen 2229*cdf0e10cSrcweir String aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) ); 2230*cdf0e10cSrcweir INetURLObject aURL( pBitmapList->GetPath() ); 2231*cdf0e10cSrcweir 2232*cdf0e10cSrcweir aURL.Append( pBitmapList->GetName() ); 2233*cdf0e10cSrcweir DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" ); 2234*cdf0e10cSrcweir 2235*cdf0e10cSrcweir if( aURL.getBase().getLength() > 18 ) 2236*cdf0e10cSrcweir { 2237*cdf0e10cSrcweir aString += String(aURL.getBase()).Copy( 0, 15 ); 2238*cdf0e10cSrcweir aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "..." ) ); 2239*cdf0e10cSrcweir } 2240*cdf0e10cSrcweir else 2241*cdf0e10cSrcweir aString += String(aURL.getBase()); 2242*cdf0e10cSrcweir 2243*cdf0e10cSrcweir ModifyBitmapHdl_Impl( this ); 2244*cdf0e10cSrcweir ModifyTileHdl_Impl( &aTsbOriginal ); 2245*cdf0e10cSrcweir return( 0L ); 2246*cdf0e10cSrcweir } 2247*cdf0e10cSrcweir 2248*cdf0e10cSrcweir //------------------------------------------------------------------------ 2249*cdf0e10cSrcweir 2250*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ModifyBitmapHdl_Impl, void *, EMPTYARG ) 2251*cdf0e10cSrcweir { 2252*cdf0e10cSrcweir const SfxPoolItem* pPoolItem = NULL; 2253*cdf0e10cSrcweir sal_uInt16 _nPos = aLbBitmap.GetSelectEntryPos(); 2254*cdf0e10cSrcweir if( _nPos != LISTBOX_ENTRY_NOTFOUND ) 2255*cdf0e10cSrcweir { 2256*cdf0e10cSrcweir // ItemSet fuellen und an aCtlXRectPreview weiterleiten 2257*cdf0e10cSrcweir XBitmapEntry* pEntry = pBitmapList->GetBitmap( _nPos ); 2258*cdf0e10cSrcweir 2259*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_BITMAP ) ); 2260*cdf0e10cSrcweir rXFSet.Put( XFillBitmapItem( String(), pEntry->GetXBitmap() ) ); 2261*cdf0e10cSrcweir } 2262*cdf0e10cSrcweir // NEU 2263*cdf0e10cSrcweir else if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLBITMAP ), sal_True, &pPoolItem ) ) 2264*cdf0e10cSrcweir { 2265*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_BITMAP ) ); 2266*cdf0e10cSrcweir rXFSet.Put( XFillBitmapItem( String(), ( ( const XFillBitmapItem* ) pPoolItem )->GetBitmapValue() ) ); 2267*cdf0e10cSrcweir } 2268*cdf0e10cSrcweir else 2269*cdf0e10cSrcweir rXFSet.Put( XFillStyleItem( XFILL_NONE ) ); 2270*cdf0e10cSrcweir 2271*cdf0e10cSrcweir aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() ); 2272*cdf0e10cSrcweir aCtlBitmapPreview.Invalidate(); 2273*cdf0e10cSrcweir 2274*cdf0e10cSrcweir return( 0L ); 2275*cdf0e10cSrcweir } 2276*cdf0e10cSrcweir 2277*cdf0e10cSrcweir //------------------------------------------------------------------------ 2278*cdf0e10cSrcweir 2279*cdf0e10cSrcweir //IMPL_LINK( SvxAreaTabPage, ModifyTransparentHdl_Impl, void *, EMPTYARG ) 2280*cdf0e10cSrcweir //{ 2281*cdf0e10cSrcweir // sal_uInt16 nPos = aLbTransparent.GetSelectEntryPos(); 2282*cdf0e10cSrcweir // if( nPos != LISTBOX_ENTRY_NOTFOUND ) 2283*cdf0e10cSrcweir // { 2284*cdf0e10cSrcweir // XFillTransparenceItem aItem( nPos * 25 ); 2285*cdf0e10cSrcweir // 2286*cdf0e10cSrcweir // rXFSet.Put( XFillTransparenceItem( aItem ) ); 2287*cdf0e10cSrcweir // aCtlXRectPreview.SetAttributes( aXFillAttr ); 2288*cdf0e10cSrcweir // 2289*cdf0e10cSrcweir // aCtlXRectPreview.Invalidate(); 2290*cdf0e10cSrcweir // } 2291*cdf0e10cSrcweir // 2292*cdf0e10cSrcweir // return( 0L ); 2293*cdf0e10cSrcweir //} 2294*cdf0e10cSrcweir 2295*cdf0e10cSrcweir //------------------------------------------------------------------------ 2296*cdf0e10cSrcweir 2297*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ModifyStepCountHdl_Impl, void *, p ) 2298*cdf0e10cSrcweir { 2299*cdf0e10cSrcweir if( p == &aTsbStepCount ) 2300*cdf0e10cSrcweir { 2301*cdf0e10cSrcweir if( aTsbStepCount.GetState() == STATE_NOCHECK ) 2302*cdf0e10cSrcweir { 2303*cdf0e10cSrcweir if( aNumFldStepCount.GetText().Len() == 0 ) 2304*cdf0e10cSrcweir aNumFldStepCount.SetText( String::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( "64") )); 2305*cdf0e10cSrcweir 2306*cdf0e10cSrcweir aNumFldStepCount.Enable(); 2307*cdf0e10cSrcweir } 2308*cdf0e10cSrcweir else 2309*cdf0e10cSrcweir aNumFldStepCount.Disable(); 2310*cdf0e10cSrcweir } 2311*cdf0e10cSrcweir 2312*cdf0e10cSrcweir sal_uInt16 nValue = 0; 2313*cdf0e10cSrcweir if( aTsbStepCount.GetState() != STATE_CHECK ) 2314*cdf0e10cSrcweir { 2315*cdf0e10cSrcweir // Zustand != Disabled ? 2316*cdf0e10cSrcweir if( aNumFldStepCount.GetText().Len() > 0 ) 2317*cdf0e10cSrcweir nValue = (sal_uInt16) aNumFldStepCount.GetValue(); 2318*cdf0e10cSrcweir } 2319*cdf0e10cSrcweir rXFSet.Put( XGradientStepCountItem( nValue ) ); 2320*cdf0e10cSrcweir aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() ); 2321*cdf0e10cSrcweir aCtlXRectPreview.Invalidate(); 2322*cdf0e10cSrcweir 2323*cdf0e10cSrcweir return( 0L ); 2324*cdf0e10cSrcweir } 2325*cdf0e10cSrcweir 2326*cdf0e10cSrcweir //------------------------------------------------------------------------ 2327*cdf0e10cSrcweir 2328*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ModifyTileHdl_Impl, void *, EMPTYARG ) 2329*cdf0e10cSrcweir { 2330*cdf0e10cSrcweir TriState eState = aTsbTile.GetState(); 2331*cdf0e10cSrcweir if( eState == STATE_CHECK ) 2332*cdf0e10cSrcweir { 2333*cdf0e10cSrcweir aTsbStretch.Disable(); 2334*cdf0e10cSrcweir aRbtRow.Enable(); 2335*cdf0e10cSrcweir aRbtColumn.Enable(); 2336*cdf0e10cSrcweir aMtrFldOffset.Enable(); 2337*cdf0e10cSrcweir aFlOffset.Enable(); 2338*cdf0e10cSrcweir 2339*cdf0e10cSrcweir aCtlPosition.Enable(); 2340*cdf0e10cSrcweir aCtlPosition.Invalidate(); 2341*cdf0e10cSrcweir aFtXOffset.Enable(); 2342*cdf0e10cSrcweir aMtrFldXOffset.Enable(); 2343*cdf0e10cSrcweir aFtYOffset.Enable(); 2344*cdf0e10cSrcweir aMtrFldYOffset.Enable(); 2345*cdf0e10cSrcweir aFlPosition.Enable(); 2346*cdf0e10cSrcweir 2347*cdf0e10cSrcweir aTsbScale.Enable(); 2348*cdf0e10cSrcweir aTsbOriginal.Enable(); 2349*cdf0e10cSrcweir aFtXSize.Enable(); 2350*cdf0e10cSrcweir aMtrFldXSize.Enable(); 2351*cdf0e10cSrcweir aFtYSize.Enable(); 2352*cdf0e10cSrcweir aMtrFldYSize.Enable(); 2353*cdf0e10cSrcweir aFlSize.Enable(); 2354*cdf0e10cSrcweir } 2355*cdf0e10cSrcweir else if( eState == STATE_NOCHECK ) 2356*cdf0e10cSrcweir { 2357*cdf0e10cSrcweir aTsbStretch.Enable(); 2358*cdf0e10cSrcweir aRbtRow.Disable(); 2359*cdf0e10cSrcweir aRbtColumn.Disable(); 2360*cdf0e10cSrcweir aMtrFldOffset.Disable(); 2361*cdf0e10cSrcweir aFlOffset.Disable(); 2362*cdf0e10cSrcweir 2363*cdf0e10cSrcweir aCtlPosition.Disable(); 2364*cdf0e10cSrcweir aCtlPosition.Invalidate(); 2365*cdf0e10cSrcweir aFtXOffset.Disable(); 2366*cdf0e10cSrcweir aMtrFldXOffset.Disable(); 2367*cdf0e10cSrcweir aFtYOffset.Disable(); 2368*cdf0e10cSrcweir aMtrFldYOffset.Disable(); 2369*cdf0e10cSrcweir aFlPosition.Disable(); 2370*cdf0e10cSrcweir 2371*cdf0e10cSrcweir if( aTsbStretch.GetState() != STATE_NOCHECK ) 2372*cdf0e10cSrcweir { 2373*cdf0e10cSrcweir aTsbScale.Disable(); 2374*cdf0e10cSrcweir aTsbOriginal.Disable(); 2375*cdf0e10cSrcweir aFtXSize.Disable(); 2376*cdf0e10cSrcweir aMtrFldXSize.Disable(); 2377*cdf0e10cSrcweir aFtYSize.Disable(); 2378*cdf0e10cSrcweir aMtrFldYSize.Disable(); 2379*cdf0e10cSrcweir aFlSize.Disable(); 2380*cdf0e10cSrcweir } 2381*cdf0e10cSrcweir else 2382*cdf0e10cSrcweir { 2383*cdf0e10cSrcweir aTsbScale.Enable(); 2384*cdf0e10cSrcweir aTsbOriginal.Enable(); 2385*cdf0e10cSrcweir aFtXSize.Enable(); 2386*cdf0e10cSrcweir aMtrFldXSize.Enable(); 2387*cdf0e10cSrcweir aFtYSize.Enable(); 2388*cdf0e10cSrcweir aMtrFldYSize.Enable(); 2389*cdf0e10cSrcweir aFlSize.Enable(); 2390*cdf0e10cSrcweir } 2391*cdf0e10cSrcweir } 2392*cdf0e10cSrcweir else 2393*cdf0e10cSrcweir { 2394*cdf0e10cSrcweir aTsbStretch.Disable(); 2395*cdf0e10cSrcweir aRbtRow.Disable(); 2396*cdf0e10cSrcweir aRbtColumn.Disable(); 2397*cdf0e10cSrcweir aMtrFldOffset.Disable(); 2398*cdf0e10cSrcweir aFlOffset.Disable(); 2399*cdf0e10cSrcweir 2400*cdf0e10cSrcweir aCtlPosition.Disable(); 2401*cdf0e10cSrcweir aCtlPosition.Invalidate(); 2402*cdf0e10cSrcweir aFtXOffset.Disable(); 2403*cdf0e10cSrcweir aMtrFldXOffset.Disable(); 2404*cdf0e10cSrcweir aFtYOffset.Disable(); 2405*cdf0e10cSrcweir aMtrFldYOffset.Disable(); 2406*cdf0e10cSrcweir aFlPosition.Disable(); 2407*cdf0e10cSrcweir 2408*cdf0e10cSrcweir aTsbScale.Disable(); 2409*cdf0e10cSrcweir aTsbOriginal.Disable(); 2410*cdf0e10cSrcweir aFtXSize.Disable(); 2411*cdf0e10cSrcweir aMtrFldXSize.Disable(); 2412*cdf0e10cSrcweir aFtYSize.Disable(); 2413*cdf0e10cSrcweir aMtrFldYSize.Disable(); 2414*cdf0e10cSrcweir aFlSize.Disable(); 2415*cdf0e10cSrcweir } 2416*cdf0e10cSrcweir 2417*cdf0e10cSrcweir if( aTsbOriginal.GetState() == STATE_CHECK ) 2418*cdf0e10cSrcweir { 2419*cdf0e10cSrcweir aMtrFldXSize.SetText( String() ); 2420*cdf0e10cSrcweir aMtrFldYSize.SetText( String() ); 2421*cdf0e10cSrcweir aFtXSize.Disable(); 2422*cdf0e10cSrcweir aFtYSize.Disable(); 2423*cdf0e10cSrcweir aMtrFldXSize.Disable(); 2424*cdf0e10cSrcweir aMtrFldYSize.Disable(); 2425*cdf0e10cSrcweir aTsbScale.Disable(); 2426*cdf0e10cSrcweir } 2427*cdf0e10cSrcweir else 2428*cdf0e10cSrcweir { 2429*cdf0e10cSrcweir aMtrFldXSize.SetValue( aMtrFldXSize.GetValue() ); 2430*cdf0e10cSrcweir aMtrFldYSize.SetValue( aMtrFldYSize.GetValue() ); 2431*cdf0e10cSrcweir /* 2432*cdf0e10cSrcweir if( eState == STATE_CHECK ) 2433*cdf0e10cSrcweir { 2434*cdf0e10cSrcweir aFtXSize.Enable(); 2435*cdf0e10cSrcweir aFtYSize.Enable(); 2436*cdf0e10cSrcweir aMtrFldXSize.Enable(); 2437*cdf0e10cSrcweir aMtrFldYSize.Enable(); 2438*cdf0e10cSrcweir } 2439*cdf0e10cSrcweir */ 2440*cdf0e10cSrcweir } 2441*cdf0e10cSrcweir 2442*cdf0e10cSrcweir rXFSet.Put( XFillBmpTileItem( sal::static_int_cast< sal_Bool >( eState ) ) ); 2443*cdf0e10cSrcweir 2444*cdf0e10cSrcweir if( aTsbStretch.IsEnabled() ) 2445*cdf0e10cSrcweir rXFSet.Put( 2446*cdf0e10cSrcweir XFillBmpStretchItem( 2447*cdf0e10cSrcweir sal::static_int_cast< sal_Bool >( aTsbStretch.GetState() ) ) ); 2448*cdf0e10cSrcweir 2449*cdf0e10cSrcweir if( aTsbScale.IsEnabled() ) 2450*cdf0e10cSrcweir rXFSet.Put( XFillBmpSizeLogItem( aTsbScale.GetState() == STATE_NOCHECK ) ); 2451*cdf0e10cSrcweir 2452*cdf0e10cSrcweir if( aMtrFldXSize.IsEnabled() ) 2453*cdf0e10cSrcweir { 2454*cdf0e10cSrcweir XFillBmpSizeXItem* pItem = NULL; 2455*cdf0e10cSrcweir TriState eScaleState = aTsbScale.GetState(); 2456*cdf0e10cSrcweir 2457*cdf0e10cSrcweir if( eScaleState == STATE_NOCHECK ) 2458*cdf0e10cSrcweir pItem = new XFillBmpSizeXItem( GetCoreValue( aMtrFldXSize, ePoolUnit ) ); 2459*cdf0e10cSrcweir else 2460*cdf0e10cSrcweir pItem = new XFillBmpSizeXItem( -labs( static_cast<long>(aMtrFldXSize.GetValue()) ) ); 2461*cdf0e10cSrcweir 2462*cdf0e10cSrcweir rXFSet.Put( *pItem ); 2463*cdf0e10cSrcweir 2464*cdf0e10cSrcweir delete pItem; 2465*cdf0e10cSrcweir } 2466*cdf0e10cSrcweir else if( aTsbOriginal.IsEnabled() && aTsbOriginal.GetState() == STATE_CHECK ) 2467*cdf0e10cSrcweir { 2468*cdf0e10cSrcweir // Originalgroesse -> Size == 0 2469*cdf0e10cSrcweir rXFSet.Put( XFillBmpSizeXItem( 0 ) ); 2470*cdf0e10cSrcweir rXFSet.Put( XFillBmpSizeLogItem( sal_True ) ); 2471*cdf0e10cSrcweir } 2472*cdf0e10cSrcweir 2473*cdf0e10cSrcweir if( aMtrFldYSize.IsEnabled() ) 2474*cdf0e10cSrcweir { 2475*cdf0e10cSrcweir XFillBmpSizeYItem* pItem = NULL; 2476*cdf0e10cSrcweir TriState eScaleState = aTsbScale.GetState(); 2477*cdf0e10cSrcweir 2478*cdf0e10cSrcweir if( eScaleState == STATE_NOCHECK ) 2479*cdf0e10cSrcweir pItem = new XFillBmpSizeYItem( GetCoreValue( aMtrFldYSize, ePoolUnit ) ); 2480*cdf0e10cSrcweir else 2481*cdf0e10cSrcweir pItem = new XFillBmpSizeYItem( -labs( static_cast<long>(aMtrFldYSize.GetValue()) ) ); 2482*cdf0e10cSrcweir 2483*cdf0e10cSrcweir rXFSet.Put( *pItem ); 2484*cdf0e10cSrcweir 2485*cdf0e10cSrcweir delete pItem; 2486*cdf0e10cSrcweir } 2487*cdf0e10cSrcweir else if( aTsbOriginal.IsEnabled() && aTsbOriginal.GetState() == STATE_CHECK ) 2488*cdf0e10cSrcweir { 2489*cdf0e10cSrcweir // Originalgroesse -> Size == 0 2490*cdf0e10cSrcweir rXFSet.Put( XFillBmpSizeYItem( 0 ) ); 2491*cdf0e10cSrcweir rXFSet.Put( XFillBmpSizeLogItem( sal_True ) ); 2492*cdf0e10cSrcweir } 2493*cdf0e10cSrcweir 2494*cdf0e10cSrcweir if( aMtrFldOffset.IsEnabled() ) 2495*cdf0e10cSrcweir { 2496*cdf0e10cSrcweir if( aRbtRow.IsChecked() ) 2497*cdf0e10cSrcweir { 2498*cdf0e10cSrcweir rXFSet.Put( XFillBmpTileOffsetXItem( (sal_uInt16) aMtrFldOffset.GetValue() ) ); 2499*cdf0e10cSrcweir rXFSet.Put( XFillBmpTileOffsetYItem( (sal_uInt16) 0 ) ); 2500*cdf0e10cSrcweir } 2501*cdf0e10cSrcweir else if( aRbtColumn.IsChecked() ) 2502*cdf0e10cSrcweir { 2503*cdf0e10cSrcweir rXFSet.Put( XFillBmpTileOffsetXItem( (sal_uInt16) 0 ) ); 2504*cdf0e10cSrcweir rXFSet.Put( XFillBmpTileOffsetYItem( (sal_uInt16) aMtrFldOffset.GetValue() ) ); 2505*cdf0e10cSrcweir } 2506*cdf0e10cSrcweir } 2507*cdf0e10cSrcweir 2508*cdf0e10cSrcweir if( aCtlPosition.IsEnabled() ) 2509*cdf0e10cSrcweir rXFSet.Put( XFillBmpPosItem( aCtlPosition.GetActualRP() ) ); 2510*cdf0e10cSrcweir 2511*cdf0e10cSrcweir if( aMtrFldXOffset.IsEnabled() ) 2512*cdf0e10cSrcweir rXFSet.Put( XFillBmpPosOffsetXItem( (sal_uInt16) aMtrFldXOffset.GetValue() ) ); 2513*cdf0e10cSrcweir 2514*cdf0e10cSrcweir if( aMtrFldYOffset.IsEnabled() ) 2515*cdf0e10cSrcweir rXFSet.Put( XFillBmpPosOffsetYItem( (sal_uInt16) aMtrFldYOffset.GetValue() ) ); 2516*cdf0e10cSrcweir 2517*cdf0e10cSrcweir 2518*cdf0e10cSrcweir aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() ); 2519*cdf0e10cSrcweir aCtlBitmapPreview.Invalidate(); 2520*cdf0e10cSrcweir 2521*cdf0e10cSrcweir return( 0L ); 2522*cdf0e10cSrcweir } 2523*cdf0e10cSrcweir 2524*cdf0e10cSrcweir //------------------------------------------------------------------------ 2525*cdf0e10cSrcweir 2526*cdf0e10cSrcweir IMPL_LINK( SvxAreaTabPage, ClickScaleHdl_Impl, void *, EMPTYARG ) 2527*cdf0e10cSrcweir { 2528*cdf0e10cSrcweir if( aTsbScale.GetState() == STATE_CHECK ) 2529*cdf0e10cSrcweir { 2530*cdf0e10cSrcweir aMtrFldXSize.SetDecimalDigits( 0 ); 2531*cdf0e10cSrcweir aMtrFldXSize.SetUnit( FUNIT_CUSTOM ); 2532*cdf0e10cSrcweir aMtrFldXSize.SetValue( 100 ); 2533*cdf0e10cSrcweir aMtrFldXSize.SetMax( 100 ); 2534*cdf0e10cSrcweir aMtrFldXSize.SetLast( 100 ); 2535*cdf0e10cSrcweir 2536*cdf0e10cSrcweir aMtrFldYSize.SetDecimalDigits( 0 ); 2537*cdf0e10cSrcweir aMtrFldYSize.SetUnit( FUNIT_CUSTOM ); 2538*cdf0e10cSrcweir aMtrFldYSize.SetValue( 100 ); 2539*cdf0e10cSrcweir aMtrFldYSize.SetMax( 100 ); 2540*cdf0e10cSrcweir aMtrFldYSize.SetLast( 100 ); 2541*cdf0e10cSrcweir } 2542*cdf0e10cSrcweir else 2543*cdf0e10cSrcweir { 2544*cdf0e10cSrcweir aMtrFldXSize.SetDecimalDigits( 2 ); 2545*cdf0e10cSrcweir aMtrFldXSize.SetUnit( eFUnit ); 2546*cdf0e10cSrcweir aMtrFldXSize.SetValue( 100 ); 2547*cdf0e10cSrcweir aMtrFldXSize.SetMax( 999900 ); 2548*cdf0e10cSrcweir aMtrFldXSize.SetLast( 100000 ); 2549*cdf0e10cSrcweir 2550*cdf0e10cSrcweir aMtrFldYSize.SetDecimalDigits( 2 ); 2551*cdf0e10cSrcweir aMtrFldYSize.SetUnit( eFUnit ); 2552*cdf0e10cSrcweir aMtrFldYSize.SetValue( 100 ); 2553*cdf0e10cSrcweir aMtrFldYSize.SetMax( 999900 ); 2554*cdf0e10cSrcweir aMtrFldYSize.SetLast( 100000 ); 2555*cdf0e10cSrcweir } 2556*cdf0e10cSrcweir 2557*cdf0e10cSrcweir ModifyTileHdl_Impl( NULL ); 2558*cdf0e10cSrcweir 2559*cdf0e10cSrcweir return( 0L ); 2560*cdf0e10cSrcweir } 2561*cdf0e10cSrcweir 2562*cdf0e10cSrcweir //------------------------------------------------------------------------ 2563*cdf0e10cSrcweir 2564*cdf0e10cSrcweir void SvxAreaTabPage::PointChanged( Window* pWindow, RECT_POINT eRcPt ) 2565*cdf0e10cSrcweir { 2566*cdf0e10cSrcweir eRP = eRcPt; 2567*cdf0e10cSrcweir 2568*cdf0e10cSrcweir // Ausrichtung der Bitmapfuellung 2569*cdf0e10cSrcweir ModifyTileHdl_Impl( pWindow ); 2570*cdf0e10cSrcweir } 2571*cdf0e10cSrcweir 2572*cdf0e10cSrcweir void SvxAreaTabPage::PageCreated (SfxAllItemSet aSet) //add CHINA001 2573*cdf0e10cSrcweir { 2574*cdf0e10cSrcweir SFX_ITEMSET_ARG (&aSet,pColorTabItem,SvxColorTableItem,SID_COLOR_TABLE,sal_False); 2575*cdf0e10cSrcweir SFX_ITEMSET_ARG (&aSet,pGradientListItem,SvxGradientListItem,SID_GRADIENT_LIST,sal_False); 2576*cdf0e10cSrcweir SFX_ITEMSET_ARG (&aSet,pHatchingListItem,SvxHatchListItem,SID_HATCH_LIST,sal_False); 2577*cdf0e10cSrcweir SFX_ITEMSET_ARG (&aSet,pBitmapListItem,SvxBitmapListItem,SID_BITMAP_LIST,sal_False); 2578*cdf0e10cSrcweir SFX_ITEMSET_ARG (&aSet,pPageTypeItem,SfxUInt16Item,SID_PAGE_TYPE,sal_False); 2579*cdf0e10cSrcweir SFX_ITEMSET_ARG (&aSet,pDlgTypeItem,SfxUInt16Item,SID_DLG_TYPE,sal_False); 2580*cdf0e10cSrcweir SFX_ITEMSET_ARG (&aSet,pPosItem,SfxUInt16Item,SID_TABPAGE_POS,sal_False); 2581*cdf0e10cSrcweir 2582*cdf0e10cSrcweir if (pColorTabItem) 2583*cdf0e10cSrcweir SetColorTable(pColorTabItem->GetColorTable()); 2584*cdf0e10cSrcweir if (pGradientListItem) 2585*cdf0e10cSrcweir SetGradientList(pGradientListItem->GetGradientList()); 2586*cdf0e10cSrcweir if (pHatchingListItem) 2587*cdf0e10cSrcweir SetHatchingList(pHatchingListItem->GetHatchList()); 2588*cdf0e10cSrcweir if (pBitmapListItem) 2589*cdf0e10cSrcweir SetBitmapList(pBitmapListItem->GetBitmapList()); 2590*cdf0e10cSrcweir if (pPageTypeItem) 2591*cdf0e10cSrcweir SetPageType(pPageTypeItem->GetValue()); 2592*cdf0e10cSrcweir if (pDlgTypeItem) 2593*cdf0e10cSrcweir SetDlgType(pDlgTypeItem->GetValue()); 2594*cdf0e10cSrcweir if (pPosItem) 2595*cdf0e10cSrcweir SetPos(pPosItem->GetValue()); 2596*cdf0e10cSrcweir Construct(); 2597*cdf0e10cSrcweir } 2598*cdf0e10cSrcweir 2599