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