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 24 // MARKER(update_precomp.py): autogen include statement, do not remove 25 #include "precompiled_sd.hxx" 26 #include <svx/svdmodel.hxx> 27 #include <sfx2/app.hxx> 28 #include <sfx2/sfx.hrc> 29 #ifndef _SV_SALBTYPE_HRC //autogen 30 #include <vcl/salbtype.hxx> 31 #endif 32 #include <unotools/syslocale.hxx> 33 34 #include "app.hxx" 35 #include "optsitem.hxx" 36 #include "cfgids.hxx" 37 #include "FrameView.hxx" 38 39 using namespace ::rtl; 40 using namespace ::utl; 41 using namespace ::com::sun::star::uno; 42 43 #define B2U(_def_aStr) (OUString::createFromAscii(_def_aStr)) 44 45 template< class T > T getSafeValue( const Any& rAny ) 46 { 47 T value = T(); 48 bool bOk = (rAny >>= value); 49 50 DBG_ASSERT( bOk, "SdOptionsItem, wrong type from configuration!" ); 51 (void)bOk; 52 53 return value; 54 } 55 56 // ----------------- 57 // - SdOptionsItem - 58 // ----------------- 59 60 SdOptionsItem::SdOptionsItem( const SdOptionsGeneric& rParent, const OUString rSubTree ) : 61 ConfigItem ( rSubTree ), 62 mrParent ( rParent ) 63 { 64 } 65 66 // ----------------------------------------------------------------------------- 67 68 SdOptionsItem::~SdOptionsItem() 69 { 70 } 71 72 // ----------------------------------------------------------------------------- 73 74 void SdOptionsItem::Commit() 75 { 76 if( IsModified() ) 77 mrParent.Commit( *this ); 78 }; 79 80 void SdOptionsItem::Notify( const com::sun::star::uno::Sequence<rtl::OUString>& ) 81 {} 82 83 84 // ----------------------------------------------------------------------------- 85 86 Sequence< Any > SdOptionsItem::GetProperties( const Sequence< OUString >& rNames ) 87 { 88 return ConfigItem::GetProperties( rNames ); 89 } 90 91 // ----------------------------------------------------------------------------- 92 93 sal_Bool SdOptionsItem::PutProperties( const Sequence< OUString >& rNames, const Sequence< Any>& rValues ) 94 { 95 return ConfigItem::PutProperties( rNames, rValues ); 96 } 97 98 // ----------------------------------------------------------------------------- 99 100 void SdOptionsItem::SetModified() 101 { 102 ConfigItem::SetModified(); 103 } 104 105 // -------------------- 106 // - SdOptionsGeneric - 107 // -------------------- 108 109 SdOptionsGeneric::SdOptionsGeneric( sal_uInt16 nConfigId, const OUString& rSubTree ) : 110 maSubTree ( rSubTree ), 111 mpCfgItem ( NULL ), 112 mnConfigId ( nConfigId ), 113 mbInit ( rSubTree.getLength() == 0 ) 114 { 115 } 116 117 // ----------------------------------------------------------------------------- 118 119 void SdOptionsGeneric::Init() const 120 { 121 if( !mbInit ) 122 { 123 SdOptionsGeneric* pThis = const_cast<SdOptionsGeneric*>(this); 124 125 if( !mpCfgItem ) 126 pThis->mpCfgItem = new SdOptionsItem( *this, maSubTree ); 127 128 const Sequence< OUString > aNames( GetPropertyNames() ); 129 const Sequence< Any > aValues = mpCfgItem->GetProperties( aNames ); 130 131 if( aNames.getLength() && ( aValues.getLength() == aNames.getLength() ) ) 132 { 133 const Any* pValues = aValues.getConstArray(); 134 135 pThis->EnableModify( sal_False ); 136 pThis->mbInit = pThis->ReadData( pValues ); 137 pThis->EnableModify( sal_True ); 138 } 139 else 140 pThis->mbInit = sal_True; 141 } 142 } 143 144 // ----------------------------------------------------------------------------- 145 146 SdOptionsGeneric::~SdOptionsGeneric() 147 { 148 delete mpCfgItem; 149 mpCfgItem = NULL; 150 } 151 152 // ----------------------------------------------------------------------------- 153 154 void SdOptionsGeneric::Commit( SdOptionsItem& rCfgItem ) const 155 { 156 const Sequence< OUString > aNames( GetPropertyNames() ); 157 Sequence< Any > aValues( aNames.getLength() ); 158 159 if( aNames.getLength() && ( aValues.getLength() == aNames.getLength() ) ) 160 { 161 if( (const_cast<SdOptionsGeneric*>(this))->WriteData( aValues.getArray() ) ) 162 rCfgItem.PutProperties( aNames, aValues ); 163 else 164 { 165 DBG_ERROR( "PutProperties failed" ); 166 } 167 } 168 } 169 170 // ----------------------------------------------------------------------------- 171 172 Sequence< OUString > SdOptionsGeneric::GetPropertyNames() const 173 { 174 sal_uLong nCount; 175 const char** ppPropNames; 176 177 GetPropNameArray( ppPropNames, nCount ); 178 179 Sequence< OUString > aNames( nCount ); 180 OUString* pNames = aNames.getArray(); 181 182 for( sal_uLong i = 0; i < nCount; i++ ) 183 pNames[ i ] = OUString::createFromAscii( ppPropNames[ i ] ); 184 185 return aNames; 186 } 187 188 // ----------------------------------------------------------------------------- 189 190 void SdOptionsGeneric::Store() 191 { 192 if( mpCfgItem ) 193 mpCfgItem->Commit(); 194 } 195 196 // ----------------------------------------------------------------------------- 197 198 bool SdOptionsGeneric::isMetricSystem() 199 { 200 SvtSysLocale aSysLocale; 201 MeasurementSystem eSys = aSysLocale.GetLocaleDataPtr()->getMeasurementSystemEnum(); 202 203 return ( eSys == MEASURE_METRIC ); 204 } 205 206 /************************************************************************* 207 |* 208 |* SdOptionsLayout 209 |* 210 \************************************************************************/ 211 212 SdOptionsLayout::SdOptionsLayout( sal_uInt16 nConfigId, sal_Bool bUseConfig ) : 213 SdOptionsGeneric( nConfigId, bUseConfig ? 214 ( ( SDCFG_DRAW == nConfigId ) ? 215 B2U( "Office.Draw/Layout" ) : 216 B2U( "Office.Impress/Layout" ) ) : 217 OUString() ), 218 bRuler( sal_True ), 219 bMoveOutline( sal_True ), 220 bDragStripes( sal_False ), 221 bHandlesBezier( sal_False ), 222 bHelplines( sal_True ), 223 nMetric((sal_uInt16)(isMetricSystem() ? FUNIT_CM : FUNIT_INCH)), 224 nDefTab( 1250 ) 225 { 226 EnableModify( sal_True ); 227 } 228 229 // ----------------------------------------------------------------------------- 230 231 sal_Bool SdOptionsLayout::operator==( const SdOptionsLayout& rOpt ) const 232 { 233 return( IsRulerVisible() == rOpt.IsRulerVisible() && 234 IsMoveOutline() == rOpt.IsMoveOutline() && 235 IsDragStripes() == rOpt.IsDragStripes() && 236 IsHandlesBezier() == rOpt.IsHandlesBezier() && 237 IsHelplines() == rOpt.IsHelplines() && 238 GetMetric() == rOpt.GetMetric() && 239 GetDefTab() == rOpt.GetDefTab() ); 240 } 241 242 // ----------------------------------------------------------------------------- 243 244 void SdOptionsLayout::GetPropNameArray( const char**& ppNames, sal_uLong& rCount ) const 245 { 246 static const char* aPropNamesMetric[] = 247 { 248 "Display/Ruler", 249 "Display/Bezier", 250 "Display/Contour", 251 "Display/Guide", 252 "Display/Helpline", 253 "Other/MeasureUnit/Metric", 254 "Other/TabStop/Metric" 255 }; 256 257 static const char* aPropNamesNonMetric[] = 258 { 259 "Display/Ruler", 260 "Display/Bezier", 261 "Display/Contour", 262 "Display/Guide", 263 "Display/Helpline", 264 "Other/MeasureUnit/NonMetric", 265 "Other/TabStop/NonMetric" 266 }; 267 268 rCount = 7; 269 270 if( isMetricSystem() ) 271 ppNames = aPropNamesMetric; 272 else 273 ppNames = aPropNamesNonMetric; 274 } 275 276 // ----------------------------------------------------------------------------- 277 278 sal_Bool SdOptionsLayout::ReadData( const Any* pValues ) 279 { 280 if( pValues[0].hasValue() ) SetRulerVisible( *(sal_Bool*) pValues[ 0 ].getValue() ); 281 if( pValues[1].hasValue() ) SetHandlesBezier( *(sal_Bool*) pValues[ 1 ].getValue() ); 282 if( pValues[2].hasValue() ) SetMoveOutline( *(sal_Bool*) pValues[ 2 ].getValue() ); 283 if( pValues[3].hasValue() ) SetDragStripes( *(sal_Bool*) pValues[ 3 ].getValue() ); 284 if( pValues[4].hasValue() ) SetHelplines( *(sal_Bool*) pValues[ 4 ].getValue() ); 285 if( pValues[5].hasValue() ) SetMetric( (sal_uInt16) *(sal_Int32*) pValues[ 5 ].getValue() ); 286 if( pValues[6].hasValue() ) SetDefTab( (sal_uInt16) *(sal_Int32*) pValues[ 6 ].getValue() ); 287 288 return sal_True; 289 } 290 291 // ----------------------------------------------------------------------------- 292 293 sal_Bool SdOptionsLayout::WriteData( Any* pValues ) const 294 { 295 pValues[ 0 ] <<= IsRulerVisible(); 296 pValues[ 1 ] <<= IsHandlesBezier(); 297 pValues[ 2 ] <<= IsMoveOutline(); 298 pValues[ 3 ] <<= IsDragStripes(); 299 pValues[ 4 ] <<= IsHelplines(); 300 pValues[ 5 ] <<= (sal_Int32) GetMetric(); 301 pValues[ 6 ] <<= (sal_Int32) GetDefTab(); 302 303 return sal_True; 304 } 305 306 /************************************************************************* 307 |* 308 |* SdOptionsLayoutItem 309 |* 310 \************************************************************************/ 311 312 SdOptionsLayoutItem::SdOptionsLayoutItem( sal_uInt16 _nWhich ) 313 : SfxPoolItem ( _nWhich ) 314 , maOptionsLayout ( 0, sal_False ) 315 { 316 } 317 318 // ---------------------------------------------------------------------- 319 320 SdOptionsLayoutItem::SdOptionsLayoutItem( sal_uInt16 _nWhich, SdOptions* pOpts, ::sd::FrameView* pView ) 321 : SfxPoolItem ( _nWhich ) 322 , maOptionsLayout ( 0, sal_False ) 323 { 324 if( pOpts ) 325 { 326 maOptionsLayout.SetMetric( pOpts->GetMetric() ); 327 maOptionsLayout.SetDefTab( pOpts->GetDefTab() ); 328 } 329 330 if( pView ) 331 { 332 maOptionsLayout.SetRulerVisible( pView->HasRuler() ); 333 maOptionsLayout.SetMoveOutline( !pView->IsNoDragXorPolys() ); 334 maOptionsLayout.SetDragStripes( pView->IsDragStripes() ); 335 maOptionsLayout.SetHandlesBezier( pView->IsPlusHandlesAlwaysVisible() ); 336 maOptionsLayout.SetHelplines( pView->IsHlplVisible() ); 337 } 338 else if( pOpts ) 339 { 340 maOptionsLayout.SetRulerVisible( pOpts->IsRulerVisible() ); 341 maOptionsLayout.SetMoveOutline( pOpts->IsMoveOutline() ); 342 maOptionsLayout.SetDragStripes( pOpts->IsDragStripes() ); 343 maOptionsLayout.SetHandlesBezier( pOpts->IsHandlesBezier() ); 344 maOptionsLayout.SetHelplines( pOpts->IsHelplines() ); 345 } 346 } 347 348 // ---------------------------------------------------------------------- 349 350 SfxPoolItem* SdOptionsLayoutItem::Clone( SfxItemPool* ) const 351 { 352 return new SdOptionsLayoutItem( *this ); 353 } 354 355 356 // ---------------------------------------------------------------------- 357 358 int SdOptionsLayoutItem::operator==( const SfxPoolItem& rAttr ) const 359 { 360 const bool bSameType = SfxPoolItem::operator==( rAttr ); 361 DBG_ASSERT( bSameType, "SdOptionsLayoutItem::operator==(), differen pool item type!" ); 362 return bSameType && ( maOptionsLayout == static_cast< const SdOptionsLayoutItem& >( rAttr ).maOptionsLayout ); 363 } 364 365 // ----------------------------------------------------------------------- 366 367 void SdOptionsLayoutItem::SetOptions( SdOptions* pOpts ) const 368 { 369 if( pOpts ) 370 { 371 pOpts->SetRulerVisible( maOptionsLayout.IsRulerVisible() ); 372 pOpts->SetMoveOutline( maOptionsLayout.IsMoveOutline() ); 373 pOpts->SetDragStripes( maOptionsLayout.IsDragStripes() ); 374 pOpts->SetHandlesBezier( maOptionsLayout.IsHandlesBezier() ); 375 pOpts->SetHelplines( maOptionsLayout.IsHelplines() ); 376 pOpts->SetMetric( maOptionsLayout.GetMetric() ); 377 pOpts->SetDefTab( maOptionsLayout.GetDefTab() ); 378 } 379 } 380 381 /************************************************************************* 382 |* 383 |* SdOptionsContents 384 |* 385 \************************************************************************/ 386 387 SdOptionsContents::SdOptionsContents( sal_uInt16 nConfigId, sal_Bool bUseConfig ) : 388 SdOptionsGeneric( nConfigId, bUseConfig ? 389 ( ( SDCFG_DRAW == nConfigId ) ? 390 B2U( "Office.Draw/Content" ) : 391 B2U( "Office.Impress/Content" ) ) : 392 OUString() ) 393 { 394 EnableModify( sal_True ); 395 } 396 397 // ----------------------------------------------------------------------------- 398 399 sal_Bool SdOptionsContents::operator==(const SdOptionsContents&) const 400 { 401 return true; 402 } 403 404 // ----------------------------------------------------------------------------- 405 406 void SdOptionsContents::GetPropNameArray( const char**& ppNames, sal_uLong& rCount ) const 407 { 408 static const char* aPropNames[] = 409 { 410 "Display/PicturePlaceholder", 411 "Display/ContourMode", 412 "Display/LineContour", 413 "Display/TextPlaceholder" 414 }; 415 416 rCount = 4; 417 ppNames = aPropNames; 418 } 419 420 // ----------------------------------------------------------------------------- 421 422 sal_Bool SdOptionsContents::ReadData(const Any*) 423 { 424 return sal_True; 425 } 426 427 // ----------------------------------------------------------------------------- 428 429 sal_Bool SdOptionsContents::WriteData( Any* pValues ) const 430 { 431 //#i80528# no draft anymore 432 pValues[ 0 ] <<= (sal_Bool)false; 433 pValues[ 1 ] <<= (sal_Bool)false; 434 pValues[ 2 ] <<= (sal_Bool)false; 435 pValues[ 3 ] <<= (sal_Bool)false; 436 437 return sal_True; 438 } 439 440 /************************************************************************* 441 |* 442 |* SdOptionsContentsItem 443 |* 444 \************************************************************************/ 445 446 SdOptionsContentsItem::SdOptionsContentsItem(sal_uInt16 _nWhich, SdOptions*, ::sd::FrameView*) 447 : SfxPoolItem ( _nWhich ) 448 , maOptionsContents ( 0, sal_False ) 449 { 450 } 451 452 // ---------------------------------------------------------------------- 453 454 SfxPoolItem* SdOptionsContentsItem::Clone( SfxItemPool* ) const 455 { 456 return new SdOptionsContentsItem( *this ); 457 } 458 459 // ---------------------------------------------------------------------- 460 461 int SdOptionsContentsItem::operator==( const SfxPoolItem& rAttr ) const 462 { 463 const bool bSameType = SfxPoolItem::operator==(rAttr); 464 DBG_ASSERT( bSameType, "SdOptionsContentsItem::operator==(), differen pool item type!" ); 465 return bSameType && ( maOptionsContents == static_cast<const SdOptionsContentsItem&>( rAttr ).maOptionsContents ); 466 } 467 468 // ----------------------------------------------------------------------- 469 470 void SdOptionsContentsItem::SetOptions(SdOptions*) const 471 { 472 } 473 474 /************************************************************************* 475 |* 476 |* SdOptionsMisc 477 |* 478 \************************************************************************/ 479 480 SdOptionsMisc::SdOptionsMisc( sal_uInt16 nConfigId, sal_Bool bUseConfig ) : 481 SdOptionsGeneric( nConfigId, bUseConfig ? 482 ( ( SDCFG_DRAW == nConfigId ) ? 483 B2U( "Office.Draw/Misc" ) : 484 B2U( "Office.Impress/Misc" ) ) : 485 OUString() ), 486 // #97016# 487 nDefaultObjectSizeWidth(8000), 488 nDefaultObjectSizeHeight(5000), 489 bStartWithTemplate( sal_True ), 490 bMarkedHitMovesAlways( sal_True ), 491 bMoveOnlyDragging( sal_False ), 492 bCrookNoContortion( sal_False ), 493 bQuickEdit( GetConfigId() != SDCFG_DRAW ), 494 bMasterPageCache( sal_True ), 495 bDragWithCopy( sal_False ), 496 bPickThrough( sal_True ), 497 bBigHandles( sal_True ), // new default: Use big handles 498 bDoubleClickTextEdit( sal_True ), 499 bClickChangeRotation( sal_False ), 500 bStartWithActualPage( sal_False ), 501 bStartWithPresenterScreen( sal_True ), // default: Enable the Presenter Screen 502 bSolidDragging( sal_True ), 503 bSolidMarkHdl( sal_True ), // default: Use nice handles 504 bSummationOfParagraphs( sal_False ), 505 // #90356# 506 bShowUndoDeleteWarning( sal_True ), 507 bSlideshowRespectZOrder( sal_True ), 508 bShowComments( sal_True ), 509 bPreviewNewEffects( sal_True ), 510 bPreviewChangedEffects( sal_False ), 511 bPreviewTransitions( sal_True ), 512 mnDisplay( 0 ), 513 mnPenColor( 0xff0000 ), 514 mnPenWidth( 150.0 ), 515 516 // The default for 6.1-and-above documents is to use printer-independent 517 // formatting. 518 mnPrinterIndependentLayout (1) 519 { 520 EnableModify( sal_True ); 521 } 522 523 // ----------------------------------------------------------------------------- 524 525 sal_Bool SdOptionsMisc::operator==( const SdOptionsMisc& rOpt ) const 526 { 527 return( IsStartWithTemplate() == rOpt.IsStartWithTemplate() && 528 IsMarkedHitMovesAlways() == rOpt.IsMarkedHitMovesAlways() && 529 IsMoveOnlyDragging() == rOpt.IsMoveOnlyDragging() && 530 IsCrookNoContortion() == rOpt.IsCrookNoContortion() && 531 IsQuickEdit() == rOpt.IsQuickEdit() && 532 IsMasterPagePaintCaching() == rOpt.IsMasterPagePaintCaching() && 533 IsDragWithCopy() == rOpt.IsDragWithCopy() && 534 IsPickThrough() == rOpt.IsPickThrough() && 535 IsBigHandles() == rOpt.IsBigHandles() && 536 IsDoubleClickTextEdit() == rOpt.IsDoubleClickTextEdit() && 537 IsClickChangeRotation() == rOpt.IsClickChangeRotation() && 538 IsStartWithActualPage() == rOpt.IsStartWithActualPage() && 539 IsStartWithPresenterScreen() == rOpt.IsStartWithPresenterScreen() && 540 IsSummationOfParagraphs() == rOpt.IsSummationOfParagraphs() && 541 IsSolidDragging() == rOpt.IsSolidDragging() && 542 IsSolidMarkHdl() == rOpt.IsSolidMarkHdl() && 543 // #90356# 544 IsShowUndoDeleteWarning() == rOpt.IsShowUndoDeleteWarning() && 545 IsSlideshowRespectZOrder() == rOpt.IsSlideshowRespectZOrder() && 546 GetPrinterIndependentLayout() == rOpt.GetPrinterIndependentLayout() && 547 // #97016# 548 GetDefaultObjectSizeWidth() == rOpt.GetDefaultObjectSizeWidth() && 549 GetDefaultObjectSizeHeight() == rOpt.GetDefaultObjectSizeHeight() && 550 551 IsPreviewNewEffects() == rOpt.IsPreviewNewEffects() && 552 IsPreviewChangedEffects() == rOpt.IsPreviewChangedEffects() && 553 IsPreviewTransitions() == rOpt.IsPreviewTransitions() && 554 GetDisplay() == rOpt.GetDisplay() && 555 IsShowComments() == rOpt.IsShowComments() && 556 GetPresentationPenColor() == rOpt.GetPresentationPenColor() && 557 GetPresentationPenWidth() == rOpt.GetPresentationPenWidth() 558 ); 559 } 560 561 // ----------------------------------------------------------------------------- 562 563 void SdOptionsMisc::GetPropNameArray( const char**& ppNames, sal_uLong& rCount ) const 564 { 565 static const char* aPropNames[] = 566 { 567 "ObjectMoveable", 568 "NoDistort", 569 "TextObject/QuickEditing", 570 "BackgroundCache", 571 "CopyWhileMoving", 572 "TextObject/Selectable", 573 "BigHandles", 574 "DclickTextedit", 575 "RotateClick", 576 "Preview", 577 "ModifyWithAttributes", 578 "SimpleHandles", 579 // #97016# 580 "DefaultObjectSize/Width", 581 "DefaultObjectSize/Height", 582 583 "Compatibility/PrinterIndependentLayout", 584 585 "ShowComments", 586 587 // just for impress 588 "NewDoc/AutoPilot", 589 "Start/CurrentPage", 590 "Compatibility/AddBetween", 591 // #90356# 592 "ShowUndoDeleteWarning", 593 "SlideshowRespectZOrder", 594 595 "PreviewNewEffects", 596 "PreviewChangedEffects", 597 "PreviewTransitions", 598 599 "Display", 600 601 "PenColor", 602 "PenWidth", 603 604 "Start/PresenterScreen" 605 }; 606 607 rCount = ( ( GetConfigId() == SDCFG_IMPRESS ) ? 28 : 16 ); 608 ppNames = aPropNames; 609 } 610 611 // ----------------------------------------------------------------------------- 612 613 sal_Bool SdOptionsMisc::ReadData( const Any* pValues ) 614 { 615 if( pValues[0].hasValue() ) SetMarkedHitMovesAlways( *(sal_Bool*) pValues[ 0 ].getValue() ); 616 if( pValues[1].hasValue() ) SetCrookNoContortion( *(sal_Bool*) pValues[ 1 ].getValue() ); 617 if( pValues[2].hasValue() ) SetQuickEdit( *(sal_Bool*)pValues[ 2 ].getValue() ); 618 if( pValues[3].hasValue() ) SetMasterPagePaintCaching( *(sal_Bool*) pValues[ 3 ].getValue() ); 619 if( pValues[4].hasValue() ) SetDragWithCopy( *(sal_Bool*) pValues[ 4 ].getValue() ); 620 if( pValues[5].hasValue() ) SetPickThrough( *(sal_Bool*) pValues[ 5 ].getValue() ); 621 if( pValues[6].hasValue() ) SetBigHandles( *(sal_Bool*) pValues[ 6 ].getValue() ); 622 if( pValues[7].hasValue() ) SetDoubleClickTextEdit( *(sal_Bool*) pValues[ 7 ].getValue() ); 623 if( pValues[8].hasValue() ) SetClickChangeRotation( *(sal_Bool*) pValues[ 8 ].getValue() ); 624 // if( pValues[9].hasValue() ) SetPreviewQuality( FRound( *(double*) pValues[ 9 ].getValue() ) ); 625 if( pValues[10].hasValue() ) SetSolidDragging( *(sal_Bool*) pValues[ 10 ].getValue() ); 626 if( pValues[11].hasValue() ) SetSolidMarkHdl( *(sal_Bool*) pValues[ 11 ].getValue() ); 627 // #97016# 628 if( pValues[12].hasValue() ) SetDefaultObjectSizeWidth( *(sal_uInt32*) pValues[ 12 ].getValue() ); 629 if( pValues[13].hasValue() ) SetDefaultObjectSizeHeight( *(sal_uInt32*) pValues[ 13 ].getValue() ); 630 if( pValues[14].hasValue() ) SetPrinterIndependentLayout( *(sal_uInt16*) pValues[ 14 ].getValue() ); 631 632 if( pValues[15].hasValue() ) 633 SetShowComments( *(sal_Bool*) pValues[ 15 ].getValue() ); 634 635 // just for Impress 636 if( GetConfigId() == SDCFG_IMPRESS ) 637 { 638 if( pValues[16].hasValue() ) 639 SetStartWithTemplate( *(sal_Bool*) pValues[ 16 ].getValue() ); 640 if( pValues[17].hasValue() ) 641 SetStartWithActualPage( *(sal_Bool*) pValues[ 17 ].getValue() ); 642 if( pValues[18].hasValue() ) 643 SetSummationOfParagraphs( *(sal_Bool*) pValues[ 18 ].getValue() ); 644 // #90356# 645 if( pValues[19].hasValue() ) 646 SetShowUndoDeleteWarning( *(sal_Bool*) pValues[ 19 ].getValue() ); 647 648 if( pValues[20].hasValue() ) 649 SetSlideshowRespectZOrder(*(sal_Bool*) pValues[ 20 ].getValue()); 650 651 if( pValues[21].hasValue() ) 652 SetPreviewNewEffects(*(sal_Bool*) pValues[ 21 ].getValue()); 653 654 if( pValues[22].hasValue() ) 655 SetPreviewChangedEffects(*(sal_Bool*) pValues[ 22 ].getValue()); 656 657 if( pValues[23].hasValue() ) 658 SetPreviewTransitions(*(sal_Bool*) pValues[ 23 ].getValue()); 659 660 if( pValues[24].hasValue() ) 661 SetDisplay(*(sal_Int32*) pValues[ 24 ].getValue()); 662 663 if( pValues[25].hasValue() ) 664 SetPresentationPenColor( getSafeValue< sal_Int32 >( pValues[ 25 ] ) ); 665 666 if( pValues[26].hasValue() ) 667 SetPresentationPenWidth( getSafeValue< double >( pValues[ 26 ] ) ); 668 669 if( pValues[27].hasValue() ) 670 SetStartWithPresenterScreen( *(sal_Bool*) pValues[ 27 ].getValue() ); 671 } 672 673 return sal_True; 674 } 675 676 // ----------------------------------------------------------------------------- 677 678 sal_Bool SdOptionsMisc::WriteData( Any* pValues ) const 679 { 680 pValues[ 0 ] <<= IsMarkedHitMovesAlways(); 681 pValues[ 1 ] <<= IsCrookNoContortion(); 682 pValues[ 2 ] <<= IsQuickEdit(); 683 pValues[ 3 ] <<= IsMasterPagePaintCaching(); 684 pValues[ 4 ] <<= IsDragWithCopy(); 685 pValues[ 5 ] <<= IsPickThrough(); 686 pValues[ 6 ] <<= IsBigHandles(); 687 pValues[ 7 ] <<= IsDoubleClickTextEdit(); 688 pValues[ 8 ] <<= IsClickChangeRotation(); 689 // The preview is not supported anymore. Use a dummy value. 690 pValues[ 9 ] <<= (double)0;// GetPreviewQuality(); 691 pValues[ 10 ] <<= IsSolidDragging(); 692 pValues[ 11 ] <<= IsSolidMarkHdl(); 693 // #97016# 694 pValues[ 12 ] <<= GetDefaultObjectSizeWidth(); 695 pValues[ 13 ] <<= GetDefaultObjectSizeHeight(); 696 pValues[ 14 ] <<= GetPrinterIndependentLayout(); 697 pValues[ 15 ] <<= (sal_Bool)IsShowComments(); 698 699 // just for Impress 700 if( GetConfigId() == SDCFG_IMPRESS ) 701 { 702 pValues[ 16 ] <<= IsStartWithTemplate(); 703 pValues[ 17 ] <<= IsStartWithActualPage(); 704 pValues[ 18 ] <<= IsSummationOfParagraphs(); 705 // #90356# 706 pValues[ 19 ] <<= IsShowUndoDeleteWarning(); 707 pValues[ 20 ] <<= IsSlideshowRespectZOrder(); 708 709 pValues[ 21 ] <<= IsPreviewNewEffects(); 710 pValues[ 22 ] <<= IsPreviewChangedEffects(); 711 pValues[ 23 ] <<= IsPreviewTransitions(); 712 713 pValues[ 24 ] <<= GetDisplay(); 714 715 pValues[ 25 ] <<= GetPresentationPenColor(); 716 pValues[ 26 ] <<= GetPresentationPenWidth(); 717 718 pValues[ 27 ] <<= IsStartWithPresenterScreen(); 719 } 720 721 return sal_True; 722 } 723 724 /************************************************************************* 725 |* 726 |* SdOptionsMiscItem 727 |* 728 \************************************************************************/ 729 730 SdOptionsMiscItem::SdOptionsMiscItem( sal_uInt16 _nWhich ) 731 : SfxPoolItem ( _nWhich ) 732 , maOptionsMisc ( 0, sal_False ) 733 { 734 } 735 736 // ---------------------------------------------------------------------- 737 738 SdOptionsMiscItem::SdOptionsMiscItem( sal_uInt16 _nWhich, SdOptions* pOpts, ::sd::FrameView* pView ) 739 : SfxPoolItem ( _nWhich ) 740 , maOptionsMisc ( 0, sal_False ) 741 { 742 if( pOpts ) 743 { 744 maOptionsMisc.SetStartWithTemplate( pOpts->IsStartWithTemplate() ); 745 maOptionsMisc.SetStartWithActualPage( pOpts->IsStartWithActualPage() ); 746 maOptionsMisc.SetStartWithPresenterScreen( pOpts->IsStartWithPresenterScreen() ); 747 maOptionsMisc.SetSummationOfParagraphs( pOpts->IsSummationOfParagraphs() ); 748 // #90356# 749 maOptionsMisc.SetShowUndoDeleteWarning( pOpts->IsShowUndoDeleteWarning() ); 750 maOptionsMisc.SetPrinterIndependentLayout( pOpts->GetPrinterIndependentLayout() ); 751 // #97016# 752 maOptionsMisc.SetDefaultObjectSizeWidth( pOpts->GetDefaultObjectSizeWidth() ); 753 maOptionsMisc.SetDefaultObjectSizeHeight( pOpts->GetDefaultObjectSizeHeight() ); 754 755 maOptionsMisc.SetPreviewNewEffects(pOpts->IsPreviewNewEffects()); 756 maOptionsMisc.SetPreviewChangedEffects(pOpts->IsPreviewChangedEffects()); 757 maOptionsMisc.SetPreviewTransitions(pOpts->IsPreviewTransitions()); 758 759 maOptionsMisc.SetDisplay(pOpts->GetDisplay()); 760 maOptionsMisc.SetShowComments( pOpts->IsShowComments() ); 761 762 maOptionsMisc.SetPresentationPenColor(pOpts->GetPresentationPenColor() ); 763 maOptionsMisc.SetPresentationPenWidth(pOpts->GetPresentationPenWidth() ); 764 } 765 766 if( pView ) 767 { 768 maOptionsMisc.SetMarkedHitMovesAlways( pView->IsMarkedHitMovesAlways() ); 769 maOptionsMisc.SetMoveOnlyDragging( pView->IsMoveOnlyDragging() ); 770 maOptionsMisc.SetCrookNoContortion( pView->IsCrookNoContortion() ); 771 maOptionsMisc.SetQuickEdit( pView->IsQuickEdit() ); 772 773 // #i26631# 774 maOptionsMisc.SetMasterPagePaintCaching( pView->IsMasterPagePaintCaching() ); 775 776 maOptionsMisc.SetDragWithCopy( pView->IsDragWithCopy() ); 777 maOptionsMisc.SetPickThrough( (sal_Bool)pView->GetModel()->IsPickThroughTransparentTextFrames() ); 778 maOptionsMisc.SetBigHandles( (sal_Bool)pView->IsBigHandles() ); 779 maOptionsMisc.SetDoubleClickTextEdit( pView->IsDoubleClickTextEdit() ); 780 maOptionsMisc.SetClickChangeRotation( pView->IsClickChangeRotation() ); 781 maOptionsMisc.SetSolidDragging( pView->IsSolidDragging() ); 782 maOptionsMisc.SetSolidMarkHdl( pView->IsSolidMarkHdl() ); 783 } 784 else if( pOpts ) 785 { 786 maOptionsMisc.SetMarkedHitMovesAlways( pOpts->IsMarkedHitMovesAlways() ); 787 maOptionsMisc.SetMoveOnlyDragging( pOpts->IsMoveOnlyDragging() ); 788 maOptionsMisc.SetCrookNoContortion( pOpts->IsCrookNoContortion() ); 789 maOptionsMisc.SetQuickEdit( pOpts->IsQuickEdit() ); 790 maOptionsMisc.SetMasterPagePaintCaching( pOpts->IsMasterPagePaintCaching() ); 791 maOptionsMisc.SetDragWithCopy( pOpts->IsDragWithCopy() ); 792 maOptionsMisc.SetPickThrough( pOpts->IsPickThrough() ); 793 maOptionsMisc.SetBigHandles( pOpts->IsBigHandles() ); 794 maOptionsMisc.SetDoubleClickTextEdit( pOpts->IsDoubleClickTextEdit() ); 795 maOptionsMisc.SetClickChangeRotation( pOpts->IsClickChangeRotation() ); 796 maOptionsMisc.SetSolidDragging( pOpts->IsSolidDragging() ); 797 maOptionsMisc.SetSolidMarkHdl( pOpts->IsSolidMarkHdl() ); 798 } 799 } 800 801 // ---------------------------------------------------------------------- 802 803 SfxPoolItem* SdOptionsMiscItem::Clone( SfxItemPool* ) const 804 { 805 return new SdOptionsMiscItem( *this ); 806 } 807 808 809 // ---------------------------------------------------------------------- 810 811 int SdOptionsMiscItem::operator==( const SfxPoolItem& rAttr ) const 812 { 813 const bool bSameType = SfxPoolItem::operator==(rAttr); 814 DBG_ASSERT( bSameType, "SdOptionsMiscItem::operator==(), differen pool item type!" ); 815 return bSameType && ( maOptionsMisc == static_cast< const SdOptionsMiscItem& >(rAttr).maOptionsMisc ); 816 } 817 818 // ----------------------------------------------------------------------- 819 820 void SdOptionsMiscItem::SetOptions( SdOptions* pOpts ) const 821 { 822 if( pOpts ) 823 { 824 pOpts->SetStartWithTemplate( maOptionsMisc.IsStartWithTemplate() ); 825 pOpts->SetMarkedHitMovesAlways( maOptionsMisc.IsMarkedHitMovesAlways() ); 826 pOpts->SetMoveOnlyDragging( maOptionsMisc.IsMoveOnlyDragging() ); 827 pOpts->SetCrookNoContortion( maOptionsMisc.IsCrookNoContortion() ); 828 pOpts->SetQuickEdit( maOptionsMisc.IsQuickEdit() ); 829 pOpts->SetMasterPagePaintCaching( maOptionsMisc.IsMasterPagePaintCaching() ); 830 pOpts->SetDragWithCopy( maOptionsMisc.IsDragWithCopy() ); 831 pOpts->SetPickThrough( maOptionsMisc.IsPickThrough() ); 832 pOpts->SetBigHandles( maOptionsMisc.IsBigHandles() ); 833 pOpts->SetDoubleClickTextEdit( maOptionsMisc.IsDoubleClickTextEdit() ); 834 pOpts->SetClickChangeRotation( maOptionsMisc.IsClickChangeRotation() ); 835 pOpts->SetStartWithActualPage( maOptionsMisc.IsStartWithActualPage() ); 836 pOpts->SetStartWithPresenterScreen( maOptionsMisc.IsStartWithPresenterScreen() ); 837 pOpts->SetSummationOfParagraphs( maOptionsMisc.IsSummationOfParagraphs() ); 838 pOpts->SetSolidDragging( maOptionsMisc.IsSolidDragging() ); 839 pOpts->SetSolidMarkHdl( maOptionsMisc.IsSolidMarkHdl() ); 840 // #90356# 841 pOpts->SetShowUndoDeleteWarning( maOptionsMisc.IsShowUndoDeleteWarning() ); 842 pOpts->SetPrinterIndependentLayout( maOptionsMisc.GetPrinterIndependentLayout() ); 843 pOpts->SetShowComments( maOptionsMisc.IsShowComments() ); 844 // #97016# 845 pOpts->SetDefaultObjectSizeWidth( maOptionsMisc.GetDefaultObjectSizeWidth() ); 846 pOpts->SetDefaultObjectSizeHeight( maOptionsMisc.GetDefaultObjectSizeHeight() ); 847 848 pOpts->SetPreviewNewEffects( maOptionsMisc.IsPreviewNewEffects() ); 849 pOpts->SetPreviewChangedEffects( maOptionsMisc.IsPreviewChangedEffects() ); 850 pOpts->SetPreviewTransitions( maOptionsMisc.IsPreviewTransitions() ); 851 852 pOpts->SetDisplay( maOptionsMisc.GetDisplay() ); 853 854 pOpts->SetPresentationPenColor( maOptionsMisc.GetPresentationPenColor() ); 855 pOpts->SetPresentationPenWidth( maOptionsMisc.GetPresentationPenWidth() ); 856 } 857 } 858 859 /************************************************************************* 860 |* 861 |* SdOptionsSnap 862 |* 863 \************************************************************************/ 864 865 SdOptionsSnap::SdOptionsSnap( sal_uInt16 nConfigId, sal_Bool bUseConfig ) : 866 SdOptionsGeneric( nConfigId, bUseConfig ? 867 ( ( SDCFG_DRAW == nConfigId ) ? 868 B2U( "Office.Draw/Snap" ) : 869 B2U( "Office.Impress/Snap" ) ) : 870 OUString() ), 871 bSnapHelplines( sal_True ), 872 bSnapBorder( sal_True ), 873 bSnapFrame( sal_False ), 874 bSnapPoints( sal_False ), 875 bOrtho( sal_False ), 876 bBigOrtho( sal_True ), 877 bRotate( sal_False ), 878 nSnapArea( 5 ), 879 nAngle( 1500 ), 880 nBezAngle( 1500 ) 881 882 { 883 EnableModify( sal_True ); 884 } 885 886 // ----------------------------------------------------------------------------- 887 888 sal_Bool SdOptionsSnap::operator==( const SdOptionsSnap& rOpt ) const 889 { 890 return( IsSnapHelplines() == rOpt.IsSnapHelplines() && 891 IsSnapBorder() == rOpt.IsSnapBorder() && 892 IsSnapFrame() == rOpt.IsSnapFrame() && 893 IsSnapPoints() == rOpt.IsSnapPoints() && 894 IsOrtho() == rOpt.IsOrtho() && 895 IsBigOrtho() == rOpt.IsBigOrtho() && 896 IsRotate() == rOpt.IsRotate() && 897 GetSnapArea() == rOpt.GetSnapArea() && 898 GetAngle() == rOpt.GetAngle() && 899 GetEliminatePolyPointLimitAngle() == rOpt.GetEliminatePolyPointLimitAngle() ); 900 } 901 902 // ----------------------------------------------------------------------------- 903 904 void SdOptionsSnap::GetPropNameArray( const char**& ppNames, sal_uLong& rCount ) const 905 { 906 static const char* aPropNames[] = 907 { 908 "Object/SnapLine", 909 "Object/PageMargin", 910 "Object/ObjectFrame", 911 "Object/ObjectPoint", 912 "Position/CreatingMoving", 913 "Position/ExtendEdges", 914 "Position/Rotating", 915 "Object/Range", 916 "Position/RotatingValue", 917 "Position/PointReduction" 918 }; 919 920 rCount = 10; 921 ppNames = aPropNames; 922 } 923 924 // ----------------------------------------------------------------------------- 925 926 sal_Bool SdOptionsSnap::ReadData( const Any* pValues ) 927 { 928 if( pValues[0].hasValue() ) SetSnapHelplines( *(sal_Bool*) pValues[ 0 ].getValue() ); 929 if( pValues[1].hasValue() ) SetSnapBorder( *(sal_Bool*)pValues[ 1 ].getValue() ); 930 if( pValues[2].hasValue() ) SetSnapFrame( *(sal_Bool*) pValues[ 2 ].getValue() ); 931 if( pValues[3].hasValue() ) SetSnapPoints( *(sal_Bool*) pValues[ 3 ].getValue() ); 932 if( pValues[4].hasValue() ) SetOrtho( *(sal_Bool*) pValues[ 4 ].getValue() ); 933 if( pValues[5].hasValue() ) SetBigOrtho( *(sal_Bool*) pValues[ 5 ].getValue() ); 934 if( pValues[6].hasValue() ) SetRotate( *(sal_Bool*) pValues[ 6 ].getValue() ); 935 if( pValues[7].hasValue() ) SetSnapArea( (sal_Int16) *(sal_Int32*) pValues[ 7 ].getValue() ); 936 if( pValues[8].hasValue() ) SetAngle( (sal_Int16) *(sal_Int32*) pValues[ 8 ].getValue() ); 937 if( pValues[9].hasValue() ) SetEliminatePolyPointLimitAngle( (sal_Int16) *(sal_Int32*) pValues[ 9 ].getValue() ); 938 939 return sal_True; 940 } 941 942 // ----------------------------------------------------------------------------- 943 944 sal_Bool SdOptionsSnap::WriteData( Any* pValues ) const 945 { 946 pValues[ 0 ] <<= IsSnapHelplines(); 947 pValues[ 1 ] <<= IsSnapBorder(); 948 pValues[ 2 ] <<= IsSnapFrame(); 949 pValues[ 3 ] <<= IsSnapPoints(); 950 pValues[ 4 ] <<= IsOrtho(); 951 pValues[ 5 ] <<= IsBigOrtho(); 952 pValues[ 6 ] <<= IsRotate(); 953 pValues[ 7 ] <<= (sal_Int32) GetSnapArea(); 954 pValues[ 8 ] <<= (sal_Int32) GetAngle(); 955 pValues[ 9 ] <<= (sal_Int32) GetEliminatePolyPointLimitAngle(); 956 957 return sal_True; 958 } 959 960 /************************************************************************* 961 |* 962 |* SdOptionsSnapItem 963 |* 964 \************************************************************************/ 965 966 SdOptionsSnapItem::SdOptionsSnapItem( sal_uInt16 _nWhich ) 967 : SfxPoolItem ( _nWhich ) 968 , maOptionsSnap ( 0, sal_False ) 969 { 970 } 971 972 // ---------------------------------------------------------------------- 973 974 SdOptionsSnapItem::SdOptionsSnapItem( sal_uInt16 _nWhich, SdOptions* pOpts, ::sd::FrameView* pView ) 975 : SfxPoolItem ( _nWhich ) 976 , maOptionsSnap ( 0, sal_False ) 977 { 978 if( pView ) 979 { 980 maOptionsSnap.SetSnapHelplines( pView->IsHlplSnap() ); 981 maOptionsSnap.SetSnapBorder( pView->IsBordSnap() ); 982 maOptionsSnap.SetSnapFrame( pView->IsOFrmSnap() ); 983 maOptionsSnap.SetSnapPoints( pView->IsOPntSnap() ); 984 maOptionsSnap.SetOrtho( pView->IsOrtho() ); 985 maOptionsSnap.SetBigOrtho( pView->IsBigOrtho() ); 986 maOptionsSnap.SetRotate( pView->IsAngleSnapEnabled() ); 987 maOptionsSnap.SetSnapArea( pView->GetSnapMagneticPixel() ); 988 maOptionsSnap.SetAngle( (sal_Int16) pView->GetSnapAngle() ); 989 maOptionsSnap.SetEliminatePolyPointLimitAngle( (sal_Int16) pView->GetEliminatePolyPointLimitAngle() ); 990 } 991 else if( pOpts ) 992 { 993 maOptionsSnap.SetSnapHelplines( pOpts->IsSnapHelplines() ); 994 maOptionsSnap.SetSnapBorder( pOpts->IsSnapBorder() ); 995 maOptionsSnap.SetSnapFrame( pOpts->IsSnapFrame() ); 996 maOptionsSnap.SetSnapPoints( pOpts->IsSnapPoints() ); 997 maOptionsSnap.SetOrtho( pOpts->IsOrtho() ); 998 maOptionsSnap.SetBigOrtho( pOpts->IsBigOrtho() ); 999 maOptionsSnap.SetRotate( pOpts->IsRotate() ); 1000 maOptionsSnap.SetSnapArea( pOpts->GetSnapArea() ); 1001 maOptionsSnap.SetAngle( pOpts->GetAngle() ); 1002 maOptionsSnap.SetEliminatePolyPointLimitAngle( pOpts->GetEliminatePolyPointLimitAngle() ); 1003 } 1004 } 1005 1006 // ---------------------------------------------------------------------- 1007 1008 SfxPoolItem* SdOptionsSnapItem::Clone( SfxItemPool* ) const 1009 { 1010 return new SdOptionsSnapItem( *this ); 1011 } 1012 1013 1014 // ---------------------------------------------------------------------- 1015 1016 int SdOptionsSnapItem::operator==( const SfxPoolItem& rAttr ) const 1017 { 1018 const bool bSameType = SfxPoolItem::operator==(rAttr); 1019 DBG_ASSERT( bSameType, "SdOptionsSnapItem::operator==(), differen pool item type!" ); 1020 return bSameType && ( maOptionsSnap == static_cast< const SdOptionsSnapItem& >(rAttr).maOptionsSnap ); 1021 } 1022 1023 // ----------------------------------------------------------------------- 1024 1025 void SdOptionsSnapItem::SetOptions( SdOptions* pOpts ) const 1026 { 1027 if( pOpts ) 1028 { 1029 pOpts->SetSnapHelplines( maOptionsSnap.IsSnapHelplines() ); 1030 pOpts->SetSnapBorder( maOptionsSnap.IsSnapBorder() ); 1031 pOpts->SetSnapFrame( maOptionsSnap.IsSnapFrame() ); 1032 pOpts->SetSnapPoints( maOptionsSnap.IsSnapPoints() ); 1033 pOpts->SetOrtho( maOptionsSnap.IsOrtho() ); 1034 pOpts->SetBigOrtho( maOptionsSnap.IsBigOrtho() ); 1035 pOpts->SetRotate( maOptionsSnap.IsRotate() ); 1036 pOpts->SetSnapArea( maOptionsSnap.GetSnapArea() ); 1037 pOpts->SetAngle( maOptionsSnap.GetAngle() ); 1038 pOpts->SetEliminatePolyPointLimitAngle( maOptionsSnap.GetEliminatePolyPointLimitAngle() ); 1039 } 1040 } 1041 1042 /************************************************************************* 1043 |* 1044 |* SdOptionsZoom 1045 |* 1046 \************************************************************************/ 1047 1048 SdOptionsZoom::SdOptionsZoom( sal_uInt16 nConfigId, sal_Bool bUseConfig ) : 1049 SdOptionsGeneric( nConfigId, ( bUseConfig && ( SDCFG_DRAW == nConfigId ) ) ? 1050 B2U( "Office.Draw/Zoom" ) : 1051 OUString() ), 1052 nX( 1 ), 1053 nY( 1 ) 1054 1055 { 1056 EnableModify( sal_True ); 1057 } 1058 1059 // ----------------------------------------------------------------------------- 1060 1061 sal_Bool SdOptionsZoom::operator==( const SdOptionsZoom& rOpt ) const 1062 { 1063 sal_Int32 nX1, nX2, nY1, nY2; 1064 1065 GetScale( nX1, nY1 ); 1066 rOpt.GetScale( nX2, nY2 ); 1067 1068 return( ( nX1 == nX2 ) && 1069 ( nY1 == nY2 ) ); 1070 } 1071 1072 // ----------------------------------------------------------------------------- 1073 1074 void SdOptionsZoom::GetPropNameArray( const char**& ppNames, sal_uLong& rCount ) const 1075 { 1076 static const char* aPropNames[] = 1077 { 1078 "ScaleX", 1079 "ScaleY" 1080 }; 1081 1082 rCount = ( GetConfigId() == SDCFG_DRAW ) ? 2 : 0; 1083 ppNames = aPropNames; 1084 } 1085 1086 // ----------------------------------------------------------------------------- 1087 1088 sal_Bool SdOptionsZoom::ReadData( const Any* pValues ) 1089 { 1090 sal_Int32 x = 1, y = 1; 1091 1092 if( pValues[0].hasValue() ) x = ( *(sal_Int32*) pValues[ 0 ].getValue() ); 1093 if( pValues[1].hasValue() ) y = ( *(sal_Int32*) pValues[ 1 ].getValue() ); 1094 1095 SetScale( x, y ); 1096 1097 return sal_True; 1098 } 1099 1100 // ----------------------------------------------------------------------------- 1101 1102 sal_Bool SdOptionsZoom::WriteData( Any* pValues ) const 1103 { 1104 sal_Int32 x, y; 1105 1106 GetScale( x, y ); 1107 1108 pValues[ 0 ] <<= (sal_Int32) x; 1109 pValues[ 1 ] <<= (sal_Int32) y; 1110 1111 return sal_True; 1112 } 1113 1114 /************************************************************************* 1115 |* 1116 |* SdOptionsGrid 1117 |* 1118 \************************************************************************/ 1119 1120 SdOptionsGrid::SdOptionsGrid( sal_uInt16 nConfigId, sal_Bool bUseConfig ) : 1121 SdOptionsGeneric( nConfigId, bUseConfig ? 1122 ( ( SDCFG_DRAW == nConfigId ) ? 1123 B2U( "Office.Draw/Grid" ) : 1124 B2U( "Office.Impress/Grid" ) ) : 1125 OUString() ) 1126 { 1127 EnableModify( sal_False ); 1128 SetDefaults(); 1129 EnableModify( sal_True ); 1130 } 1131 1132 // ----------------------------------------------------------------------------- 1133 1134 SdOptionsGrid::~SdOptionsGrid() 1135 { 1136 } 1137 1138 // ----------------------------------------------------------------------------- 1139 1140 void SdOptionsGrid::SetDefaults() 1141 { 1142 const sal_uInt32 nVal = 1000; 1143 1144 SetFldDivisionX( nVal ); 1145 SetFldDivisionY( nVal ); 1146 SetFldDrawX( nVal ); 1147 SetFldDrawY( nVal ); 1148 SetFldSnapX( nVal ); 1149 SetFldSnapY( nVal ); 1150 SetUseGridSnap( sal_False ); 1151 SetSynchronize( sal_True ); 1152 SetGridVisible( sal_False ); 1153 SetEqualGrid( sal_True ); 1154 } 1155 1156 // ----------------------------------------------------------------------------- 1157 1158 sal_Bool SdOptionsGrid::operator==( const SdOptionsGrid& rOpt ) const 1159 { 1160 return( GetFldDrawX() == rOpt.GetFldDrawX() && 1161 GetFldDivisionX() == rOpt.GetFldDivisionX() && 1162 GetFldDrawY() == rOpt.GetFldDrawY() && 1163 GetFldDivisionY() == rOpt.GetFldDivisionY() && 1164 GetFldSnapX() == rOpt.GetFldSnapX() && 1165 GetFldSnapY() == rOpt.GetFldSnapY() && 1166 IsUseGridSnap() == rOpt.IsUseGridSnap() && 1167 IsSynchronize() == rOpt.IsSynchronize() && 1168 IsGridVisible() == rOpt.IsGridVisible() && 1169 IsEqualGrid() == rOpt.IsEqualGrid() ); 1170 } 1171 1172 // ----------------------------------------------------------------------------- 1173 1174 void SdOptionsGrid::GetPropNameArray( const char**& ppNames, sal_uLong& rCount ) const 1175 { 1176 static const char* aPropNamesMetric[] = 1177 { 1178 "Resolution/XAxis/Metric", 1179 "Resolution/YAxis/Metric", 1180 "Subdivision/XAxis", 1181 "Subdivision/YAxis", 1182 "SnapGrid/XAxis/Metric", 1183 "SnapGrid/YAxis/Metric", 1184 "Option/SnapToGrid", 1185 "Option/Synchronize", 1186 "Option/VisibleGrid", 1187 "SnapGrid/Size" 1188 }; 1189 1190 static const char* aPropNamesNonMetric[] = 1191 { 1192 "Resolution/XAxis/NonMetric", 1193 "Resolution/YAxis/NonMetric", 1194 "Subdivision/XAxis", 1195 "Subdivision/YAxis", 1196 "SnapGrid/XAxis/NonMetric", 1197 "SnapGrid/YAxis/NonMetric", 1198 "Option/SnapToGrid", 1199 "Option/Synchronize", 1200 "Option/VisibleGrid", 1201 "SnapGrid/Size" 1202 }; 1203 1204 rCount = 10; 1205 1206 if( isMetricSystem() ) 1207 ppNames = aPropNamesMetric; 1208 else 1209 ppNames = aPropNamesNonMetric; 1210 } 1211 1212 // ----------------------------------------------------------------------------- 1213 1214 sal_Bool SdOptionsGrid::ReadData( const Any* pValues ) 1215 { 1216 if( pValues[0].hasValue() ) SetFldDrawX( *(sal_Int32*) pValues[ 0 ].getValue() ); 1217 if( pValues[1].hasValue() ) SetFldDrawY( *(sal_Int32*) pValues[ 1 ].getValue() ); 1218 1219 if( pValues[2].hasValue() ) 1220 { 1221 const sal_uInt32 nDivX = FRound( *(double*) pValues[ 2 ].getValue() ); 1222 SetFldDivisionX( SvxOptionsGrid::GetFldDrawX() / ( nDivX + 1 ) ); 1223 } 1224 1225 if( pValues[3].hasValue() ) 1226 { 1227 const sal_uInt32 nDivY = FRound( *(double*) pValues[ 3 ].getValue() ); 1228 SetFldDivisionY( SvxOptionsGrid::GetFldDrawY() / ( nDivY + 1 ) ); 1229 } 1230 1231 if( pValues[4].hasValue() ) SetFldSnapX( *(sal_Int32*) pValues[ 4 ].getValue() ); 1232 if( pValues[5].hasValue() ) SetFldSnapY( *(sal_Int32*) pValues[ 5 ].getValue() ); 1233 if( pValues[6].hasValue() ) SetUseGridSnap( *(sal_Bool*) pValues[ 6 ].getValue() ); 1234 if( pValues[7].hasValue() ) SetSynchronize( *(sal_Bool*) pValues[ 7 ].getValue() ); 1235 if( pValues[8].hasValue() ) SetGridVisible( *(sal_Bool*) pValues[ 8 ].getValue() ); 1236 if( pValues[9].hasValue() ) SetEqualGrid( *(sal_Bool*) pValues[ 9 ].getValue() ); 1237 1238 return sal_True; 1239 } 1240 1241 // ----------------------------------------------------------------------------- 1242 1243 sal_Bool SdOptionsGrid::WriteData( Any* pValues ) const 1244 { 1245 pValues[ 0 ] <<= (sal_Int32) GetFldDrawX(); 1246 pValues[ 1 ] <<= (sal_Int32) GetFldDrawY(); 1247 pValues[ 2 ] <<= ( GetFldDivisionX() ? ( (double) GetFldDrawX() / GetFldDivisionX() - 1.0 ) : (double) 0 ); 1248 pValues[ 3 ] <<= ( GetFldDivisionY() ? ( (double) GetFldDrawY() / GetFldDivisionY() - 1.0 ) : (double) 0 ); 1249 pValues[ 4 ] <<= (sal_Int32) GetFldSnapX(); 1250 pValues[ 5 ] <<= (sal_Int32) GetFldSnapY(); 1251 pValues[ 6 ] <<= IsUseGridSnap(); 1252 pValues[ 7 ] <<= IsSynchronize(); 1253 pValues[ 8 ] <<= IsGridVisible(); 1254 pValues[ 9 ] <<= IsEqualGrid(); 1255 1256 return sal_True; 1257 } 1258 1259 /************************************************************************* 1260 |* 1261 |* SdOptionsGridItem 1262 |* 1263 \************************************************************************/ 1264 1265 SdOptionsGridItem::SdOptionsGridItem( sal_uInt16 _nWhich, SdOptions* pOpts, ::sd::FrameView* pView ) : 1266 SvxGridItem( _nWhich ) 1267 { 1268 SetSynchronize( pOpts->IsSynchronize() ); 1269 SetEqualGrid( pOpts->IsEqualGrid() ); 1270 1271 if( pView ) 1272 { 1273 SetFldDrawX( pView->GetGridCoarse().Width() ); 1274 SetFldDrawY( pView->GetGridCoarse().Height() ); 1275 SetFldDivisionX( pView->GetGridFine().Width() ? ( GetFldDrawX() / pView->GetGridFine().Width() - 1 ) : 0 ); 1276 SetFldDivisionY( pView->GetGridFine().Height() ? ( GetFldDrawY() / pView->GetGridFine().Height() - 1 ) : 0 ); 1277 SetFldSnapX( long(pView->GetSnapGridWidthX()) ); 1278 SetFldSnapY( long(pView->GetSnapGridWidthY()) ); 1279 SetUseGridSnap( pView->IsGridSnap() ); 1280 SetGridVisible( pView->IsGridVisible() ); 1281 } 1282 else 1283 { 1284 SetFldDrawX( pOpts->GetFldDrawX() ); 1285 SetFldDrawY( pOpts->GetFldDrawY() ); 1286 SetFldDivisionX( pOpts->GetFldDivisionX() ? ( pOpts->GetFldDrawX() / pOpts->GetFldDivisionX() - 1 ) : 0 ); 1287 SetFldDivisionY( pOpts->GetFldDivisionY() ? ( pOpts->GetFldDrawY() / pOpts->GetFldDivisionY() - 1 ) : 0 ); 1288 SetFldSnapX( pOpts->GetFldSnapX() ); 1289 SetFldSnapY( pOpts->GetFldSnapY() ); 1290 SetUseGridSnap( pOpts->IsUseGridSnap() ); 1291 SetGridVisible( pOpts->IsGridVisible() ); 1292 } 1293 } 1294 1295 // ----------------------------------------------------------------------- 1296 1297 void SdOptionsGridItem::SetOptions( SdOptions* pOpts ) const 1298 { 1299 pOpts->SetFldDrawX( GetFldDrawX() ); 1300 pOpts->SetFldDivisionX( GetFldDrawX() / ( GetFldDivisionX() + 1 ) ); 1301 pOpts->SetFldDrawY( GetFldDrawY() ); 1302 pOpts->SetFldDivisionY( GetFldDrawY() / ( GetFldDivisionY() + 1 ) ); 1303 pOpts->SetFldSnapX( GetFldSnapX() ); 1304 pOpts->SetFldSnapY( GetFldSnapY() ); 1305 pOpts->SetUseGridSnap( GetUseGridSnap() ); 1306 pOpts->SetSynchronize( GetSynchronize() ); 1307 pOpts->SetGridVisible( GetGridVisible() ); 1308 pOpts->SetEqualGrid( GetEqualGrid() ); 1309 } 1310 1311 /************************************************************************* 1312 |* 1313 |* SdOptionsPrint 1314 |* 1315 \************************************************************************/ 1316 1317 SdOptionsPrint::SdOptionsPrint( sal_uInt16 nConfigId, sal_Bool bUseConfig ) : 1318 SdOptionsGeneric( nConfigId, bUseConfig ? 1319 ( ( SDCFG_DRAW == nConfigId ) ? 1320 B2U( "Office.Draw/Print" ) : 1321 B2U( "Office.Impress/Print" ) ) : 1322 OUString() ), 1323 bDraw( sal_True ), 1324 bNotes( sal_False ), 1325 bHandout( sal_False ), 1326 bOutline( sal_False ), 1327 bDate( sal_False ), 1328 bTime( sal_False ), 1329 bPagename( sal_False ), 1330 bHiddenPages( sal_True ), 1331 bPagesize( sal_False ), 1332 bPagetile( sal_False ), 1333 bWarningPrinter( sal_True ), 1334 bWarningSize( sal_False ), 1335 bWarningOrientation( sal_False ), 1336 bBooklet( sal_False ), 1337 bFront( sal_True ), 1338 bBack( sal_True ), 1339 bCutPage( sal_False ), 1340 bPaperbin( sal_False ), 1341 mbHandoutHorizontal( sal_True ), 1342 mnHandoutPages( 6 ), 1343 nQuality( 0 ) 1344 { 1345 EnableModify( sal_True ); 1346 } 1347 1348 // ----------------------------------------------------------------------------- 1349 1350 sal_Bool SdOptionsPrint::operator==( const SdOptionsPrint& rOpt ) const 1351 { 1352 return( IsDraw() == rOpt.IsDraw() && 1353 IsNotes() == rOpt.IsNotes() && 1354 IsHandout() == rOpt.IsHandout() && 1355 IsOutline() == rOpt.IsOutline() && 1356 IsDate() == rOpt.IsDate() && 1357 IsTime() == rOpt.IsTime() && 1358 IsPagename() == rOpt.IsPagename() && 1359 IsHiddenPages() == rOpt.IsHiddenPages() && 1360 IsPagesize() == rOpt.IsPagesize() && 1361 IsPagetile() == rOpt.IsPagetile() && 1362 IsWarningPrinter() == rOpt.IsWarningPrinter() && 1363 IsWarningSize() == rOpt.IsWarningSize() && 1364 IsWarningOrientation() == rOpt.IsWarningOrientation() && 1365 IsBooklet() == rOpt.IsBooklet() && 1366 IsFrontPage() == rOpt.IsFrontPage() && 1367 IsBackPage() == rOpt.IsBackPage() && 1368 IsCutPage() == rOpt.IsCutPage() && 1369 IsPaperbin() == rOpt.IsPaperbin() && 1370 GetOutputQuality() == rOpt.GetOutputQuality() && 1371 IsHandoutHorizontal() == rOpt.IsHandoutHorizontal() && 1372 GetHandoutPages() == rOpt.GetHandoutPages() ); 1373 } 1374 1375 // ----------------------------------------------------------------------------- 1376 1377 void SdOptionsPrint::GetPropNameArray( const char**& ppNames, sal_uLong& rCount ) const 1378 { 1379 static const char* aDrawPropNames[] = 1380 { 1381 "Other/Date", 1382 "Other/Time", 1383 "Other/PageName", 1384 "Other/HiddenPage", 1385 "Page/PageSize", 1386 "Page/PageTile", 1387 // bWarningPrinter 1388 // bWarningSize 1389 // bWarningOrientation 1390 "Page/Booklet", 1391 "Page/BookletFront", 1392 "Page/BookletBack", 1393 // bCutPage 1394 "Other/FromPrinterSetup", 1395 "Other/Quality", 1396 "Content/Drawing", 1397 }; 1398 static const char* aImpressPropNames[] = 1399 { 1400 "Other/Date", 1401 "Other/Time", 1402 "Other/PageName", 1403 "Other/HiddenPage", 1404 "Page/PageSize", 1405 "Page/PageTile", 1406 // bWarningPrinter 1407 // bWarningSize 1408 // bWarningOrientation 1409 "Page/Booklet", 1410 "Page/BookletFront", 1411 "Page/BookletBack", 1412 // bCutPage 1413 "Other/FromPrinterSetup", 1414 "Other/Quality", 1415 "Content/Presentation", 1416 "Content/Note", 1417 "Content/Handout", 1418 "Content/Outline", 1419 "Other/HandoutHorizontal", 1420 "Other/PagesPerHandout" 1421 }; 1422 1423 if( GetConfigId() == SDCFG_IMPRESS ) 1424 { 1425 rCount = 17; 1426 ppNames = aImpressPropNames; 1427 } 1428 else 1429 { 1430 rCount = 12; 1431 ppNames = aDrawPropNames; 1432 } 1433 } 1434 1435 // ----------------------------------------------------------------------------- 1436 1437 sal_Bool SdOptionsPrint::ReadData( const Any* pValues ) 1438 { 1439 if( pValues[0].hasValue() ) SetDate( *(sal_Bool*) pValues[ 0 ].getValue() ); 1440 if( pValues[1].hasValue() ) SetTime( *(sal_Bool*) pValues[ 1 ].getValue() ); 1441 if( pValues[2].hasValue() ) SetPagename( *(sal_Bool*) pValues[ 2 ].getValue() ); 1442 if( pValues[3].hasValue() ) SetHiddenPages( *(sal_Bool*) pValues[ 3 ].getValue() ); 1443 if( pValues[4].hasValue() ) SetPagesize( *(sal_Bool*) pValues[ 4 ].getValue() ); 1444 if( pValues[5].hasValue() ) SetPagetile( *(sal_Bool*) pValues[ 5 ].getValue() ); 1445 if( pValues[6].hasValue() ) SetBooklet( *(sal_Bool*) pValues[ 6 ].getValue() ); 1446 if( pValues[7].hasValue() ) SetFrontPage( *(sal_Bool*) pValues[ 7 ].getValue() ); 1447 if( pValues[8].hasValue() ) SetBackPage( *(sal_Bool*) pValues[ 8 ].getValue() ); 1448 if( pValues[9].hasValue() ) SetPaperbin( *(sal_Bool*) pValues[ 9 ].getValue() ); 1449 if( pValues[10].hasValue() ) SetOutputQuality( (sal_uInt16) *(sal_Int32*) pValues[ 10 ].getValue() ); 1450 if( pValues[11].hasValue() ) SetDraw( *(sal_Bool*) pValues[ 11 ].getValue() ); 1451 1452 // just for impress 1453 if( GetConfigId() == SDCFG_IMPRESS ) 1454 { 1455 if( pValues[12].hasValue() ) SetNotes( *(sal_Bool*) pValues[ 12 ].getValue() ); 1456 if( pValues[13].hasValue() ) SetHandout( *(sal_Bool*) pValues[ 13 ].getValue() ); 1457 if( pValues[14].hasValue() ) SetOutline( *(sal_Bool*) pValues[ 14 ].getValue() ); 1458 if( pValues[15].hasValue() ) SetHandoutHorizontal( *(sal_Bool*) pValues[15].getValue() ); 1459 if( pValues[16].hasValue() ) SetHandoutPages( (sal_uInt16)*(sal_Int32*) pValues[16].getValue() ); 1460 } 1461 1462 return sal_True; 1463 } 1464 1465 // ----------------------------------------------------------------------------- 1466 1467 sal_Bool SdOptionsPrint::WriteData( Any* pValues ) const 1468 { 1469 pValues[ 0 ] <<= IsDate(); 1470 pValues[ 1 ] <<= IsTime(); 1471 pValues[ 2 ] <<= IsPagename(); 1472 pValues[ 3 ] <<= IsHiddenPages(); 1473 pValues[ 4 ] <<= IsPagesize(); 1474 pValues[ 5 ] <<= IsPagetile(); 1475 pValues[ 6 ] <<= IsBooklet(); 1476 pValues[ 7 ] <<= IsFrontPage(); 1477 pValues[ 8 ] <<= IsBackPage(); 1478 pValues[ 9 ] <<= IsPaperbin(); 1479 pValues[ 10 ] <<= (sal_Int32) GetOutputQuality(); 1480 pValues[ 11 ] <<= IsDraw(); 1481 1482 // just for impress 1483 if( GetConfigId() == SDCFG_IMPRESS ) 1484 { 1485 pValues[ 12 ] <<= IsNotes(); 1486 pValues[ 13 ] <<= IsHandout(); 1487 pValues[ 14 ] <<= IsOutline(); 1488 pValues[ 15 ] <<= IsHandoutHorizontal(); 1489 pValues[ 16 ] <<= GetHandoutPages(); 1490 } 1491 1492 return sal_True; 1493 } 1494 1495 /************************************************************************* 1496 |* 1497 |* SdOptionsPrintItem 1498 |* 1499 \************************************************************************/ 1500 1501 SdOptionsPrintItem::SdOptionsPrintItem( sal_uInt16 _nWhich ) 1502 : SfxPoolItem ( _nWhich ) 1503 , maOptionsPrint ( 0, sal_False ) 1504 { 1505 } 1506 1507 // ---------------------------------------------------------------------- 1508 1509 SdOptionsPrintItem::SdOptionsPrintItem( sal_uInt16 _nWhich, SdOptions* pOpts, ::sd::FrameView* ) 1510 : SfxPoolItem ( _nWhich ) 1511 , maOptionsPrint ( 0, sal_False ) 1512 { 1513 if( pOpts ) 1514 { 1515 maOptionsPrint.SetDraw( pOpts->IsDraw() ); 1516 maOptionsPrint.SetNotes( pOpts->IsNotes() ); 1517 maOptionsPrint.SetHandout( pOpts->IsHandout() ); 1518 maOptionsPrint.SetOutline( pOpts->IsOutline() ); 1519 maOptionsPrint.SetDate( pOpts->IsDate() ); 1520 maOptionsPrint.SetTime( pOpts->IsTime() ); 1521 maOptionsPrint.SetPagename( pOpts->IsPagename() ); 1522 maOptionsPrint.SetHiddenPages( pOpts->IsHiddenPages() ); 1523 maOptionsPrint.SetPagesize( pOpts->IsPagesize() ); 1524 maOptionsPrint.SetPagetile( pOpts->IsPagetile() ); 1525 maOptionsPrint.SetWarningPrinter( pOpts->IsWarningPrinter() ); 1526 maOptionsPrint.SetWarningSize( pOpts->IsWarningSize() ); 1527 maOptionsPrint.SetWarningOrientation( pOpts->IsWarningOrientation() ); 1528 maOptionsPrint.SetBooklet( pOpts->IsBooklet() ); 1529 maOptionsPrint.SetFrontPage( pOpts->IsFrontPage() ); 1530 maOptionsPrint.SetBackPage( pOpts->IsBackPage() ); 1531 maOptionsPrint.SetCutPage( pOpts->IsCutPage() ); 1532 maOptionsPrint.SetPaperbin( pOpts->IsPaperbin() ); 1533 maOptionsPrint.SetOutputQuality( pOpts->GetOutputQuality() ); 1534 } 1535 } 1536 1537 // ---------------------------------------------------------------------- 1538 1539 SfxPoolItem* SdOptionsPrintItem::Clone( SfxItemPool* ) const 1540 { 1541 return new SdOptionsPrintItem( *this ); 1542 } 1543 1544 // ---------------------------------------------------------------------- 1545 1546 int SdOptionsPrintItem::operator==( const SfxPoolItem& rAttr ) const 1547 { 1548 const bool bSameType = SfxPoolItem::operator==(rAttr); 1549 DBG_ASSERT( bSameType, "SdOptionsPrintItem::operator==(), differen pool item type!" ); 1550 return bSameType && ( maOptionsPrint == static_cast< const SdOptionsPrintItem& >( rAttr ).maOptionsPrint ); 1551 } 1552 1553 // ----------------------------------------------------------------------- 1554 1555 void SdOptionsPrintItem::SetOptions( SdOptions* pOpts ) const 1556 { 1557 if( pOpts ) 1558 { 1559 pOpts->SetDraw( maOptionsPrint.IsDraw() ); 1560 pOpts->SetNotes( maOptionsPrint.IsNotes() ); 1561 pOpts->SetHandout( maOptionsPrint.IsHandout() ); 1562 pOpts->SetOutline( maOptionsPrint.IsOutline() ); 1563 pOpts->SetDate( maOptionsPrint.IsDate() ); 1564 pOpts->SetTime( maOptionsPrint.IsTime() ); 1565 pOpts->SetPagename( maOptionsPrint.IsPagename() ); 1566 pOpts->SetHiddenPages( maOptionsPrint.IsHiddenPages() ); 1567 pOpts->SetPagesize( maOptionsPrint.IsPagesize() ); 1568 pOpts->SetPagetile( maOptionsPrint.IsPagetile() ); 1569 pOpts->SetWarningPrinter( maOptionsPrint.IsWarningPrinter() ); 1570 pOpts->SetWarningSize( maOptionsPrint.IsWarningSize() ); 1571 pOpts->SetWarningOrientation( maOptionsPrint.IsWarningOrientation() ); 1572 pOpts->SetBooklet( maOptionsPrint.IsBooklet() ); 1573 pOpts->SetFrontPage( maOptionsPrint.IsFrontPage() ); 1574 pOpts->SetBackPage( maOptionsPrint.IsBackPage() ); 1575 pOpts->SetCutPage( maOptionsPrint.IsCutPage() ); 1576 pOpts->SetPaperbin( maOptionsPrint.IsPaperbin() ); 1577 pOpts->SetOutputQuality( maOptionsPrint.GetOutputQuality() ); 1578 } 1579 } 1580 1581 /************************************************************************* 1582 |* 1583 |* SdOptions 1584 |* 1585 \************************************************************************/ 1586 1587 SdOptions::SdOptions( sal_uInt16 nConfigId ) : 1588 SdOptionsLayout( nConfigId, sal_True ), 1589 SdOptionsContents( nConfigId, sal_True ), 1590 SdOptionsMisc( nConfigId, sal_True ), 1591 SdOptionsSnap( nConfigId, sal_True ), 1592 SdOptionsZoom( nConfigId, sal_True ), 1593 SdOptionsGrid( nConfigId, sal_True ), 1594 SdOptionsPrint( nConfigId, sal_True ) 1595 { 1596 } 1597 1598 // ---------------------------------------------------------------------- 1599 1600 SdOptions::~SdOptions() 1601 { 1602 } 1603 1604 // ---------------------------------------------------------------------- 1605 1606 void SdOptions::StoreConfig( sal_uLong nOptionsRange ) 1607 { 1608 if( nOptionsRange & SD_OPTIONS_LAYOUT ) 1609 SdOptionsLayout::Store(); 1610 1611 if( nOptionsRange & SD_OPTIONS_CONTENTS ) 1612 SdOptionsContents::Store(); 1613 1614 if( nOptionsRange & SD_OPTIONS_MISC ) 1615 SdOptionsMisc::Store(); 1616 1617 if( nOptionsRange & SD_OPTIONS_SNAP ) 1618 SdOptionsSnap::Store(); 1619 1620 if( nOptionsRange & SD_OPTIONS_ZOOM ) 1621 SdOptionsZoom::Store(); 1622 1623 if( nOptionsRange & SD_OPTIONS_GRID ) 1624 SdOptionsGrid::Store(); 1625 1626 if( nOptionsRange & SD_OPTIONS_PRINT ) 1627 SdOptionsPrint::Store(); 1628 } 1629