1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 #ifndef _CUI_TAB_AREA_HXX 24 #define _CUI_TAB_AREA_HXX 25 26 // include --------------------------------------------------------------- 27 28 #include <svx/tabarea.hxx> 29 #include <svx/SvxColorValueSet.hxx> 30 31 /************************************************************************* 32 |* 33 |* Fl"achen-Tab-Dialog 34 |* 35 \************************************************************************/ 36 37 class SvxAreaTabDialog : public SfxTabDialog 38 { 39 private: 40 SdrModel* mpDrawModel; 41 // const SdrView* mpView; 42 43 XColorList* mpColorTab; 44 XColorList* mpNewColorTab; 45 XGradientList* mpGradientList; 46 XGradientList* mpNewGradientList; 47 XHatchList* mpHatchingList; 48 XHatchList* mpNewHatchingList; 49 XBitmapList* mpBitmapList; 50 XBitmapList* mpNewBitmapList; 51 52 const SfxItemSet& mrOutAttrs; 53 54 ChangeType mnColorTableState; 55 ChangeType mnBitmapListState; 56 ChangeType mnGradientListState; 57 ChangeType mnHatchingListState; 58 59 sal_uInt16 mnPageType; 60 sal_uInt16 mnDlgType; 61 sal_uInt16 mnPos; 62 sal_Bool mbAreaTP; 63 sal_Bool mbDeleteColorTable; 64 65 virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage ); 66 67 protected: 68 virtual short Ok(); 69 #ifdef _SVX_TABAREA_CXX 70 DECL_LINK( CancelHdlImpl, void * ); 71 void SavePalettes(); 72 #endif 73 74 public: 75 SvxAreaTabDialog( Window* pParent, 76 const SfxItemSet* pAttr, SdrModel* pModel, 77 const SdrView* pSdrView = NULL ); 78 ~SvxAreaTabDialog(); 79 80 void SetNewColorTable( XColorList* pColTab ) 81 { mpNewColorTab = pColTab; } 82 XColorList* GetNewColorTable() const { return mpNewColorTab; } 83 const XColorList* GetColorTable() const { return mpColorTab; } 84 85 void SetNewGradientList( XGradientList* pGrdLst) 86 { mpNewGradientList = pGrdLst; } 87 XGradientList* GetNewGradientList() const 88 { return mpNewGradientList; } 89 const XGradientList* GetGradientList() const { return mpGradientList; } 90 91 void SetNewHatchingList( XHatchList* pHtchLst) 92 { mpNewHatchingList = pHtchLst; } 93 XHatchList* GetNewHatchingList() const 94 { return mpNewHatchingList; } 95 const XHatchList* GetHatchingList() const { return mpHatchingList; } 96 97 void SetNewBitmapList( XBitmapList* pBmpLst) 98 { mpNewBitmapList = pBmpLst; } 99 XBitmapList* GetNewBitmapList() const { return mpNewBitmapList; } 100 const XBitmapList* GetBitmapList() const { return mpBitmapList; } 101 102 void DontDeleteColorTable() { mbDeleteColorTable = sal_False; } 103 }; 104 105 /************************************************************************* 106 |* 107 |* Transparence-Tab-Page 108 |* 109 \************************************************************************/ 110 111 class SvxTransparenceTabPage : public SvxTabPage 112 { 113 using TabPage::ActivatePage; 114 using TabPage::DeactivatePage; 115 116 const SfxItemSet& rOutAttrs; 117 RECT_POINT eRP; 118 119 //CHINA001 sal_uInt16* pPageType; 120 //CHINA001 sal_uInt16* pDlgType; 121 sal_uInt16 nPageType; //add CHINA001 122 sal_uInt16 nDlgType; //add CHINA001 123 124 // main selection 125 FixedLine aFlProp; 126 RadioButton aRbtTransOff; 127 RadioButton aRbtTransLinear; 128 RadioButton aRbtTransGradient; 129 130 // linear transparency 131 MetricField aMtrTransparent; 132 133 // gradient transparency 134 FixedText aFtTrgrType; 135 ListBox aLbTrgrGradientType; 136 FixedText aFtTrgrCenterX; 137 MetricField aMtrTrgrCenterX; 138 FixedText aFtTrgrCenterY; 139 MetricField aMtrTrgrCenterY; 140 FixedText aFtTrgrAngle; 141 MetricField aMtrTrgrAngle; 142 FixedText aFtTrgrBorder; 143 MetricField aMtrTrgrBorder; 144 FixedText aFtTrgrStartValue; 145 MetricField aMtrTrgrStartValue; 146 FixedText aFtTrgrEndValue; 147 MetricField aMtrTrgrEndValue; 148 149 // preview 150 SvxXRectPreview aCtlBitmapPreview; 151 SvxXRectPreview aCtlXRectPreview; 152 sal_Bool bBitmap; 153 154 XOutdevItemPool* pXPool; 155 XFillAttrSetItem aXFillAttr; 156 SfxItemSet& rXFSet; 157 158 #ifdef _SVX_TPAREA_CXX 159 DECL_LINK(ClickTransOffHdl_Impl, void * ); 160 DECL_LINK(ClickTransLinearHdl_Impl, void * ); 161 DECL_LINK(ClickTransGradientHdl_Impl, void * ); 162 DECL_LINK(ModifyTransparentHdl_Impl, void*); 163 DECL_LINK(ChangeTrgrTypeHdl_Impl, void*); 164 DECL_LINK(ModifiedTrgrHdl_Impl, void*); 165 #endif 166 167 void ActivateLinear(sal_Bool bActivate); 168 void ActivateGradient(sal_Bool bActivate); 169 void SetControlState_Impl(XGradientStyle eXGS); 170 171 sal_Bool InitPreview ( const SfxItemSet& rSet ); 172 void InvalidatePreview (sal_Bool bEnable = sal_True ); 173 174 public: 175 SvxTransparenceTabPage(Window* pParent, const SfxItemSet& rInAttrs); 176 void Construct(); 177 178 static SfxTabPage* Create(Window*, const SfxItemSet&); 179 static sal_uInt16* GetRanges(); 180 181 virtual sal_Bool FillItemSet(SfxItemSet&); 182 virtual void Reset(const SfxItemSet&); 183 virtual void ActivatePage(const SfxItemSet& rSet); 184 virtual int DeactivatePage(SfxItemSet* pSet); 185 virtual void PointChanged(Window* pWindow, RECT_POINT eRP); 186 187 //CHINA001 void SetPageType(sal_uInt16 *pInType) { pPageType = pInType; } 188 //CHINA001 void SetDlgType(sal_uInt16* pInType) { pDlgType = pInType; } 189 void SetPageType(sal_uInt16 nInType) { nPageType = nInType; } //add CHINA001 190 void SetDlgType(sal_uInt16 nInType) { nDlgType = nInType; }//add CHINA001 191 virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001 192 }; 193 194 /************************************************************************* 195 |* 196 |* Fl"achen-Tab-Page 197 |* 198 \************************************************************************/ 199 200 class SvxAreaTabPage : public SvxTabPage 201 { 202 using TabPage::ActivatePage; 203 using TabPage::DeactivatePage; 204 205 private: 206 FixedLine aFlProp; 207 ListBox aTypeLB; 208 209 ColorLB aLbColor; 210 GradientLB aLbGradient; 211 HatchingLB aLbHatching; 212 BitmapLB aLbBitmap; 213 SvxXRectPreview aCtlBitmapPreview; 214 215 TriStateBox aTsbStepCount; 216 FixedLine aFlStepCount; 217 NumericField aNumFldStepCount; 218 219 CheckBox aCbxHatchBckgrd; 220 ColorLB aLbHatchBckgrdColor; 221 222 FixedLine aFlSize; 223 TriStateBox aTsbOriginal; 224 TriStateBox aTsbScale; 225 FixedText aFtXSize; 226 MetricField aMtrFldXSize; 227 FixedText aFtYSize; 228 MetricField aMtrFldYSize; 229 FixedLine aFlPosition; 230 SvxRectCtl aCtlPosition; 231 FixedText aFtXOffset; 232 MetricField aMtrFldXOffset; 233 FixedText aFtYOffset; 234 MetricField aMtrFldYOffset; 235 TriStateBox aTsbTile; 236 TriStateBox aTsbStretch; 237 FixedLine aFlOffset; 238 RadioButton aRbtRow; 239 RadioButton aRbtColumn; 240 MetricField aMtrFldOffset; 241 242 SvxXRectPreview aCtlXRectPreview; 243 244 const SfxItemSet& rOutAttrs; 245 RECT_POINT eRP; 246 247 XColorList* pColorTab; 248 XGradientList* pGradientList; 249 XHatchList* pHatchingList; 250 XBitmapList* pBitmapList; 251 252 ChangeType* pnColorTableState; 253 ChangeType* pnBitmapListState; 254 ChangeType* pnGradientListState; 255 ChangeType* pnHatchingListState; 256 257 //CHINA001 sal_uInt16* pPageType; 258 //CHINA001 sal_uInt16* pDlgType; 259 //CHINA001 sal_uInt16* pPos; 260 sal_uInt16 nPageType; //add CHINA001 261 sal_uInt16 nDlgType;//add CHINA001 262 sal_uInt16 nPos; //add CHINA001 263 264 sal_Bool* pbAreaTP; 265 266 XOutdevItemPool* pXPool; 267 XFillAttrSetItem aXFillAttr; 268 SfxItemSet& rXFSet; 269 270 SfxMapUnit ePoolUnit; 271 FieldUnit eFUnit; 272 273 #ifdef _SVX_TPAREA_CXX 274 DECL_LINK( SelectDialogTypeHdl_Impl, ListBox * ); 275 DECL_LINK( ClickInvisibleHdl_Impl, void * ); 276 DECL_LINK( ClickColorHdl_Impl, void * ); 277 DECL_LINK( ModifyColorHdl_Impl, void * ); 278 DECL_LINK( ModifyHatchBckgrdColorHdl_Impl, void * ); 279 DECL_LINK( ClickGradientHdl_Impl, void * ); 280 DECL_LINK( ModifyGradientHdl_Impl, void * ); 281 DECL_LINK( ClickHatchingHdl_Impl, void * ); 282 DECL_LINK( ModifyHatchingHdl_Impl, void * ); 283 DECL_LINK( ToggleHatchBckgrdColorHdl_Impl, void * ); 284 DECL_LINK( ClickBitmapHdl_Impl, void * ); 285 DECL_LINK( ModifyBitmapHdl_Impl, void * ); 286 // DECL_LINK( ModifyTransparentHdl_Impl, void * ); 287 DECL_LINK( ModifyStepCountHdl_Impl, void * ); 288 DECL_LINK( ModifyTileHdl_Impl, void * ); 289 DECL_LINK( ClickScaleHdl_Impl, void * ); 290 #endif 291 292 public: 293 SvxAreaTabPage( Window* pParent, const SfxItemSet& rInAttrs ); 294 295 void Construct(); 296 297 static SfxTabPage* Create( Window*, const SfxItemSet& ); 298 static sal_uInt16* GetRanges(); 299 300 virtual sal_Bool FillItemSet( SfxItemSet& ); 301 virtual void Reset( const SfxItemSet & ); 302 virtual void ActivatePage( const SfxItemSet& rSet ); 303 virtual int DeactivatePage( SfxItemSet* pSet ); 304 virtual void PointChanged( Window* pWindow, RECT_POINT eRP ); 305 306 void SetColorTable( XColorList* pColTab ) { pColorTab = pColTab; } 307 void SetGradientList( XGradientList* pGrdLst) 308 { pGradientList = pGrdLst; } 309 void SetHatchingList( XHatchList* pHtchLst) 310 { pHatchingList = pHtchLst; } 311 void SetBitmapList( XBitmapList* pBmpLst) { pBitmapList = pBmpLst; } 312 313 //CHINA001 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } 314 void SetPageType( sal_uInt16 nInType ) { nPageType = nInType; } //add CHINA001 315 //CHINA001 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } 316 void SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; }//add CHINA001 317 //CHINA001 void SetPos( sal_uInt16* pInPos ) { pPos = pInPos; } 318 void SetPos( sal_uInt16 nInPos ) { nPos = nInPos; }//add CHINA001 319 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } 320 virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001 321 void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } 322 void SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; } 323 void SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; } 324 void SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; } 325 }; 326 327 /************************************************************************* 328 |* 329 |* Schatten-Tab-Page 330 |* 331 \************************************************************************/ 332 333 class SvxShadowTabPage : public SvxTabPage 334 { 335 using TabPage::ActivatePage; 336 using TabPage::DeactivatePage; 337 338 private: 339 FixedLine aFlProp; 340 TriStateBox aTsbShowShadow; 341 FixedText aFtPosition; 342 SvxRectCtl aCtlPosition; 343 FixedText aFtDistance; 344 MetricField aMtrDistance; 345 FixedText aFtShadowColor; 346 ColorLB aLbShadowColor; 347 FixedText aFtTransparent; 348 MetricField aMtrTransparent; 349 SvxXShadowPreview aCtlXRectPreview; 350 351 const SfxItemSet& rOutAttrs; 352 RECT_POINT eRP; 353 354 XColorList* pColorTab; 355 ChangeType* pnColorTableState; 356 sal_uInt16 nPageType; //add CHINA001 357 sal_uInt16 nDlgType; //add CHINA001 358 sal_uInt16* pPos; 359 sal_Bool* pbAreaTP; 360 361 sal_Bool bDisable; 362 363 XOutdevItemPool* pXPool; 364 XFillAttrSetItem aXFillAttr; 365 SfxItemSet& rXFSet; 366 SfxMapUnit ePoolUnit; 367 368 #ifdef _SVX_TPSHADOW_CXX 369 DECL_LINK( ClickShadowHdl_Impl, void * ); 370 DECL_LINK( ModifyShadowHdl_Impl, void * ); 371 #endif 372 373 public: 374 SvxShadowTabPage( Window* pParent, const SfxItemSet& rInAttrs ); 375 376 void Construct(); 377 static SfxTabPage* Create( Window*, const SfxItemSet& ); 378 static sal_uInt16* GetRanges(); 379 380 virtual sal_Bool FillItemSet( SfxItemSet& ); 381 virtual void Reset( const SfxItemSet & ); 382 virtual void ActivatePage( const SfxItemSet& rSet ); 383 virtual int DeactivatePage( SfxItemSet* pSet ); 384 virtual void PointChanged( Window* pWindow, RECT_POINT eRP ); 385 386 void SetColorTable( XColorList* pColTab ) { pColorTab = pColTab; } 387 //CHINA001 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } 388 //CHINA001 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } 389 void SetPageType( sal_uInt16 nInType ) { nPageType = nInType; } //add CHINA001 390 void SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; } //add CHINA001 391 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } 392 void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } 393 virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001 394 void DisablePage( sal_Bool bIn ) { bDisable = bIn; } 395 }; 396 397 /************************************************************************* 398 |* 399 |* Farbverlauf-Tab-Page 400 |* 401 \************************************************************************/ 402 403 class SvxGradientTabPage : public SfxTabPage 404 { 405 using TabPage::ActivatePage; 406 using TabPage::DeactivatePage; 407 408 private: 409 FixedLine aFlProp; 410 FixedText aFtType; 411 ListBox aLbGradientType; 412 FixedText aFtCenterX; 413 MetricField aMtrCenterX; 414 FixedText aFtCenterY; 415 MetricField aMtrCenterY; 416 FixedText aFtAngle; 417 MetricField aMtrAngle; 418 FixedText aFtBorder; 419 MetricField aMtrBorder; 420 FixedText aFtColorFrom; 421 ColorLB aLbColorFrom; 422 MetricField aMtrColorFrom; 423 FixedText aFtColorTo; 424 ColorLB aLbColorTo; 425 MetricField aMtrColorTo; 426 GradientLB aLbGradients; 427 SvxXRectPreview aCtlPreview; 428 PushButton aBtnAdd; 429 PushButton aBtnModify; 430 PushButton aBtnDelete; 431 ImageButton aBtnLoad; 432 ImageButton aBtnSave; 433 434 const SfxItemSet& rOutAttrs; 435 436 XColorList* pColorTab; 437 XGradientList* pGradientList; 438 439 ChangeType* pnGradientListState; 440 ChangeType* pnColorTableState; 441 sal_uInt16* pPageType; 442 sal_uInt16* pDlgType; 443 sal_uInt16* pPos; 444 sal_Bool* pbAreaTP; 445 446 XOutdevItemPool* pXPool; 447 XFillStyleItem aXFStyleItem; 448 XFillGradientItem aXGradientItem; 449 XFillAttrSetItem aXFillAttr; 450 SfxItemSet& rXFSet; 451 452 #ifdef _SVX_TPGRADNT_CXX 453 DECL_LINK( ClickAddHdl_Impl, void * ); 454 DECL_LINK( ClickModifyHdl_Impl, void * ); 455 DECL_LINK( ClickDeleteHdl_Impl, void * ); 456 DECL_LINK( ChangeGradientHdl_Impl, void * ); 457 DECL_LINK( ModifiedHdl_Impl, void * ); 458 DECL_LINK( ClickLoadHdl_Impl, void * ); 459 DECL_LINK( ClickSaveHdl_Impl, void * ); 460 461 long CheckChanges_Impl(); 462 void SetControlState_Impl( XGradientStyle eXGS ); 463 #endif 464 465 public: 466 SvxGradientTabPage( Window* pParent, const SfxItemSet& rInAttrs ); 467 468 void Construct(); 469 470 static SfxTabPage* Create( Window*, const SfxItemSet& ); 471 virtual sal_Bool FillItemSet( SfxItemSet& ); 472 virtual void Reset( const SfxItemSet & ); 473 474 virtual void ActivatePage( const SfxItemSet& rSet ); 475 virtual int DeactivatePage( SfxItemSet* pSet ); 476 477 void SetColorTable( XColorList* pColTab ) { pColorTab = pColTab; } 478 void SetGradientList( XGradientList* pGrdLst) 479 { pGradientList = pGrdLst; } 480 481 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } 482 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } 483 void SetPos( sal_uInt16* pInPos ) { pPos = pInPos; } 484 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } 485 486 void SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; } 487 void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } 488 }; 489 490 /************************************************************************* 491 |* 492 |* Schraffuren-Tab-Page 493 |* 494 \************************************************************************/ 495 496 class SvxHatchTabPage : public SvxTabPage 497 { 498 using TabPage::ActivatePage; 499 using TabPage::DeactivatePage; 500 501 private: 502 FixedText aFtDistance; 503 MetricField aMtrDistance; 504 FixedText aFtAngle; 505 MetricField aMtrAngle; 506 SvxRectCtl aCtlAngle; 507 FixedLine aFlProp; 508 FixedText aFtLineType; 509 ListBox aLbLineType; 510 FixedText aFtLineColor; 511 ColorLB aLbLineColor; 512 HatchingLB aLbHatchings; 513 SvxXRectPreview aCtlPreview; 514 PushButton aBtnAdd; 515 PushButton aBtnModify; 516 PushButton aBtnDelete; 517 ImageButton aBtnLoad; 518 ImageButton aBtnSave; 519 520 const SfxItemSet& rOutAttrs; 521 RECT_POINT eRP; 522 523 XColorList* pColorTab; 524 XHatchList* pHatchingList; 525 526 ChangeType* pnHatchingListState; 527 ChangeType* pnColorTableState; 528 sal_uInt16* pPageType; 529 sal_uInt16* pDlgType; 530 sal_uInt16* pPos; 531 sal_Bool* pbAreaTP; 532 533 XOutdevItemPool* pXPool; 534 XFillStyleItem aXFStyleItem; 535 XFillHatchItem aXHatchItem; 536 XFillAttrSetItem aXFillAttr; 537 SfxItemSet& rXFSet; 538 539 SfxMapUnit ePoolUnit; 540 541 #ifdef _SVX_TPHATCH_CXX 542 DECL_LINK( ChangeHatchHdl_Impl, void * ); 543 DECL_LINK( ModifiedHdl_Impl, void * ); 544 DECL_LINK( ClickAddHdl_Impl, void * ); 545 DECL_LINK( ClickModifyHdl_Impl, void * ); 546 DECL_LINK( ClickDeleteHdl_Impl, void * ); 547 DECL_LINK( ClickLoadHdl_Impl, void * ); 548 DECL_LINK( ClickSaveHdl_Impl, void * ); 549 550 long CheckChanges_Impl(); 551 #endif 552 553 public: 554 SvxHatchTabPage( Window* pParent, const SfxItemSet& rInAttrs ); 555 556 void Construct(); 557 558 static SfxTabPage* Create( Window*, const SfxItemSet& ); 559 virtual sal_Bool FillItemSet( SfxItemSet& ); 560 virtual void Reset( const SfxItemSet & ); 561 562 virtual void ActivatePage( const SfxItemSet& rSet ); 563 virtual int DeactivatePage( SfxItemSet* pSet ); 564 565 virtual void PointChanged( Window* pWindow, RECT_POINT eRP ); 566 567 void SetColorTable( XColorList* pColTab ) { pColorTab = pColTab; } 568 void SetHatchingList( XHatchList* pHtchLst) 569 { pHatchingList = pHtchLst; } 570 571 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } 572 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } 573 void SetPos( sal_uInt16* pInPos ) { pPos = pInPos; } 574 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } 575 576 void SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; } 577 void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } 578 579 virtual void DataChanged( const DataChangedEvent& rDCEvt ); 580 }; 581 582 /************************************************************************* 583 |* 584 |* Bitmap-Tab-Page 585 |* 586 \************************************************************************/ 587 588 class SvxBitmapTabPage : public SvxTabPage 589 { 590 using TabPage::ActivatePage; 591 using TabPage::DeactivatePage; 592 593 private: 594 SvxPixelCtl aCtlPixel; 595 FixedText aFtPixelEdit; 596 FixedText aFtColor; 597 ColorLB aLbColor; 598 FixedText aFtBackgroundColor; 599 ColorLB aLbBackgroundColor; 600 FixedText aLbBitmapsHidden; 601 BitmapLB aLbBitmaps; 602 FixedLine aFlProp; 603 SvxXRectPreview aCtlPreview; 604 PushButton aBtnAdd; 605 PushButton aBtnModify; 606 PushButton aBtnImport; 607 PushButton aBtnDelete; 608 ImageButton aBtnLoad; 609 ImageButton aBtnSave; 610 611 SvxBitmapCtl aBitmapCtl; 612 613 const SfxItemSet& rOutAttrs; 614 615 XColorList* pColorTab; 616 XBitmapList* pBitmapList; 617 618 ChangeType* pnBitmapListState; 619 ChangeType* pnColorTableState; 620 sal_uInt16* pPageType; 621 sal_uInt16* pDlgType; 622 sal_uInt16* pPos; 623 sal_Bool* pbAreaTP; 624 625 sal_Bool bBmpChanged; 626 627 XOutdevItemPool* pXPool; 628 XFillStyleItem aXFStyleItem; 629 XFillBitmapItem aXBitmapItem; 630 XFillAttrSetItem aXFillAttr; 631 SfxItemSet& rXFSet; 632 633 #ifdef _SVX_TPBITMAP_CXX 634 DECL_LINK( ClickAddHdl_Impl, void * ); 635 DECL_LINK( ClickImportHdl_Impl, void * ); 636 DECL_LINK( ClickModifyHdl_Impl, void * ); 637 DECL_LINK( ClickDeleteHdl_Impl, void * ); 638 DECL_LINK( ChangeBitmapHdl_Impl, void * ); 639 DECL_LINK( ChangePixelColorHdl_Impl, void * ); 640 DECL_LINK( ChangeBackgrndColorHdl_Impl, void * ); 641 DECL_LINK( ClickLoadHdl_Impl, void * ); 642 DECL_LINK( ClickSaveHdl_Impl, void * ); 643 644 long CheckChanges_Impl(); 645 #endif 646 647 public: 648 SvxBitmapTabPage( Window* pParent, const SfxItemSet& rInAttrs ); 649 650 void Construct(); 651 652 static SfxTabPage* Create( Window*, const SfxItemSet& ); 653 virtual sal_Bool FillItemSet( SfxItemSet& ); 654 virtual void Reset( const SfxItemSet & ); 655 656 virtual void ActivatePage( const SfxItemSet& rSet ); 657 virtual int DeactivatePage( SfxItemSet* pSet ); 658 659 virtual void PointChanged( Window* pWindow, RECT_POINT eRP ); 660 661 void SetColorTable( XColorList* pColTab ) { pColorTab = pColTab; } 662 void SetBitmapList( XBitmapList* pBmpLst) { pBitmapList = pBmpLst; } 663 664 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } 665 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } 666 void SetPos( sal_uInt16* pInPos ) { pPos = pInPos; } 667 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } 668 669 void SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; } 670 void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } 671 672 /** Return a label that is associated with the given control. This 673 label is used to the determine the name for the control. 674 @param pLabeled 675 The control for which to return a label. 676 @return 677 Return a label control that provides a name for the specified 678 control. 679 */ 680 virtual Window* GetParentLabeledBy( const Window* pLabeled ) const; 681 }; 682 683 /************************************************************************* 684 |* 685 |* Farben-Tab-Page 686 |* 687 \************************************************************************/ 688 689 class SvxColorTabPage : public SfxTabPage 690 { 691 using TabPage::ActivatePage; 692 using TabPage::DeactivatePage; 693 694 private: 695 FixedLine aFlProp; 696 FixedText aFtName; 697 Edit aEdtName; 698 FixedText aFtColor; 699 ColorLB aLbColor; 700 701 FixedText aTableNameFT; 702 SvxColorValueSet aValSetColorTable; 703 704 SvxXRectPreview aCtlPreviewOld; 705 SvxXRectPreview aCtlPreviewNew; 706 707 ListBox aLbColorModel; 708 FixedText aFtColorModel1; 709 MetricField aMtrFldColorModel1; 710 FixedText aFtColorModel2; 711 MetricField aMtrFldColorModel2; 712 FixedText aFtColorModel3; 713 MetricField aMtrFldColorModel3; 714 715 FixedText aFtColorModel4; 716 MetricField aMtrFldColorModel4; 717 718 PushButton aBtnAdd; 719 PushButton aBtnModify; 720 PushButton aBtnWorkOn; 721 PushButton aBtnDelete; 722 ImageButton aBtnLoad; 723 ImageButton aBtnSave; 724 725 const SfxItemSet& rOutAttrs; 726 727 XColorList* pColorTab; 728 729 ChangeType* pnColorTableState; 730 sal_uInt16* pPageType; 731 sal_uInt16* pDlgType; 732 sal_uInt16* pPos; 733 sal_Bool* pbAreaTP; 734 sal_Bool bDeleteColorTable; 735 736 XOutdevItemPool* pXPool; 737 XFillStyleItem aXFStyleItem; 738 XFillColorItem aXFillColorItem; 739 XFillAttrSetItem aXFillAttr; 740 SfxItemSet& rXFSet; 741 742 ColorModel eCM; 743 744 Color aAktuellColor; 745 746 #ifdef _SVX_TPCOLOR_CXX 747 void ConvertColorValues (Color& rColor, ColorModel eModell); 748 void RgbToCmyk_Impl( Color& rColor, sal_uInt16& rK ); 749 void CmykToRgb_Impl( Color& rColor, const sal_uInt16 nKey ); 750 sal_uInt16 ColorToPercent_Impl( sal_uInt16 nColor ); 751 sal_uInt16 PercentToColor_Impl( sal_uInt16 nPercent ); 752 753 void ImpColorCountChanged(); 754 755 //----------------------------------------------------------------------------------------------------- 756 DECL_LINK( ClickAddHdl_Impl, void * ); // Button 'Hinzufuegen' 757 DECL_LINK( ClickModifyHdl_Impl, void * ); // Button 'Aendern' 758 DECL_LINK( ClickDeleteHdl_Impl, void * ); // Button 'loeschen' 759 DECL_LINK( ClickWorkOnHdl_Impl, void * ); // Button 'Bearbeiten' 760 761 DECL_LINK( SelectColorLBHdl_Impl, void * ); // Farbe aus Listbox ausw�hlen 762 DECL_LINK( SelectValSetHdl_Impl, void * ); // Farbe aus Farbpalette (links) ausw�hlen 763 DECL_LINK( SelectColorModelHdl_Impl, void * ); // Auswahl Listbox 'Farbmodell' 764 long ChangeColorHdl_Impl( void* p ); 765 DECL_LINK( ModifiedHdl_Impl, void * ); // Inhalt der Farbwerte-Felder wurde ver�ndert 766 DECL_LINK( ClickLoadHdl_Impl, void * ); // Button 'Farbtabelle laden' 767 DECL_LINK( ClickSaveHdl_Impl, void * ); // Button 'Farbtabelle sichern' 768 769 long CheckChanges_Impl(); 770 #endif 771 772 public: 773 SvxColorTabPage( Window* pParent, const SfxItemSet& rInAttrs ); 774 775 void Construct(); 776 777 static SfxTabPage* Create( Window*, const SfxItemSet& ); 778 virtual sal_Bool FillItemSet( SfxItemSet& ); 779 virtual void Reset( const SfxItemSet & ); 780 781 virtual void ActivatePage( const SfxItemSet& rSet ); 782 virtual int DeactivatePage( SfxItemSet* pSet ); 783 784 void SetColorTable( XColorList* pColTab ) { pColorTab = pColTab; } 785 786 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } 787 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } 788 void SetPos( sal_uInt16* pInPos ) { pPos = pInPos; } 789 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } 790 791 void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } 792 793 void SetDeleteColorTable( sal_Bool bIn ) { bDeleteColorTable = bIn; } 794 795 virtual void FillUserData(); 796 }; 797 798 799 #endif // _CUI_TAB_AREA_HXX 800 801