1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 // MARKER(update_precomp.py): autogen include statement, do not remove 29 #include "precompiled_editeng.hxx" 30 31 #include <svl/intitem.hxx> 32 #include <editeng/editeng.hxx> 33 #include <editeng/editview.hxx> 34 #include <editeng/editdata.hxx> 35 #include <editeng/eerdll.hxx> 36 #include <editeng/lrspitem.hxx> 37 #include <editeng/fhgtitem.hxx> 38 #include <tools/list.hxx> 39 #include <svl/style.hxx> 40 #include <vcl/mapmod.hxx> 41 42 #include <editeng/forbiddencharacterstable.hxx> 43 44 #define _OUTLINER_CXX 45 46 #include <editeng/outliner.hxx> 47 #include <paralist.hxx> 48 #include <editeng/outlobj.hxx> 49 #include <outleeng.hxx> 50 #include <outlundo.hxx> 51 #include <editeng/eeitem.hxx> 52 #include <editeng/editstat.hxx> 53 54 DBG_NAMEEX(Outliner) 55 56 using namespace ::com::sun::star::uno; 57 using namespace ::com::sun::star::linguistic2; 58 59 // ===================================================================== 60 // ====================== Einfache Durchreicher ======================= 61 // ====================================================================== 62 63 void Outliner::SetUpdateMode( sal_Bool bUpdate ) 64 { 65 DBG_CHKTHIS(Outliner,0); 66 pEditEngine->SetUpdateMode( bUpdate ); 67 } 68 69 70 sal_Bool Outliner::GetUpdateMode() const 71 { 72 DBG_CHKTHIS(Outliner,0); 73 return pEditEngine->GetUpdateMode(); 74 } 75 76 const SfxItemSet& Outliner::GetEmptyItemSet() const 77 { 78 DBG_CHKTHIS(Outliner,0); 79 return pEditEngine->GetEmptyItemSet(); 80 } 81 82 void Outliner::EnableUndo( sal_Bool bEnable ) 83 { 84 DBG_CHKTHIS(Outliner,0); 85 pEditEngine->EnableUndo( bEnable ); 86 } 87 88 sal_Bool Outliner::IsUndoEnabled() const 89 { 90 DBG_CHKTHIS(Outliner,0); 91 return pEditEngine->IsUndoEnabled(); 92 } 93 94 MapMode Outliner::GetRefMapMode() const 95 { 96 DBG_CHKTHIS(Outliner,0); 97 return pEditEngine->GetRefMapMode(); 98 } 99 100 void Outliner::SetRefMapMode( const MapMode& rMMode ) 101 { 102 DBG_CHKTHIS(Outliner,0); 103 pEditEngine->SetRefMapMode( rMMode ); 104 } 105 106 void Outliner::SetBackgroundColor( const Color& rColor ) 107 { 108 DBG_CHKTHIS(Outliner,0); 109 pEditEngine->SetBackgroundColor( rColor ); 110 } 111 112 Color Outliner::GetBackgroundColor() const 113 { 114 DBG_CHKTHIS(Outliner,0); 115 return pEditEngine->GetBackgroundColor(); 116 } 117 118 119 void Outliner::ClearModifyFlag() 120 { 121 DBG_CHKTHIS(Outliner,0); 122 pEditEngine->ClearModifyFlag(); 123 } 124 125 sal_Bool Outliner::IsModified() const 126 { 127 DBG_CHKTHIS(Outliner,0); 128 return pEditEngine->IsModified(); 129 } 130 131 sal_uLong Outliner::GetTextHeight() const 132 { 133 DBG_CHKTHIS(Outliner,0); 134 return pEditEngine->GetTextHeight(); 135 } 136 137 void Outliner::SetModifyHdl( const Link& rLink ) 138 { 139 DBG_CHKTHIS(Outliner,0); 140 pEditEngine->SetModifyHdl( rLink ); 141 } 142 143 Link Outliner::GetModifyHdl() const 144 { 145 DBG_CHKTHIS(Outliner,0); 146 return pEditEngine->GetModifyHdl(); 147 } 148 149 void Outliner::SetNotifyHdl( const Link& rLink ) 150 { 151 DBG_CHKTHIS(Outliner,0); 152 pEditEngine->aOutlinerNotifyHdl = rLink; 153 154 if ( rLink.IsSet() ) 155 pEditEngine->SetNotifyHdl( LINK( this, Outliner, EditEngineNotifyHdl ) ); 156 else 157 pEditEngine->SetNotifyHdl( Link() ); 158 159 } 160 161 Link Outliner::GetNotifyHdl() const 162 { 163 DBG_CHKTHIS(Outliner,0); 164 return pEditEngine->aOutlinerNotifyHdl; 165 } 166 167 void Outliner::SetStatusEventHdl( const Link& rLink ) 168 { 169 DBG_CHKTHIS(Outliner,0); 170 pEditEngine->SetStatusEventHdl( rLink ); 171 } 172 173 Link Outliner::GetStatusEventHdl() const 174 { 175 DBG_CHKTHIS(Outliner,0); 176 return pEditEngine->GetStatusEventHdl(); 177 } 178 179 void Outliner::SetDefTab( sal_uInt16 nTab ) 180 { 181 DBG_CHKTHIS(Outliner,0); 182 pEditEngine->SetDefTab( nTab ); 183 } 184 185 sal_uInt16 Outliner::GetDefTab() const 186 { 187 DBG_CHKTHIS(Outliner,0); 188 return pEditEngine->GetDefTab(); 189 } 190 191 sal_Bool Outliner::IsFlatMode() const 192 { 193 DBG_CHKTHIS(Outliner,0); 194 return pEditEngine->IsFlatMode(); 195 } 196 197 sal_Bool Outliner::UpdateFields() 198 { 199 DBG_CHKTHIS(Outliner,0); 200 return pEditEngine->UpdateFields(); 201 } 202 203 void Outliner::RemoveFields( sal_Bool bKeepFieldText, TypeId aType ) 204 { 205 DBG_CHKTHIS(Outliner,0); 206 pEditEngine->RemoveFields( bKeepFieldText, aType ); 207 } 208 209 void Outliner::SetWordDelimiters( const String& rDelimiters ) 210 { 211 DBG_CHKTHIS(Outliner,0); 212 pEditEngine->SetWordDelimiters( rDelimiters ); 213 } 214 215 String Outliner::GetWordDelimiters() const 216 { 217 DBG_CHKTHIS(Outliner,0); 218 return pEditEngine->GetWordDelimiters(); 219 } 220 221 String Outliner::GetWord( sal_uInt16 nPara, sal_uInt16 nIndex ) 222 { 223 DBG_CHKTHIS(Outliner,0); 224 return pEditEngine->GetWord( nPara, nIndex ); 225 } 226 227 void Outliner::Draw( OutputDevice* pOutDev, const Rectangle& rOutRect ) 228 { 229 DBG_CHKTHIS(Outliner,0); 230 pEditEngine->Draw( pOutDev, rOutRect ); 231 } 232 233 void Outliner::Draw( OutputDevice* pOutDev, const Rectangle& rOutRect, const Point& rStartDocPos ) 234 { 235 DBG_CHKTHIS(Outliner,0); 236 pEditEngine->Draw( pOutDev, rOutRect, rStartDocPos ); 237 } 238 239 240 void Outliner::Draw( OutputDevice* pOutDev, const Point& rStartPos, short nOrientation ) 241 { 242 DBG_CHKTHIS(Outliner,0); 243 pEditEngine->Draw( pOutDev, rStartPos, nOrientation ); 244 } 245 246 void Outliner::SetPaperSize( const Size& rSize ) 247 { 248 DBG_CHKTHIS(Outliner,0); 249 pEditEngine->SetPaperSize( rSize ); 250 } 251 252 const Size& Outliner::GetPaperSize() const 253 { 254 DBG_CHKTHIS(Outliner,0); 255 return pEditEngine->GetPaperSize(); 256 } 257 258 void Outliner::SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon ) 259 { 260 DBG_CHKTHIS( Outliner, 0 ); 261 pEditEngine->SetPolygon( rPolyPolygon ); 262 } 263 264 void Outliner::SetPolygon( const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::B2DPolyPolygon* pLinePolyPolygon) 265 { 266 DBG_CHKTHIS( Outliner, 0 ); 267 pEditEngine->SetPolygon( rPolyPolygon, pLinePolyPolygon); 268 } 269 270 void Outliner::ClearPolygon() 271 { 272 DBG_CHKTHIS( Outliner, 0 ); 273 pEditEngine->ClearPolygon(); 274 } 275 276 const PolyPolygon* Outliner::GetPolygon() 277 { 278 DBG_CHKTHIS( Outliner, 0 ); 279 return pEditEngine->GetPolygon(); 280 } 281 282 const Size& Outliner::GetMinAutoPaperSize() const 283 { 284 DBG_CHKTHIS(Outliner,0); 285 return pEditEngine->GetMinAutoPaperSize(); 286 } 287 288 void Outliner::SetMinAutoPaperSize( const Size& rSz ) 289 { 290 DBG_CHKTHIS(Outliner,0); 291 pEditEngine->SetMinAutoPaperSize( rSz ); 292 } 293 294 const Size& Outliner::GetMaxAutoPaperSize() const 295 { 296 DBG_CHKTHIS(Outliner,0); 297 return pEditEngine->GetMaxAutoPaperSize(); 298 } 299 300 void Outliner::SetMaxAutoPaperSize( const Size& rSz ) 301 { 302 DBG_CHKTHIS(Outliner,0); 303 pEditEngine->SetMaxAutoPaperSize( rSz ); 304 } 305 306 sal_Bool Outliner::IsExpanded( Paragraph* pPara ) const 307 { 308 DBG_CHKTHIS(Outliner,0); 309 return pParaList->HasVisibleChilds( pPara ); 310 } 311 312 Paragraph* Outliner::GetParent( Paragraph* pParagraph ) const 313 { 314 DBG_CHKTHIS(Outliner,0); 315 return pParaList->GetParent( pParagraph ); 316 } 317 318 sal_uLong Outliner::GetChildCount( Paragraph* pParent ) const 319 { 320 DBG_CHKTHIS(Outliner,0); 321 return pParaList->GetChildCount( pParent ); 322 } 323 324 Size Outliner::CalcTextSize() 325 { 326 DBG_CHKTHIS(Outliner,0); 327 return Size(pEditEngine->CalcTextWidth(),pEditEngine->GetTextHeight()); 328 } 329 330 Point Outliner::GetDocPos( Paragraph* pPara ) 331 { 332 DBG_CHKTHIS(Outliner,0); 333 return pEditEngine->GetDocPosTopLeft( (sal_uInt16)pParaList->GetAbsPos( pPara ) ); 334 } 335 336 void Outliner::SetStyleSheetPool( SfxStyleSheetPool* pSPool ) 337 { 338 DBG_CHKTHIS(Outliner,0); 339 pEditEngine->SetStyleSheetPool( pSPool ); 340 } 341 342 SfxStyleSheetPool* Outliner::GetStyleSheetPool() 343 { 344 DBG_CHKTHIS(Outliner,0); 345 return pEditEngine->GetStyleSheetPool(); 346 } 347 348 SfxStyleSheet* Outliner::GetStyleSheet( sal_uLong nPara ) 349 { 350 DBG_CHKTHIS(Outliner,0); 351 return pEditEngine->GetStyleSheet( (sal_uInt16)nPara ); 352 } 353 354 sal_Bool Outliner::IsInSelectionMode() const 355 { 356 DBG_CHKTHIS(Outliner,0); 357 return pEditEngine->IsInSelectionMode(); 358 } 359 360 void Outliner::SetControlWord( sal_uLong nWord ) 361 { 362 DBG_CHKTHIS(Outliner,0); 363 pEditEngine->SetControlWord( nWord ); 364 } 365 366 sal_uLong Outliner::GetControlWord() const 367 { 368 DBG_CHKTHIS(Outliner,0); 369 return pEditEngine->GetControlWord(); 370 } 371 372 void Outliner::SetAsianCompressionMode( sal_uInt16 n ) 373 { 374 DBG_CHKTHIS(Outliner,0); 375 pEditEngine->SetAsianCompressionMode( n ); 376 } 377 378 sal_uInt16 Outliner::GetAsianCompressionMode() const 379 { 380 DBG_CHKTHIS(Outliner,0); 381 return pEditEngine->GetAsianCompressionMode(); 382 } 383 384 void Outliner::SetKernAsianPunctuation( sal_Bool b ) 385 { 386 DBG_CHKTHIS(Outliner,0); 387 pEditEngine->SetKernAsianPunctuation( b ); 388 } 389 390 sal_Bool Outliner::IsKernAsianPunctuation() const 391 { 392 DBG_CHKTHIS(Outliner,0); 393 return pEditEngine->IsKernAsianPunctuation(); 394 } 395 396 void Outliner::SetAddExtLeading( sal_Bool bExtLeading ) 397 { 398 DBG_CHKTHIS(Outliner,0); 399 pEditEngine->SetAddExtLeading( bExtLeading ); 400 } 401 402 sal_Bool Outliner::IsAddExtLeading() const 403 { 404 DBG_CHKTHIS(Outliner,0); 405 return pEditEngine->IsAddExtLeading(); 406 } 407 408 void Outliner::UndoActionStart( sal_uInt16 nId ) 409 { 410 DBG_CHKTHIS(Outliner,0); 411 pEditEngine->UndoActionStart( nId ); 412 } 413 414 void Outliner::UndoActionEnd( sal_uInt16 nId ) 415 { 416 DBG_CHKTHIS(Outliner,0); 417 pEditEngine->UndoActionEnd( nId ); 418 } 419 420 void Outliner::InsertUndo( EditUndo* pUndo ) 421 { 422 #ifndef SVX_LIGHT 423 DBG_CHKTHIS(Outliner,0); 424 pEditEngine->GetUndoManager().AddUndoAction( pUndo, sal_False ); 425 #endif 426 } 427 428 sal_Bool Outliner::IsInUndo() 429 { 430 DBG_CHKTHIS(Outliner,0); 431 return pEditEngine->IsInUndo(); 432 } 433 434 sal_uLong Outliner::GetLineCount( sal_uLong nParagraph ) const 435 { 436 DBG_CHKTHIS(Outliner,0); 437 return pEditEngine->GetLineCount( (sal_uInt16)nParagraph ); 438 } 439 440 sal_uInt16 Outliner::GetLineLen( sal_uLong nParagraph, sal_uInt16 nLine ) const 441 { 442 DBG_CHKTHIS(Outliner,0); 443 return pEditEngine->GetLineLen( (sal_uInt16)nParagraph, nLine ); 444 } 445 446 sal_uLong Outliner::GetLineHeight( sal_uLong nParagraph, sal_uLong nLine ) 447 { 448 DBG_CHKTHIS(Outliner,0); 449 return pEditEngine->GetLineHeight( (sal_uInt16)nParagraph, (sal_uInt16)nLine ); 450 } 451 452 void Outliner::QuickRemoveCharAttribs( sal_uInt16 nPara, sal_uInt16 nWhich ) 453 { 454 DBG_CHKTHIS(Outliner,0); 455 pEditEngine->QuickRemoveCharAttribs( nPara, nWhich ); 456 } 457 458 EESpellState Outliner::HasSpellErrors() 459 { 460 DBG_CHKTHIS(Outliner,0); 461 return pEditEngine->HasSpellErrors(); 462 } 463 464 sal_Bool Outliner::HasConvertibleTextPortion( LanguageType nLang ) 465 { 466 DBG_CHKTHIS(Outliner,0); 467 return pEditEngine->HasConvertibleTextPortion( nLang ); 468 } 469 470 sal_Bool Outliner::ConvertNextDocument() 471 { 472 DBG_CHKTHIS(Outliner,0); 473 return sal_False; 474 } 475 476 void Outliner::SetDefaultLanguage( LanguageType eLang ) 477 { 478 DBG_CHKTHIS(Outliner,0); 479 pEditEngine->SetDefaultLanguage( eLang ); 480 } 481 482 LanguageType Outliner::GetDefaultLanguage() const 483 { 484 DBG_CHKTHIS(Outliner,0); 485 return pEditEngine->GetDefaultLanguage(); 486 } 487 488 sal_Bool Outliner::HasOnlineSpellErrors() const 489 { 490 DBG_CHKTHIS(Outliner,0); 491 return pEditEngine->HasOnlineSpellErrors(); 492 } 493 494 void Outliner::CompleteOnlineSpelling() 495 { 496 DBG_CHKTHIS(Outliner,0); 497 pEditEngine->CompleteOnlineSpelling(); 498 } 499 500 sal_Bool Outliner::HasText( const SvxSearchItem& rSearchItem ) 501 { 502 DBG_CHKTHIS(Outliner,0); 503 return pEditEngine->HasText( rSearchItem ); 504 } 505 506 void Outliner::SetEditTextObjectPool( SfxItemPool* pPool ) 507 { 508 DBG_CHKTHIS(Outliner,0); 509 pEditEngine->SetEditTextObjectPool( pPool ); 510 } 511 512 SfxItemPool* Outliner::GetEditTextObjectPool() const 513 { 514 DBG_CHKTHIS(Outliner,0); 515 return pEditEngine->GetEditTextObjectPool(); 516 } 517 518 sal_Bool Outliner::SpellNextDocument() 519 { 520 DBG_CHKTHIS(Outliner,0); 521 return sal_False; 522 } 523 524 525 void Outliner::SetSpeller( Reference< XSpellChecker1 > &xSpeller ) 526 { 527 DBG_CHKTHIS(Outliner,0); 528 pEditEngine->SetSpeller( xSpeller ); 529 } 530 Reference< XSpellChecker1 > Outliner::GetSpeller() 531 { 532 DBG_CHKTHIS(Outliner,0); 533 return pEditEngine->GetSpeller(); 534 } 535 536 void Outliner::SetForbiddenCharsTable( vos::ORef<SvxForbiddenCharactersTable> xForbiddenChars ) 537 { 538 DBG_CHKTHIS(Outliner,0); 539 pEditEngine->SetForbiddenCharsTable( xForbiddenChars ); 540 } 541 542 vos::ORef<SvxForbiddenCharactersTable> Outliner::GetForbiddenCharsTable() const 543 { 544 DBG_CHKTHIS(Outliner,0); 545 return pEditEngine->GetForbiddenCharsTable(); 546 } 547 548 549 Reference< XHyphenator > Outliner::GetHyphenator() const 550 { 551 DBG_CHKTHIS(Outliner,0); 552 return pEditEngine->GetHyphenator(); 553 } 554 555 void Outliner::SetHyphenator( Reference< XHyphenator >& xHyph ) 556 { 557 DBG_CHKTHIS(Outliner,0); 558 pEditEngine->SetHyphenator( xHyph ); 559 } 560 561 OutputDevice* Outliner::GetRefDevice() const 562 { 563 DBG_CHKTHIS(Outliner,0); 564 return pEditEngine->GetRefDevice(); 565 } 566 567 sal_uInt16 Outliner::GetFirstLineOffset( sal_uLong nParagraph ) 568 { 569 DBG_CHKTHIS(Outliner,0); 570 return pEditEngine->GetFirstLineOffset( (sal_uInt16)nParagraph ); 571 } 572 573 sal_uLong Outliner::GetTextHeight( sal_uLong nParagraph ) const 574 { 575 DBG_CHKTHIS(Outliner,0); 576 return pEditEngine->GetTextHeight((sal_uInt16)nParagraph ); 577 } 578 579 Point Outliner::GetDocPos( const Point& rPaperPos ) const 580 { 581 DBG_CHKTHIS(Outliner,0); 582 return pEditEngine->GetDocPos( rPaperPos ); 583 } 584 585 Point Outliner::GetDocPosTopLeft( sal_uLong nParagraph ) 586 { 587 DBG_CHKTHIS(Outliner,0); 588 return pEditEngine->GetDocPosTopLeft( (sal_uInt16)nParagraph ); 589 } 590 591 sal_Bool Outliner::IsTextPos( const Point& rPaperPos, sal_uInt16 nBorder ) 592 { 593 return IsTextPos( rPaperPos, nBorder, NULL ); 594 } 595 596 sal_Bool Outliner::IsTextPos( const Point& rPaperPos, sal_uInt16 nBorder, sal_Bool* pbBullet ) 597 { 598 DBG_CHKTHIS(Outliner,0); 599 if ( pbBullet) 600 *pbBullet = sal_False; 601 sal_Bool bTextPos = pEditEngine->IsTextPos( rPaperPos, nBorder ); 602 if ( !bTextPos ) 603 { 604 Point aDocPos = GetDocPos( rPaperPos ); 605 sal_uInt16 nPara = pEditEngine->FindParagraph( aDocPos.Y() ); 606 if ( ( nPara != EE_PARA_NOT_FOUND ) && ImplHasBullet( nPara ) ) 607 { 608 Rectangle aBulArea = ImpCalcBulletArea( nPara, sal_True, sal_True ); 609 if ( aBulArea.IsInside( rPaperPos ) ) 610 { 611 bTextPos = sal_True; 612 if ( pbBullet) 613 *pbBullet = sal_True; 614 } 615 } 616 } 617 618 return bTextPos; 619 } 620 621 void Outliner::QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel ) 622 { 623 DBG_CHKTHIS(Outliner,0); 624 pEditEngine->QuickSetAttribs( rSet, rSel ); 625 } 626 627 void Outliner::QuickInsertText( const XubString& rText, const ESelection& rSel ) 628 { 629 bFirstParaIsEmpty = sal_False; 630 pEditEngine->QuickInsertText( rText, rSel ); 631 } 632 633 void Outliner::QuickDelete( const ESelection& rSel ) 634 { 635 bFirstParaIsEmpty = sal_False; 636 pEditEngine->QuickDelete( rSel ); 637 } 638 639 void Outliner::QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel ) 640 { 641 DBG_CHKTHIS(Outliner,0); 642 bFirstParaIsEmpty = sal_False; 643 pEditEngine->QuickInsertField( rFld, rSel ); 644 } 645 646 void Outliner::QuickInsertLineBreak( const ESelection& rSel ) 647 { 648 DBG_CHKTHIS(Outliner,0); 649 bFirstParaIsEmpty = sal_False; 650 pEditEngine->QuickInsertLineBreak( rSel ); 651 } 652 653 void Outliner::QuickFormatDoc( sal_Bool bFull ) 654 { 655 DBG_CHKTHIS(Outliner,0); 656 pEditEngine->QuickFormatDoc( bFull ); 657 } 658 659 void Outliner::SetGlobalCharStretching( sal_uInt16 nX, sal_uInt16 nY ) 660 { 661 DBG_CHKTHIS(Outliner,0); 662 pEditEngine->SetGlobalCharStretching( nX, nY ); 663 } 664 665 void Outliner::GetGlobalCharStretching( sal_uInt16& rX, sal_uInt16& rY ) 666 { 667 DBG_CHKTHIS(Outliner,0); 668 pEditEngine->GetGlobalCharStretching( rX, rY ); 669 } 670 671 672 void Outliner::DoStretchChars( sal_uInt16 nX, sal_uInt16 nY ) 673 { 674 DBG_CHKTHIS(Outliner,0); 675 pEditEngine->DoStretchChars( nX, nY ); 676 } 677 678 void Outliner::EraseVirtualDevice() 679 { 680 DBG_CHKTHIS(Outliner,0); 681 pEditEngine->EraseVirtualDevice(); 682 } 683 684 void Outliner::SetBigTextObjectStart( sal_uInt16 nStartAtPortionCount ) 685 { 686 DBG_CHKTHIS(Outliner,0); 687 pEditEngine->SetBigTextObjectStart( nStartAtPortionCount ); 688 } 689 690 sal_uInt16 Outliner::GetBigTextObjectStart() const 691 { 692 DBG_CHKTHIS(Outliner,0); 693 return pEditEngine->GetBigTextObjectStart(); 694 } 695 696 sal_Bool Outliner::ShouldCreateBigTextObject() const 697 { 698 DBG_CHKTHIS(Outliner,0); 699 return pEditEngine->ShouldCreateBigTextObject(); 700 } 701 702 void Outliner::SetVertical( sal_Bool b ) 703 { 704 DBG_CHKTHIS(Outliner,0); 705 pEditEngine->SetVertical( b ); 706 } 707 708 sal_Bool Outliner::IsVertical() const 709 { 710 DBG_CHKTHIS(Outliner,0); 711 return pEditEngine->IsVertical(); 712 } 713 714 void Outliner::SetFixedCellHeight( sal_Bool bUseFixedCellHeight ) 715 { 716 DBG_CHKTHIS(Outliner,0); 717 pEditEngine->SetFixedCellHeight( bUseFixedCellHeight ); 718 } 719 720 sal_Bool Outliner::IsFixedCellHeight() const 721 { 722 DBG_CHKTHIS(Outliner,0); 723 return pEditEngine->IsFixedCellHeight(); 724 } 725 726 727 void Outliner::SetDefaultHorizontalTextDirection( EEHorizontalTextDirection eHTextDir ) 728 { 729 DBG_CHKTHIS(Outliner,0); 730 pEditEngine->SetDefaultHorizontalTextDirection( eHTextDir ); 731 } 732 733 EEHorizontalTextDirection Outliner::GetDefaultHorizontalTextDirection() const 734 { 735 return pEditEngine->GetDefaultHorizontalTextDirection(); 736 } 737 738 sal_uInt16 Outliner::GetScriptType( const ESelection& rSelection ) const 739 { 740 DBG_CHKTHIS(Outliner,0); 741 return pEditEngine->GetScriptType( rSelection ); 742 } 743 744 LanguageType Outliner::GetLanguage( sal_uInt16 nPara, sal_uInt16 nPos ) const 745 { 746 DBG_CHKTHIS(Outliner,0); 747 return pEditEngine->GetLanguage( nPara, nPos ); 748 } 749 750 void Outliner::RemoveAttribs( const ESelection& rSelection, sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich ) 751 { 752 DBG_CHKTHIS(Outliner,0); 753 pEditEngine->RemoveAttribs( rSelection, bRemoveParaAttribs, nWhich ); 754 } 755 756 void Outliner::EnableAutoColor( sal_Bool b ) 757 { 758 DBG_CHKTHIS(Outliner,0); 759 pEditEngine->EnableAutoColor( b ); 760 } 761 762 sal_Bool Outliner::IsAutoColorEnabled() const 763 { 764 DBG_CHKTHIS(Outliner,0); 765 return pEditEngine->IsAutoColorEnabled(); 766 } 767 768 void Outliner::ForceAutoColor( sal_Bool b ) 769 { 770 DBG_CHKTHIS(Outliner,0); 771 pEditEngine->ForceAutoColor( b ); 772 } 773 774 sal_Bool Outliner::IsForceAutoColor() const 775 { 776 DBG_CHKTHIS(Outliner,0); 777 return pEditEngine->IsForceAutoColor(); 778 } 779 /*-- 13.10.2003 16:56:23--------------------------------------------------- 780 781 -----------------------------------------------------------------------*/ 782 void Outliner::StartSpelling(EditView& rEditView, sal_Bool bMultipleDoc) 783 { 784 pEditEngine->StartSpelling(rEditView, bMultipleDoc); 785 } 786 /*-- 13.10.2003 16:56:23--------------------------------------------------- 787 788 -----------------------------------------------------------------------*/ 789 void Outliner::EndSpelling() 790 { 791 pEditEngine->EndSpelling(); 792 } 793 /*-- 13.10.2003 16:56:23--------------------------------------------------- 794 795 -----------------------------------------------------------------------*/ 796 bool Outliner::SpellSentence(EditView& rEditView, ::svx::SpellPortions& rToFill, bool bIsGrammarChecking ) 797 { 798 return pEditEngine->SpellSentence(rEditView, rToFill, bIsGrammarChecking ); 799 } 800 /*-- 08.09.2008 11:39:05--------------------------------------------------- 801 802 -----------------------------------------------------------------------*/ 803 void Outliner::PutSpellingToSentenceStart( EditView& rEditView ) 804 { 805 pEditEngine->PutSpellingToSentenceStart( rEditView ); 806 } 807 /*-- 13.10.2003 16:56:25--------------------------------------------------- 808 809 -----------------------------------------------------------------------*/ 810 void Outliner::ApplyChangedSentence(EditView& rEditView, const ::svx::SpellPortions& rNewPortions, bool bRecheck ) 811 { 812 pEditEngine->ApplyChangedSentence( rEditView, rNewPortions, bRecheck ); 813 } 814