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