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 XColorListSharedPtr maColorTab; 44 XColorListSharedPtr maNewColorTab; 45 XGradientListSharedPtr maGradientList; 46 XGradientListSharedPtr maNewGradientList; 47 XHatchListSharedPtr maHatchingList; 48 XHatchListSharedPtr maNewHatchingList; 49 XBitmapListSharedPtr maBitmapList; 50 XBitmapListSharedPtr maNewBitmapList; 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 64 virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage ); 65 66 protected: 67 virtual short Ok(); 68 #ifdef _SVX_TABAREA_CXX 69 DECL_LINK( CancelHdlImpl, void * ); 70 void SavePalettes(); 71 #endif 72 73 public: 74 SvxAreaTabDialog( Window* pParent, const SfxItemSet* pAttr, SdrModel* pModel, bool bShadow ); 75 ~SvxAreaTabDialog(); 76 SetNewColorTable(XColorListSharedPtr aColTab)77 void SetNewColorTable( XColorListSharedPtr aColTab ) { maNewColorTab = aColTab; } GetNewColorTable() const78 XColorListSharedPtr GetNewColorTable() const { return maNewColorTab; } GetColorTable() const79 const XColorListSharedPtr GetColorTable() const { return maColorTab; } 80 SetNewGradientList(XGradientListSharedPtr aGrdLst)81 void SetNewGradientList( XGradientListSharedPtr aGrdLst) { maNewGradientList = aGrdLst; } GetNewGradientList() const82 XGradientListSharedPtr GetNewGradientList() const { return maNewGradientList; } GetGradientList() const83 const XGradientListSharedPtr GetGradientList() const { return maGradientList; } 84 SetNewHatchingList(XHatchListSharedPtr aHtchLst)85 void SetNewHatchingList( XHatchListSharedPtr aHtchLst) { maNewHatchingList = aHtchLst; } GetNewHatchingList() const86 XHatchListSharedPtr GetNewHatchingList() const { return maNewHatchingList; } GetHatchingList() const87 const XHatchListSharedPtr GetHatchingList() const { return maHatchingList; } 88 SetNewBitmapList(XBitmapListSharedPtr aBmpLst)89 void SetNewBitmapList( XBitmapListSharedPtr aBmpLst) { maNewBitmapList = aBmpLst; } GetNewBitmapList() const90 XBitmapListSharedPtr GetNewBitmapList() const { return maNewBitmapList; } GetBitmapList() const91 const XBitmapListSharedPtr GetBitmapList() const { return maBitmapList; } 92 }; 93 94 /************************************************************************* 95 |* 96 |* Transparence-Tab-Page 97 |* 98 \************************************************************************/ 99 100 class SvxTransparenceTabPage : public SvxTabPage 101 { 102 using TabPage::ActivatePage; 103 using TabPage::DeactivatePage; 104 105 const SfxItemSet& rOutAttrs; 106 RECT_POINT eRP; 107 108 sal_uInt16 nPageType; 109 sal_uInt16 nDlgType; 110 111 // main selection 112 FixedLine aFlProp; 113 RadioButton aRbtTransOff; 114 RadioButton aRbtTransLinear; 115 RadioButton aRbtTransGradient; 116 117 // linear transparency 118 MetricField aMtrTransparent; 119 120 // gradient transparency 121 FixedText aFtTrgrType; 122 ListBox aLbTrgrGradientType; 123 FixedText aFtTrgrCenterX; 124 MetricField aMtrTrgrCenterX; 125 FixedText aFtTrgrCenterY; 126 MetricField aMtrTrgrCenterY; 127 FixedText aFtTrgrAngle; 128 MetricField aMtrTrgrAngle; 129 FixedText aFtTrgrBorder; 130 MetricField aMtrTrgrBorder; 131 FixedText aFtTrgrStartValue; 132 MetricField aMtrTrgrStartValue; 133 FixedText aFtTrgrEndValue; 134 MetricField aMtrTrgrEndValue; 135 136 // preview 137 SvxXRectPreview aCtlBitmapPreview; 138 SvxXRectPreview aCtlXRectPreview; 139 sal_Bool bBitmap; 140 141 XOutdevItemPool* pXPool; 142 XFillAttrSetItem aXFillAttr; 143 SfxItemSet& rXFSet; 144 145 #ifdef _SVX_TPAREA_CXX 146 DECL_LINK(ClickTransOffHdl_Impl, void * ); 147 DECL_LINK(ClickTransLinearHdl_Impl, void * ); 148 DECL_LINK(ClickTransGradientHdl_Impl, void * ); 149 DECL_LINK(ModifyTransparentHdl_Impl, void*); 150 DECL_LINK(ChangeTrgrTypeHdl_Impl, void*); 151 DECL_LINK(ModifiedTrgrHdl_Impl, void*); 152 #endif 153 154 void ActivateLinear(sal_Bool bActivate); 155 void ActivateGradient(sal_Bool bActivate); 156 void SetControlState_Impl(XGradientStyle eXGS); 157 158 sal_Bool InitPreview ( const SfxItemSet& rSet ); 159 void InvalidatePreview (sal_Bool bEnable = sal_True ); 160 161 public: 162 SvxTransparenceTabPage(Window* pParent, const SfxItemSet& rInAttrs); 163 void Construct(); 164 165 static SfxTabPage* Create(Window*, const SfxItemSet&); 166 static sal_uInt16* GetRanges(); 167 168 virtual sal_Bool FillItemSet(SfxItemSet&); 169 virtual void Reset(const SfxItemSet&); 170 virtual void ActivatePage(const SfxItemSet& rSet); 171 virtual int DeactivatePage(SfxItemSet* pSet); 172 virtual void PointChanged(Window* pWindow, RECT_POINT eRP); 173 174 //CHINA001 void SetPageType(sal_uInt16 *pInType) { pPageType = pInType; } 175 //CHINA001 void SetDlgType(sal_uInt16* pInType) { pDlgType = pInType; } SetPageType(sal_uInt16 nInType)176 void SetPageType(sal_uInt16 nInType) { nPageType = nInType; } //add CHINA001 SetDlgType(sal_uInt16 nInType)177 void SetDlgType(sal_uInt16 nInType) { nDlgType = nInType; }//add CHINA001 178 virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001 179 }; 180 181 /************************************************************************* 182 |* 183 |* Fl"achen-Tab-Page 184 |* 185 \************************************************************************/ 186 187 class SvxAreaTabPage : public SvxTabPage 188 { 189 using TabPage::ActivatePage; 190 using TabPage::DeactivatePage; 191 192 private: 193 FixedLine aFlProp; 194 ListBox aTypeLB; 195 196 ColorLB aLbColor; 197 GradientLB aLbGradient; 198 HatchingLB aLbHatching; 199 BitmapLB aLbBitmap; 200 SvxXRectPreview aCtlBitmapPreview; 201 202 TriStateBox aTsbStepCount; 203 FixedLine aFlStepCount; 204 NumericField aNumFldStepCount; 205 206 CheckBox aCbxHatchBckgrd; 207 ColorLB aLbHatchBckgrdColor; 208 209 FixedLine aFlSize; 210 TriStateBox aTsbOriginal; 211 TriStateBox aTsbScale; 212 FixedText aFtXSize; 213 MetricField aMtrFldXSize; 214 FixedText aFtYSize; 215 MetricField aMtrFldYSize; 216 FixedLine aFlPosition; 217 SvxRectCtl aCtlPosition; 218 FixedText aFtXOffset; 219 MetricField aMtrFldXOffset; 220 FixedText aFtYOffset; 221 MetricField aMtrFldYOffset; 222 TriStateBox aTsbTile; 223 TriStateBox aTsbStretch; 224 FixedLine aFlOffset; 225 RadioButton aRbtRow; 226 RadioButton aRbtColumn; 227 MetricField aMtrFldOffset; 228 229 SvxXRectPreview aCtlXRectPreview; 230 231 const SfxItemSet& rOutAttrs; 232 RECT_POINT eRP; 233 234 XColorListSharedPtr maColorTab; 235 XGradientListSharedPtr maGradientList; 236 XHatchListSharedPtr maHatchingList; 237 XBitmapListSharedPtr maBitmapList; 238 239 // Placeholders for pointer-based entries; these will be inited 240 // to point to these so that the page is usable without that 241 // SvxAreaTabDialog has to call the setter methods (e.g. SetColorChgd). 242 // Without that the pages used in SvxAreaTabDialog are not usable 243 ChangeType maFixed_ChangeType; 244 sal_Bool maFixed_sal_Bool; 245 246 ChangeType* pnColorTableState; 247 ChangeType* pnBitmapListState; 248 ChangeType* pnGradientListState; 249 ChangeType* pnHatchingListState; 250 251 sal_uInt16 nPageType; 252 sal_uInt16 nDlgType; 253 sal_uInt16 nPos; 254 255 sal_Bool* pbAreaTP; 256 257 XOutdevItemPool* pXPool; 258 XFillAttrSetItem aXFillAttr; 259 SfxItemSet& rXFSet; 260 261 SfxMapUnit ePoolUnit; 262 FieldUnit eFUnit; 263 264 //UUUU 265 bool mbOfferImportButton; 266 bool mbPositionsAdapted; 267 bool mbDirectGraphicSet; 268 Graphic maDirectGraphic; 269 String maDirectName; 270 PushButton maBtnImport; 271 272 #ifdef _SVX_TPAREA_CXX 273 DECL_LINK( SelectDialogTypeHdl_Impl, ListBox * ); 274 DECL_LINK( ClickInvisibleHdl_Impl, void * ); 275 DECL_LINK( ClickColorHdl_Impl, void * ); 276 DECL_LINK( ModifyColorHdl_Impl, void * ); 277 DECL_LINK( ModifyHatchBckgrdColorHdl_Impl, void * ); 278 DECL_LINK( ClickGradientHdl_Impl, void * ); 279 DECL_LINK( ModifyGradientHdl_Impl, void * ); 280 DECL_LINK( ClickHatchingHdl_Impl, void * ); 281 DECL_LINK( ModifyHatchingHdl_Impl, void * ); 282 DECL_LINK( ToggleHatchBckgrdColorHdl_Impl, void * ); 283 DECL_LINK( ClickBitmapHdl_Impl, void * ); 284 DECL_LINK( ModifyBitmapHdl_Impl, void * ); 285 // DECL_LINK( ModifyTransparentHdl_Impl, void * ); 286 DECL_LINK( ModifyStepCountHdl_Impl, void * ); 287 288 //UUUU 289 DECL_LINK( ClickImportHdl_Impl, void * ); 290 291 DECL_LINK( ModifyTileHdl_Impl, void * ); 292 DECL_LINK( ClickScaleHdl_Impl, void * ); 293 #endif 294 295 public: 296 SvxAreaTabPage( Window* pParent, const SfxItemSet& rInAttrs ); 297 298 void Construct(); 299 300 static SfxTabPage* Create( Window*, const SfxItemSet& ); 301 static sal_uInt16* GetRanges(); 302 303 virtual sal_Bool FillItemSet( SfxItemSet& ); 304 virtual void Reset( const SfxItemSet & ); 305 virtual void ActivatePage( const SfxItemSet& rSet ); 306 virtual int DeactivatePage( SfxItemSet* pSet ); 307 virtual void PointChanged( Window* pWindow, RECT_POINT eRP ); 308 SetColorTable(XColorListSharedPtr aColTab)309 void SetColorTable( XColorListSharedPtr aColTab ) { maColorTab = aColTab; } SetGradientList(XGradientListSharedPtr aGrdLst)310 void SetGradientList( XGradientListSharedPtr aGrdLst) { maGradientList = aGrdLst; } SetHatchingList(XHatchListSharedPtr aHtchLst)311 void SetHatchingList( XHatchListSharedPtr aHtchLst) { maHatchingList = aHtchLst; } SetBitmapList(XBitmapListSharedPtr aBmpLst)312 void SetBitmapList( XBitmapListSharedPtr aBmpLst) { maBitmapList = aBmpLst; } 313 314 //CHINA001 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } SetPageType(sal_uInt16 nInType)315 void SetPageType( sal_uInt16 nInType ) { nPageType = nInType; } //add CHINA001 316 //CHINA001 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } SetDlgType(sal_uInt16 nInType)317 void SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; }//add CHINA001 318 //CHINA001 void SetPos( sal_uInt16* pInPos ) { pPos = pInPos; } SetPos(sal_uInt16 nInPos)319 void SetPos( sal_uInt16 nInPos ) { nPos = nInPos; }//add CHINA001 SetAreaTP(sal_Bool * pIn)320 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } 321 virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001 SetColorChgd(ChangeType * pIn)322 void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } SetGrdChgd(ChangeType * pIn)323 void SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; } SetHtchChgd(ChangeType * pIn)324 void SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; } SetBmpChgd(ChangeType * pIn)325 void SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; } 326 }; 327 328 /************************************************************************* 329 |* 330 |* Schatten-Tab-Page 331 |* 332 \************************************************************************/ 333 334 class SvxShadowTabPage : public SvxTabPage 335 { 336 using TabPage::ActivatePage; 337 using TabPage::DeactivatePage; 338 339 private: 340 FixedLine aFlProp; 341 TriStateBox aTsbShowShadow; 342 FixedText aFtPosition; 343 SvxRectCtl aCtlPosition; 344 FixedText aFtDistance; 345 MetricField aMtrDistance; 346 FixedText aFtShadowColor; 347 ColorLB aLbShadowColor; 348 FixedText aFtTransparent; 349 MetricField aMtrTransparent; 350 SvxXShadowPreview aCtlXRectPreview; 351 352 const SfxItemSet& rOutAttrs; 353 RECT_POINT eRP; 354 355 XColorListSharedPtr maColorTab; 356 ChangeType* pnColorTableState; 357 sal_uInt16 nPageType; //add CHINA001 358 sal_uInt16 nDlgType; //add CHINA001 359 sal_uInt16* pPos; 360 sal_Bool* pbAreaTP; 361 362 sal_Bool bDisable; 363 364 XOutdevItemPool* pXPool; 365 XFillAttrSetItem aXFillAttr; 366 SfxItemSet& rXFSet; 367 SfxMapUnit ePoolUnit; 368 369 #ifdef _SVX_TPSHADOW_CXX 370 DECL_LINK( ClickShadowHdl_Impl, void * ); 371 DECL_LINK( ModifyShadowHdl_Impl, void * ); 372 #endif 373 374 public: 375 SvxShadowTabPage( Window* pParent, const SfxItemSet& rInAttrs ); 376 377 void Construct(); 378 static SfxTabPage* Create( Window*, const SfxItemSet& ); 379 static sal_uInt16* GetRanges(); 380 381 virtual sal_Bool FillItemSet( SfxItemSet& ); 382 virtual void Reset( const SfxItemSet & ); 383 virtual void ActivatePage( const SfxItemSet& rSet ); 384 virtual int DeactivatePage( SfxItemSet* pSet ); 385 virtual void PointChanged( Window* pWindow, RECT_POINT eRP ); 386 SetColorTable(XColorListSharedPtr aColTab)387 void SetColorTable( XColorListSharedPtr aColTab ) { maColorTab = aColTab; } 388 //CHINA001 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } 389 //CHINA001 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } SetPageType(sal_uInt16 nInType)390 void SetPageType( sal_uInt16 nInType ) { nPageType = nInType; } //add CHINA001 SetDlgType(sal_uInt16 nInType)391 void SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; } //add CHINA001 SetAreaTP(sal_Bool * pIn)392 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } SetColorChgd(ChangeType * pIn)393 void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } 394 virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001 DisablePage(sal_Bool bIn)395 void DisablePage( sal_Bool bIn ) { bDisable = bIn; } 396 }; 397 398 /************************************************************************* 399 |* 400 |* Farbverlauf-Tab-Page 401 |* 402 \************************************************************************/ 403 404 class SvxGradientTabPage : public SfxTabPage 405 { 406 using TabPage::ActivatePage; 407 using TabPage::DeactivatePage; 408 409 private: 410 FixedLine aFlProp; 411 FixedText aFtType; 412 ListBox aLbGradientType; 413 FixedText aFtCenterX; 414 MetricField aMtrCenterX; 415 FixedText aFtCenterY; 416 MetricField aMtrCenterY; 417 FixedText aFtAngle; 418 MetricField aMtrAngle; 419 FixedText aFtBorder; 420 MetricField aMtrBorder; 421 FixedText aFtColorFrom; 422 ColorLB aLbColorFrom; 423 MetricField aMtrColorFrom; 424 FixedText aFtColorTo; 425 ColorLB aLbColorTo; 426 MetricField aMtrColorTo; 427 GradientLB aLbGradients; 428 SvxXRectPreview aCtlPreview; 429 PushButton aBtnAdd; 430 PushButton aBtnModify; 431 PushButton aBtnDelete; 432 ImageButton aBtnLoad; 433 ImageButton aBtnSave; 434 435 const SfxItemSet& rOutAttrs; 436 437 XColorListSharedPtr maColorTab; 438 XGradientListSharedPtr maGradientList; 439 440 ChangeType* pnGradientListState; 441 ChangeType* pnColorTableState; 442 sal_uInt16* pPageType; 443 sal_uInt16* pDlgType; 444 sal_uInt16* pPos; 445 sal_Bool* pbAreaTP; 446 447 XOutdevItemPool* pXPool; 448 XFillStyleItem aXFStyleItem; 449 XFillGradientItem aXGradientItem; 450 XFillAttrSetItem aXFillAttr; 451 SfxItemSet& rXFSet; 452 453 #ifdef _SVX_TPGRADNT_CXX 454 DECL_LINK( ClickAddHdl_Impl, void * ); 455 DECL_LINK( ClickModifyHdl_Impl, void * ); 456 DECL_LINK( ClickDeleteHdl_Impl, void * ); 457 DECL_LINK( ChangeGradientHdl_Impl, void * ); 458 DECL_LINK( ModifiedHdl_Impl, void * ); 459 DECL_LINK( ClickLoadHdl_Impl, void * ); 460 DECL_LINK( ClickSaveHdl_Impl, void * ); 461 462 long CheckChanges_Impl(); 463 void SetControlState_Impl( XGradientStyle eXGS ); 464 #endif 465 466 public: 467 SvxGradientTabPage( Window* pParent, const SfxItemSet& rInAttrs ); 468 469 void Construct(); 470 471 static SfxTabPage* Create( Window*, const SfxItemSet& ); 472 virtual sal_Bool FillItemSet( SfxItemSet& ); 473 virtual void Reset( const SfxItemSet & ); 474 475 virtual void ActivatePage( const SfxItemSet& rSet ); 476 virtual int DeactivatePage( SfxItemSet* pSet ); 477 SetColorTable(XColorListSharedPtr aColTab)478 void SetColorTable( XColorListSharedPtr aColTab ) { maColorTab = aColTab; } SetGradientList(XGradientListSharedPtr aGrdLst)479 void SetGradientList( XGradientListSharedPtr aGrdLst) { maGradientList = aGrdLst; } 480 SetPageType(sal_uInt16 * pInType)481 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } SetDlgType(sal_uInt16 * pInType)482 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } SetPos(sal_uInt16 * pInPos)483 void SetPos( sal_uInt16* pInPos ) { pPos = pInPos; } SetAreaTP(sal_Bool * pIn)484 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } 485 SetGrdChgd(ChangeType * pIn)486 void SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; } SetColorChgd(ChangeType * 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 XColorListSharedPtr maColorTab; 524 XHatchListSharedPtr maHatchingList; 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 SetColorTable(XColorListSharedPtr aColTab)567 void SetColorTable( XColorListSharedPtr aColTab ) { maColorTab = aColTab; } SetHatchingList(XHatchListSharedPtr aHtchLst)568 void SetHatchingList( XHatchListSharedPtr aHtchLst) { maHatchingList = aHtchLst; } 569 SetPageType(sal_uInt16 * pInType)570 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } SetDlgType(sal_uInt16 * pInType)571 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } SetPos(sal_uInt16 * pInPos)572 void SetPos( sal_uInt16* pInPos ) { pPos = pInPos; } SetAreaTP(sal_Bool * pIn)573 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } 574 SetHtchChgd(ChangeType * pIn)575 void SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; } SetColorChgd(ChangeType * pIn)576 void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } 577 578 virtual void DataChanged( const DataChangedEvent& rDCEvt ); 579 }; 580 581 /************************************************************************* 582 |* 583 |* Bitmap-Tab-Page 584 |* 585 \************************************************************************/ 586 587 class SvxBitmapTabPage : public SvxTabPage 588 { 589 using TabPage::ActivatePage; 590 using TabPage::DeactivatePage; 591 592 private: 593 SvxPixelCtl aCtlPixel; 594 FixedText aFtPixelEdit; 595 FixedText aFtColor; 596 ColorLB aLbColor; 597 FixedText aFtBackgroundColor; 598 ColorLB aLbBackgroundColor; 599 FixedText aLbBitmapsHidden; 600 BitmapLB aLbBitmaps; 601 FixedLine aFlProp; 602 SvxXRectPreview aCtlPreview; 603 PushButton aBtnAdd; 604 PushButton aBtnModify; 605 PushButton aBtnImport; 606 PushButton aBtnDelete; 607 ImageButton aBtnLoad; 608 ImageButton aBtnSave; 609 610 SvxBitmapCtl aBitmapCtl; 611 612 const SfxItemSet& rOutAttrs; 613 614 XColorListSharedPtr maColorTab; 615 XBitmapListSharedPtr maBitmapList; 616 617 ChangeType* pnBitmapListState; 618 ChangeType* pnColorTableState; 619 sal_uInt16* pPageType; 620 sal_uInt16* pDlgType; 621 sal_uInt16* pPos; 622 sal_Bool* pbAreaTP; 623 624 sal_Bool bBmpChanged; 625 626 XOutdevItemPool* pXPool; 627 XFillStyleItem aXFStyleItem; 628 XFillBitmapItem aXBitmapItem; 629 XFillAttrSetItem aXFillAttr; 630 SfxItemSet& rXFSet; 631 632 #ifdef _SVX_TPBITMAP_CXX 633 DECL_LINK( ClickAddHdl_Impl, void * ); 634 DECL_LINK( ClickImportHdl_Impl, void * ); 635 DECL_LINK( ClickModifyHdl_Impl, void * ); 636 DECL_LINK( ClickDeleteHdl_Impl, void * ); 637 DECL_LINK( ChangeBitmapHdl_Impl, void * ); 638 DECL_LINK( ChangePixelColorHdl_Impl, void * ); 639 DECL_LINK( ChangeBackgrndColorHdl_Impl, void * ); 640 DECL_LINK( ClickLoadHdl_Impl, void * ); 641 DECL_LINK( ClickSaveHdl_Impl, void * ); 642 643 long CheckChanges_Impl(); 644 #endif 645 646 public: 647 SvxBitmapTabPage( Window* pParent, const SfxItemSet& rInAttrs ); 648 649 void Construct(); 650 651 static SfxTabPage* Create( Window*, const SfxItemSet& ); 652 virtual sal_Bool FillItemSet( SfxItemSet& ); 653 virtual void Reset( const SfxItemSet & ); 654 655 virtual void ActivatePage( const SfxItemSet& rSet ); 656 virtual int DeactivatePage( SfxItemSet* pSet ); 657 658 virtual void PointChanged( Window* pWindow, RECT_POINT eRP ); 659 SetColorTable(XColorListSharedPtr aColTab)660 void SetColorTable( XColorListSharedPtr aColTab ) { maColorTab = aColTab; } SetBitmapList(XBitmapListSharedPtr aBmpLst)661 void SetBitmapList( XBitmapListSharedPtr aBmpLst) { maBitmapList = aBmpLst; } 662 SetPageType(sal_uInt16 * pInType)663 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } SetDlgType(sal_uInt16 * pInType)664 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } SetPos(sal_uInt16 * pInPos)665 void SetPos( sal_uInt16* pInPos ) { pPos = pInPos; } SetAreaTP(sal_Bool * pIn)666 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } 667 SetBmpChgd(ChangeType * pIn)668 void SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; } SetColorChgd(ChangeType * pIn)669 void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } 670 671 /** Return a label that is associated with the given control. This 672 label is used to the determine the name for the control. 673 @param pLabeled 674 The control for which to return a label. 675 @return 676 Return a label control that provides a name for the specified 677 control. 678 */ 679 virtual Window* GetParentLabeledBy( const Window* pLabeled ) const; 680 }; 681 682 /************************************************************************* 683 |* 684 |* Farben-Tab-Page 685 |* 686 \************************************************************************/ 687 688 class SvxColorTabPage : public SfxTabPage 689 { 690 using TabPage::ActivatePage; 691 using TabPage::DeactivatePage; 692 693 private: 694 FixedLine aFlProp; 695 FixedText aFtName; 696 Edit aEdtName; 697 FixedText aFtColor; 698 ColorLB aLbColor; 699 700 FixedText aTableNameFT; 701 SvxColorValueSet aValSetColorTable; 702 703 SvxXRectPreview aCtlPreviewOld; 704 SvxXRectPreview aCtlPreviewNew; 705 706 ListBox aLbColorModel; 707 FixedText aFtColorModel1; 708 MetricField aMtrFldColorModel1; 709 FixedText aFtColorModel2; 710 MetricField aMtrFldColorModel2; 711 FixedText aFtColorModel3; 712 MetricField aMtrFldColorModel3; 713 714 FixedText aFtColorModel4; 715 MetricField aMtrFldColorModel4; 716 717 PushButton aBtnAdd; 718 PushButton aBtnModify; 719 PushButton aBtnWorkOn; 720 PushButton aBtnDelete; 721 ImageButton aBtnLoad; 722 ImageButton aBtnSave; 723 724 const SfxItemSet& rOutAttrs; 725 726 XColorListSharedPtr maColorTab; 727 728 ChangeType* pnColorTableState; 729 sal_uInt16* pPageType; 730 sal_uInt16* pDlgType; 731 sal_uInt16* pPos; 732 sal_Bool* pbAreaTP; 733 734 XOutdevItemPool* pXPool; 735 XFillStyleItem aXFStyleItem; 736 XFillColorItem aXFillColorItem; 737 XFillAttrSetItem aXFillAttr; 738 SfxItemSet& rXFSet; 739 740 ColorModel eCM; 741 742 Color aAktuellColor; 743 744 #ifdef _SVX_TPCOLOR_CXX 745 void ConvertColorValues (Color& rColor, ColorModel eModell); 746 void RgbToCmyk_Impl( Color& rColor, sal_uInt16& rK ); 747 void CmykToRgb_Impl( Color& rColor, const sal_uInt16 nKey ); 748 sal_uInt16 ColorToPercent_Impl( sal_uInt16 nColor ); 749 sal_uInt16 PercentToColor_Impl( sal_uInt16 nPercent ); 750 751 void ImpColorCountChanged(); 752 753 //----------------------------------------------------------------------------------------------------- 754 DECL_LINK( ClickAddHdl_Impl, void * ); // Button 'Hinzufuegen' 755 DECL_LINK( ClickModifyHdl_Impl, void * ); // Button 'Aendern' 756 DECL_LINK( ClickDeleteHdl_Impl, void * ); // Button 'loeschen' 757 DECL_LINK( ClickWorkOnHdl_Impl, void * ); // Button 'Bearbeiten' 758 759 DECL_LINK( SelectColorLBHdl_Impl, void * ); // Farbe aus Listbox ausw�hlen 760 DECL_LINK( SelectValSetHdl_Impl, void * ); // Farbe aus Farbpalette (links) ausw�hlen 761 DECL_LINK( SelectColorModelHdl_Impl, void * ); // Auswahl Listbox 'Farbmodell' 762 long ChangeColorHdl_Impl( void* p ); 763 DECL_LINK( ModifiedHdl_Impl, void * ); // Inhalt der Farbwerte-Felder wurde ver�ndert 764 DECL_LINK( ClickLoadHdl_Impl, void * ); // Button 'Farbtabelle laden' 765 DECL_LINK( ClickSaveHdl_Impl, void * ); // Button 'Farbtabelle sichern' 766 767 long CheckChanges_Impl(); 768 #endif 769 770 public: 771 SvxColorTabPage( Window* pParent, const SfxItemSet& rInAttrs ); 772 773 void Construct(); 774 775 static SfxTabPage* Create( Window*, const SfxItemSet& ); 776 virtual sal_Bool FillItemSet( SfxItemSet& ); 777 virtual void Reset( const SfxItemSet & ); 778 779 virtual void ActivatePage( const SfxItemSet& rSet ); 780 virtual int DeactivatePage( SfxItemSet* pSet ); 781 SetColorTable(XColorListSharedPtr aColTab)782 void SetColorTable( XColorListSharedPtr aColTab ) { maColorTab = aColTab; } 783 SetPageType(sal_uInt16 * pInType)784 void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } SetDlgType(sal_uInt16 * pInType)785 void SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; } SetPos(sal_uInt16 * pInPos)786 void SetPos( sal_uInt16* pInPos ) { pPos = pInPos; } SetAreaTP(sal_Bool * pIn)787 void SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; } 788 SetColorChgd(ChangeType * pIn)789 void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; } 790 791 virtual void FillUserData(); 792 }; 793 794 795 #endif // _CUI_TAB_AREA_HXX 796 797