outliner.cxx (86af2772) | outliner.cxx (ced59291) |
---|---|
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 --- 121 unchanged lines hidden (view full) --- 130 } 131 else 132 { 133 sal_Bool bUpdate = pEditEngine->GetUpdateMode(); 134 pEditEngine->SetUpdateMode( sal_False ); 135 ImplBlockInsertionCallbacks( sal_True ); 136 pPara = new Paragraph( nDepth ); 137 pParaList->Insert( pPara, nAbsPos ); | 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 --- 121 unchanged lines hidden (view full) --- 130 } 131 else 132 { 133 sal_Bool bUpdate = pEditEngine->GetUpdateMode(); 134 pEditEngine->SetUpdateMode( sal_False ); 135 ImplBlockInsertionCallbacks( sal_True ); 136 pPara = new Paragraph( nDepth ); 137 pParaList->Insert( pPara, nAbsPos ); |
138 pEditEngine->InsertParagraph( (sal_uInt16)nAbsPos, String() ); | 138 pEditEngine->InsertParagraph( (sal_uInt32)nAbsPos, String() ); |
139 DBG_ASSERT(pPara==pParaList->GetParagraph(nAbsPos),"Insert:Failed"); | 139 DBG_ASSERT(pPara==pParaList->GetParagraph(nAbsPos),"Insert:Failed"); |
140 ImplInitDepth( (sal_uInt16)nAbsPos, nDepth, sal_False ); | 140 ImplInitDepth( (sal_uInt32)nAbsPos, nDepth, sal_False ); |
141 pHdlParagraph = pPara; 142 ParagraphInsertedHdl(); 143 pPara->nFlags |= PARAFLAG_HOLDDEPTH; 144 SetText( rText, pPara ); 145 ImplBlockInsertionCallbacks( sal_False ); 146 pEditEngine->SetUpdateMode( bUpdate ); 147 } 148 bFirstParaIsEmpty = sal_False; --- 117 unchanged lines hidden (view full) --- 266void Outliner::SetMaxDepth( sal_Int16 nDepth, sal_Bool bCheckParagraphs ) 267{ 268 if( nMaxDepth != nDepth ) 269 { 270 nMaxDepth = Min( nDepth, (sal_Int16)(SVX_MAX_NUM-1) ); 271 272 if( bCheckParagraphs ) 273 { | 141 pHdlParagraph = pPara; 142 ParagraphInsertedHdl(); 143 pPara->nFlags |= PARAFLAG_HOLDDEPTH; 144 SetText( rText, pPara ); 145 ImplBlockInsertionCallbacks( sal_False ); 146 pEditEngine->SetUpdateMode( bUpdate ); 147 } 148 bFirstParaIsEmpty = sal_False; --- 117 unchanged lines hidden (view full) --- 266void Outliner::SetMaxDepth( sal_Int16 nDepth, sal_Bool bCheckParagraphs ) 267{ 268 if( nMaxDepth != nDepth ) 269 { 270 nMaxDepth = Min( nDepth, (sal_Int16)(SVX_MAX_NUM-1) ); 271 272 if( bCheckParagraphs ) 273 { |
274 sal_uInt16 nParagraphs = (sal_uInt16)pParaList->GetParagraphCount(); 275 for ( sal_uInt16 nPara = 0; nPara < nParagraphs; nPara++ ) | 274 sal_uInt32 nParagraphs = pParaList->GetParagraphCount(); 275 for ( sal_uInt32 nPara = 0; nPara < nParagraphs; nPara++ ) |
276 { 277 Paragraph* pPara = pParaList->GetParagraph( nPara ); 278 if( pPara && pPara->GetDepth() > nMaxDepth ) 279 { 280 SetDepth( pPara, nMaxDepth ); 281 } 282 } 283 } --- 14 unchanged lines hidden (view full) --- 298 ImplCheckDepth( nNewDepth ); 299 300 if ( nNewDepth != pPara->GetDepth() ) 301 { 302 nDepthChangedHdlPrevDepth = pPara->GetDepth(); 303 mnDepthChangeHdlPrevFlags = pPara->nFlags; 304 pHdlParagraph = pPara; 305 | 276 { 277 Paragraph* pPara = pParaList->GetParagraph( nPara ); 278 if( pPara && pPara->GetDepth() > nMaxDepth ) 279 { 280 SetDepth( pPara, nMaxDepth ); 281 } 282 } 283 } --- 14 unchanged lines hidden (view full) --- 298 ImplCheckDepth( nNewDepth ); 299 300 if ( nNewDepth != pPara->GetDepth() ) 301 { 302 nDepthChangedHdlPrevDepth = pPara->GetDepth(); 303 mnDepthChangeHdlPrevFlags = pPara->nFlags; 304 pHdlParagraph = pPara; 305 |
306 sal_uInt16 nPara = (sal_uInt16)GetAbsPos( pPara ); | 306 sal_uInt32 nPara = (sal_uInt32)GetAbsPos( pPara ); |
307 ImplInitDepth( nPara, nNewDepth, sal_True ); 308 ImplCalcBulletText( nPara, sal_False, sal_False ); 309 310 if ( ImplGetOutlinerMode() == OUTLINERMODE_OUTLINEOBJECT ) 311 ImplSetLevelDependendStyleSheet( nPara ); 312 313 DepthChangedHdl(); 314 } --- 112 unchanged lines hidden (view full) --- 427} 428 429OutlinerParaObject* Outliner::CreateParaObject( sal_uInt32 nStartPara, sal_uInt32 nCount ) const 430{ 431 DBG_CHKTHIS(Outliner,0); 432 433 if ( sal::static_int_cast< sal_uLong >( nStartPara + nCount ) > 434 pParaList->GetParagraphCount() ) | 307 ImplInitDepth( nPara, nNewDepth, sal_True ); 308 ImplCalcBulletText( nPara, sal_False, sal_False ); 309 310 if ( ImplGetOutlinerMode() == OUTLINERMODE_OUTLINEOBJECT ) 311 ImplSetLevelDependendStyleSheet( nPara ); 312 313 DepthChangedHdl(); 314 } --- 112 unchanged lines hidden (view full) --- 427} 428 429OutlinerParaObject* Outliner::CreateParaObject( sal_uInt32 nStartPara, sal_uInt32 nCount ) const 430{ 431 DBG_CHKTHIS(Outliner,0); 432 433 if ( sal::static_int_cast< sal_uLong >( nStartPara + nCount ) > 434 pParaList->GetParagraphCount() ) |
435 nCount = sal::static_int_cast< sal_uInt16 >( | 435 nCount = sal::static_int_cast< sal_uInt32 >( |
436 pParaList->GetParagraphCount() - nStartPara ); 437 438 // When a new OutlinerParaObject is created because a paragraph is just being deleted, 439 // it can happen that the ParaList is not updated yet... 440 if ( ( nStartPara + nCount ) > pEditEngine->GetParagraphCount() ) 441 nCount = pEditEngine->GetParagraphCount() - nStartPara; 442 443 if( !nCount ) 444 return NULL; 445 446 EditTextObject* pText = pEditEngine->CreateTextObject( nStartPara, nCount ); 447 const bool bIsEditDoc(OUTLINERMODE_TEXTOBJECT == ImplGetOutlinerMode()); 448 ParagraphDataVector aParagraphDataVector(nCount); | 436 pParaList->GetParagraphCount() - nStartPara ); 437 438 // When a new OutlinerParaObject is created because a paragraph is just being deleted, 439 // it can happen that the ParaList is not updated yet... 440 if ( ( nStartPara + nCount ) > pEditEngine->GetParagraphCount() ) 441 nCount = pEditEngine->GetParagraphCount() - nStartPara; 442 443 if( !nCount ) 444 return NULL; 445 446 EditTextObject* pText = pEditEngine->CreateTextObject( nStartPara, nCount ); 447 const bool bIsEditDoc(OUTLINERMODE_TEXTOBJECT == ImplGetOutlinerMode()); 448 ParagraphDataVector aParagraphDataVector(nCount); |
449 const sal_uInt16 nLastPara(nStartPara + nCount - 1); | 449 const sal_uInt32 nLastPara(nStartPara + nCount - 1); |
450 | 450 |
451 for(sal_uInt16 nPara(nStartPara); nPara <= nLastPara; nPara++) | 451 for(sal_uInt32 nPara(nStartPara); nPara <= nLastPara; nPara++) |
452 { 453 aParagraphDataVector[nPara-nStartPara] = *GetParagraph(nPara); 454 } 455 456 OutlinerParaObject* pPObj = new OutlinerParaObject(*pText, aParagraphDataVector, bIsEditDoc); 457 pPObj->SetOutlinerMode(GetMode()); 458 delete pText; 459 --- 4 unchanged lines hidden (view full) --- 464{ 465 DBG_CHKTHIS(Outliner,0); 466 DBG_ASSERT(pPara,"SetText:No Para"); 467 468 sal_Bool bUpdate = pEditEngine->GetUpdateMode(); 469 pEditEngine->SetUpdateMode( sal_False ); 470 ImplBlockInsertionCallbacks( sal_True ); 471 | 452 { 453 aParagraphDataVector[nPara-nStartPara] = *GetParagraph(nPara); 454 } 455 456 OutlinerParaObject* pPObj = new OutlinerParaObject(*pText, aParagraphDataVector, bIsEditDoc); 457 pPObj->SetOutlinerMode(GetMode()); 458 delete pText; 459 --- 4 unchanged lines hidden (view full) --- 464{ 465 DBG_CHKTHIS(Outliner,0); 466 DBG_ASSERT(pPara,"SetText:No Para"); 467 468 sal_Bool bUpdate = pEditEngine->GetUpdateMode(); 469 pEditEngine->SetUpdateMode( sal_False ); 470 ImplBlockInsertionCallbacks( sal_True ); 471 |
472 sal_uInt16 nPara = (sal_uInt16)pParaList->GetAbsPos( pPara ); | 472 sal_uInt32 nPara = (sal_uInt32)pParaList->GetAbsPos( pPara ); |
473 474 if( !rText.Len() ) 475 { 476 pEditEngine->SetText( nPara, rText ); 477 ImplInitDepth( nPara, pPara->GetDepth(), sal_False ); 478 } 479 else 480 { 481 XubString aText( rText ); 482 aText.ConvertLineEnd( LINEEND_LF ); 483 484 if( aText.GetChar( aText.Len()-1 ) == '\x0A' ) 485 aText.Erase( aText.Len()-1, 1 ); // letzten Umbruch loeschen 486 487 sal_uInt16 nCount = aText.GetTokenCount( '\x0A' ); 488 sal_uInt16 nPos = 0; | 473 474 if( !rText.Len() ) 475 { 476 pEditEngine->SetText( nPara, rText ); 477 ImplInitDepth( nPara, pPara->GetDepth(), sal_False ); 478 } 479 else 480 { 481 XubString aText( rText ); 482 aText.ConvertLineEnd( LINEEND_LF ); 483 484 if( aText.GetChar( aText.Len()-1 ) == '\x0A' ) 485 aText.Erase( aText.Len()-1, 1 ); // letzten Umbruch loeschen 486 487 sal_uInt16 nCount = aText.GetTokenCount( '\x0A' ); 488 sal_uInt16 nPos = 0; |
489 sal_uInt16 nInsPos = nPara+1; | 489 sal_uInt32 nInsPos = nPara+1; |
490 while( nCount > nPos ) 491 { 492 XubString aStr = aText.GetToken( nPos, '\x0A' ); 493 494 sal_Int16 nCurDepth; 495 if( nPos ) 496 { 497 pPara = new Paragraph( -1 ); --- 53 unchanged lines hidden (view full) --- 551bool Outliner::ImpConvertEdtToOut( sal_uInt32 nPara,EditView* pView) 552{ 553 DBG_CHKTHIS(Outliner,0); 554 555 bool bConverted = false; 556 sal_uInt16 nTabs = 0; 557 ESelection aDelSel; 558 | 490 while( nCount > nPos ) 491 { 492 XubString aStr = aText.GetToken( nPos, '\x0A' ); 493 494 sal_Int16 nCurDepth; 495 if( nPos ) 496 { 497 pPara = new Paragraph( -1 ); --- 53 unchanged lines hidden (view full) --- 551bool Outliner::ImpConvertEdtToOut( sal_uInt32 nPara,EditView* pView) 552{ 553 DBG_CHKTHIS(Outliner,0); 554 555 bool bConverted = false; 556 sal_uInt16 nTabs = 0; 557 ESelection aDelSel; 558 |
559// const SfxItemSet& rAttrs = pEditEngine->GetParaAttribs( (sal_uInt16)nPara ); | 559// const SfxItemSet& rAttrs = pEditEngine->GetParaAttribs( nPara ); |
560// bool bAlreadyOutliner = rAttrs.GetItemState( EE_PARA_OUTLLRSPACE ) == SFX_ITEM_ON ? true : false; 561 562 XubString aName; 563 XubString aHeading_US( RTL_CONSTASCII_USTRINGPARAM( "heading" ) ); 564 XubString aNumber_US( RTL_CONSTASCII_USTRINGPARAM( "Numbering" ) ); 565 | 560// bool bAlreadyOutliner = rAttrs.GetItemState( EE_PARA_OUTLLRSPACE ) == SFX_ITEM_ON ? true : false; 561 562 XubString aName; 563 XubString aHeading_US( RTL_CONSTASCII_USTRINGPARAM( "heading" ) ); 564 XubString aNumber_US( RTL_CONSTASCII_USTRINGPARAM( "Numbering" ) ); 565 |
566 XubString aStr( pEditEngine->GetText( (sal_uInt16)nPara ) ); | 566 XubString aStr( pEditEngine->GetText( nPara ) ); |
567 xub_Unicode* pPtr = (xub_Unicode*)aStr.GetBuffer(); 568 569 sal_uInt16 nHeadingNumberStart = 0; 570 sal_uInt16 nNumberingNumberStart = 0; | 567 xub_Unicode* pPtr = (xub_Unicode*)aStr.GetBuffer(); 568 569 sal_uInt16 nHeadingNumberStart = 0; 570 sal_uInt16 nNumberingNumberStart = 0; |
571 SfxStyleSheet* pStyle= pEditEngine->GetStyleSheet( (sal_uInt16)nPara ); | 571 SfxStyleSheet* pStyle= pEditEngine->GetStyleSheet( nPara ); |
572 if( pStyle ) 573 { 574 aName = pStyle->GetName(); 575 sal_uInt16 nSearch; 576 if ( ( nSearch = aName.Search( aHeading_US ) ) != STRING_NOTFOUND ) 577 nHeadingNumberStart = nSearch + aHeading_US.Len(); 578 else if ( ( nSearch = aName.Search( aNumber_US ) ) != STRING_NOTFOUND ) 579 nNumberingNumberStart = nSearch + aNumber_US.Len(); 580 } 581 582 if ( nHeadingNumberStart || nNumberingNumberStart ) 583 { 584 // PowerPoint-Import ? 585 if( nHeadingNumberStart && ( aStr.Len() >= 2 ) && 586 ( pPtr[0] != '\t' ) && ( pPtr[1] == '\t' ) ) 587 { 588 // Bullet & Tab raus | 572 if( pStyle ) 573 { 574 aName = pStyle->GetName(); 575 sal_uInt16 nSearch; 576 if ( ( nSearch = aName.Search( aHeading_US ) ) != STRING_NOTFOUND ) 577 nHeadingNumberStart = nSearch + aHeading_US.Len(); 578 else if ( ( nSearch = aName.Search( aNumber_US ) ) != STRING_NOTFOUND ) 579 nNumberingNumberStart = nSearch + aNumber_US.Len(); 580 } 581 582 if ( nHeadingNumberStart || nNumberingNumberStart ) 583 { 584 // PowerPoint-Import ? 585 if( nHeadingNumberStart && ( aStr.Len() >= 2 ) && 586 ( pPtr[0] != '\t' ) && ( pPtr[1] == '\t' ) ) 587 { 588 // Bullet & Tab raus |
589 aDelSel = ESelection( (sal_uInt16)nPara, 0, (sal_uInt16)nPara, 2 ); | 589 aDelSel = ESelection( nPara, 0, nPara, 2 ); |
590 } 591 592 sal_uInt16 nPos = nHeadingNumberStart ? nHeadingNumberStart : nNumberingNumberStart; 593 String aLevel = aName.Copy( nPos ); 594 aLevel.EraseLeadingChars( ' ' ); 595 nTabs = sal::static_int_cast< sal_uInt16 >(aLevel.ToInt32()); 596 if( nTabs ) 597 nTabs--; // ebene 0 = "heading 1" --- 4 unchanged lines hidden (view full) --- 602 // Fuehrende Tabulatoren filtern 603 while( *pPtr == '\t' ) 604 { 605 pPtr++; 606 nTabs++; 607 } 608 // Tabulatoren aus dem Text entfernen 609 if( nTabs ) | 590 } 591 592 sal_uInt16 nPos = nHeadingNumberStart ? nHeadingNumberStart : nNumberingNumberStart; 593 String aLevel = aName.Copy( nPos ); 594 aLevel.EraseLeadingChars( ' ' ); 595 nTabs = sal::static_int_cast< sal_uInt16 >(aLevel.ToInt32()); 596 if( nTabs ) 597 nTabs--; // ebene 0 = "heading 1" --- 4 unchanged lines hidden (view full) --- 602 // Fuehrende Tabulatoren filtern 603 while( *pPtr == '\t' ) 604 { 605 pPtr++; 606 nTabs++; 607 } 608 // Tabulatoren aus dem Text entfernen 609 if( nTabs ) |
610 aDelSel = ESelection( (sal_uInt16)nPara, 0, (sal_uInt16)nPara, nTabs ); | 610 aDelSel = ESelection( nPara, 0, nPara, nTabs ); |
611 } 612 613 if ( aDelSel.HasRange() ) 614 { 615 if ( pView ) 616 { 617 pView->SetSelection( aDelSel ); 618 pView->DeleteSelected(); 619 } 620 else 621 pEditEngine->QuickDelete( aDelSel ); 622 } 623 | 611 } 612 613 if ( aDelSel.HasRange() ) 614 { 615 if ( pView ) 616 { 617 pView->SetSelection( aDelSel ); 618 pView->DeleteSelected(); 619 } 620 else 621 pEditEngine->QuickDelete( aDelSel ); 622 } 623 |
624 const SfxInt16Item& rLevel = (const SfxInt16Item&) pEditEngine->GetParaAttrib( sal::static_int_cast< sal_uInt16 >(nPara), EE_PARA_OUTLLEVEL ); | 624 const SfxInt16Item& rLevel = (const SfxInt16Item&) pEditEngine->GetParaAttrib( nPara, EE_PARA_OUTLLEVEL ); |
625 sal_Int16 nOutlLevel = rLevel.GetValue(); 626 627 ImplCheckDepth( nOutlLevel ); | 625 sal_Int16 nOutlLevel = rLevel.GetValue(); 626 627 ImplCheckDepth( nOutlLevel ); |
628 ImplInitDepth( sal::static_int_cast< sal_uInt16 >(nPara), nOutlLevel, sal_False ); | 628 ImplInitDepth( nPara, nOutlLevel, sal_False ); |
629 630 return bConverted; 631} 632 633void Outliner::SetText( const OutlinerParaObject& rPObj ) 634{ 635 DBG_CHKTHIS(Outliner,0); 636 --- 10 unchanged lines hidden (view full) --- 647 if( rPObj.Count() != pEditEngine->GetParagraphCount() ) 648 { 649 int nop=0;nop++; 650 } 651 652 bFirstParaIsEmpty = sal_False; 653 654 pParaList->Clear( sal_True ); | 629 630 return bConverted; 631} 632 633void Outliner::SetText( const OutlinerParaObject& rPObj ) 634{ 635 DBG_CHKTHIS(Outliner,0); 636 --- 10 unchanged lines hidden (view full) --- 647 if( rPObj.Count() != pEditEngine->GetParagraphCount() ) 648 { 649 int nop=0;nop++; 650 } 651 652 bFirstParaIsEmpty = sal_False; 653 654 pParaList->Clear( sal_True ); |
655 for( sal_uInt16 nCurPara = 0; nCurPara < rPObj.Count(); nCurPara++ ) | 655 for( sal_uInt32 nCurPara = 0; nCurPara < rPObj.Count(); nCurPara++ ) |
656 { 657 Paragraph* pPara = new Paragraph( rPObj.GetParagraphData(nCurPara)); 658 ImplCheckDepth( pPara->nDepth ); 659 660 pParaList->Insert( pPara, LIST_APPEND ); 661 ImplCheckNumBulletItem( nCurPara ); 662 } 663 --- 104 unchanged lines hidden (view full) --- 768} 769 770void Outliner::SetStyleSheet( sal_uLong nPara, SfxStyleSheet* pStyle ) 771{ 772 DBG_CHKTHIS(Outliner,0); 773 Paragraph* pPara = pParaList->GetParagraph( nPara ); 774 if (pPara) 775 { | 656 { 657 Paragraph* pPara = new Paragraph( rPObj.GetParagraphData(nCurPara)); 658 ImplCheckDepth( pPara->nDepth ); 659 660 pParaList->Insert( pPara, LIST_APPEND ); 661 ImplCheckNumBulletItem( nCurPara ); 662 } 663 --- 104 unchanged lines hidden (view full) --- 768} 769 770void Outliner::SetStyleSheet( sal_uLong nPara, SfxStyleSheet* pStyle ) 771{ 772 DBG_CHKTHIS(Outliner,0); 773 Paragraph* pPara = pParaList->GetParagraph( nPara ); 774 if (pPara) 775 { |
776 pEditEngine->SetStyleSheet( (sal_uInt16)nPara, pStyle ); | 776 pEditEngine->SetStyleSheet( nPara, pStyle ); |
777 pPara->nFlags |= PARAFLAG_SETBULLETTEXT; | 777 pPara->nFlags |= PARAFLAG_SETBULLETTEXT; |
778 ImplCheckNumBulletItem( (sal_uInt16) nPara ); | 778 ImplCheckNumBulletItem( nPara ); |
779 } 780} 781 782void Outliner::SetVisible( Paragraph* pPara, sal_Bool bVisible ) 783{ 784 DBG_CHKTHIS(Outliner,0); 785 DBG_ASSERT( pPara, "SetVisible: pPara = NULL" ); 786 787 if (pPara) 788 { 789 pPara->bVisible = bVisible; 790 sal_uLong nPara = pParaList->GetAbsPos( pPara ); | 779 } 780} 781 782void Outliner::SetVisible( Paragraph* pPara, sal_Bool bVisible ) 783{ 784 DBG_CHKTHIS(Outliner,0); 785 DBG_ASSERT( pPara, "SetVisible: pPara = NULL" ); 786 787 if (pPara) 788 { 789 pPara->bVisible = bVisible; 790 sal_uLong nPara = pParaList->GetAbsPos( pPara ); |
791 pEditEngine->ShowParagraph( (sal_uInt16)nPara, bVisible ); | 791 pEditEngine->ShowParagraph( nPara, bVisible ); |
792 } 793} 794 795void Outliner::ImplCheckNumBulletItem( sal_uInt32 nPara ) 796{ 797 Paragraph* pPara = pParaList->GetParagraph( nPara ); 798 if (pPara) 799 pPara->aBulSize.Width() = -1; --- 90 unchanged lines hidden (view full) --- 890 { 891 OLUndoExpand* pUndo = 0; 892 sal_Bool bUndo = IsUndoEnabled() && !IsInUndo(); 893 if( bUndo ) 894 { 895 UndoActionStart( OLUNDO_EXPAND ); 896 pUndo = new OLUndoExpand( this, OLUNDO_EXPAND ); 897 pUndo->pParas = 0; | 792 } 793} 794 795void Outliner::ImplCheckNumBulletItem( sal_uInt32 nPara ) 796{ 797 Paragraph* pPara = pParaList->GetParagraph( nPara ); 798 if (pPara) 799 pPara->aBulSize.Width() = -1; --- 90 unchanged lines hidden (view full) --- 890 { 891 OLUndoExpand* pUndo = 0; 892 sal_Bool bUndo = IsUndoEnabled() && !IsInUndo(); 893 if( bUndo ) 894 { 895 UndoActionStart( OLUNDO_EXPAND ); 896 pUndo = new OLUndoExpand( this, OLUNDO_EXPAND ); 897 pUndo->pParas = 0; |
898 pUndo->nCount = (sal_uInt16)pParaList->GetAbsPos( pPara ); | 898 pUndo->nCount = pParaList->GetAbsPos( pPara ); |
899 } 900 pHdlParagraph = pPara; 901 bIsExpanding = sal_True; 902 pParaList->Expand( pPara ); 903 ExpandHdl(); 904 InvalidateBullet( pPara, pParaList->GetAbsPos(pPara) ); 905 if( bUndo ) 906 { --- 16 unchanged lines hidden (view full) --- 923 924 if( !IsInUndo() && IsUndoEnabled() ) 925 bUndo = sal_True; 926 if( bUndo ) 927 { 928 UndoActionStart( OLUNDO_COLLAPSE ); 929 pUndo = new OLUndoExpand( this, OLUNDO_COLLAPSE ); 930 pUndo->pParas = 0; | 899 } 900 pHdlParagraph = pPara; 901 bIsExpanding = sal_True; 902 pParaList->Expand( pPara ); 903 ExpandHdl(); 904 InvalidateBullet( pPara, pParaList->GetAbsPos(pPara) ); 905 if( bUndo ) 906 { --- 16 unchanged lines hidden (view full) --- 923 924 if( !IsInUndo() && IsUndoEnabled() ) 925 bUndo = sal_True; 926 if( bUndo ) 927 { 928 UndoActionStart( OLUNDO_COLLAPSE ); 929 pUndo = new OLUndoExpand( this, OLUNDO_COLLAPSE ); 930 pUndo->pParas = 0; |
931 pUndo->nCount = (sal_uInt16)pParaList->GetAbsPos( pPara ); | 931 pUndo->nCount = pParaList->GetAbsPos( pPara ); |
932 } 933 934 pHdlParagraph = pPara; 935 bIsExpanding = sal_False; 936 pParaList->Collapse( pPara ); 937 ExpandHdl(); 938 InvalidateBullet( pPara, pParaList->GetAbsPos(pPara) ); 939 if( bUndo ) --- 243 unchanged lines hidden (view full) --- 1183 } 1184 } 1185} 1186 1187void Outliner::InvalidateBullet( Paragraph* /*pPara*/, sal_uLong nPara ) 1188{ 1189 DBG_CHKTHIS(Outliner,0); 1190 | 932 } 933 934 pHdlParagraph = pPara; 935 bIsExpanding = sal_False; 936 pParaList->Collapse( pPara ); 937 ExpandHdl(); 938 InvalidateBullet( pPara, pParaList->GetAbsPos(pPara) ); 939 if( bUndo ) --- 243 unchanged lines hidden (view full) --- 1183 } 1184 } 1185} 1186 1187void Outliner::InvalidateBullet( Paragraph* /*pPara*/, sal_uLong nPara ) 1188{ 1189 DBG_CHKTHIS(Outliner,0); 1190 |
1191 long nLineHeight = (long)pEditEngine->GetLineHeight((sal_uInt16)nPara ); | 1191 long nLineHeight = (long)pEditEngine->GetLineHeight(nPara ); |
1192 OutlinerView* pView = aViewList.First(); 1193 while( pView ) 1194 { | 1192 OutlinerView* pView = aViewList.First(); 1193 while( pView ) 1194 { |
1195 Point aPos( pView->pEditView->GetWindowPosTopLeft((sal_uInt16)nPara ) ); | 1195 Point aPos( pView->pEditView->GetWindowPosTopLeft( nPara ) ); |
1196 Rectangle aRect( pView->GetOutputArea() ); 1197 aRect.Right() = aPos.X(); 1198 aRect.Top() = aPos.Y(); 1199 aRect.Bottom() = aPos.Y(); 1200 aRect.Bottom() += nLineHeight; 1201 1202 pView->GetWindow()->Invalidate( aRect ); 1203 pView = aViewList.Next(); --- 12 unchanged lines hidden (view full) --- 1216 1217 Clear(); 1218 1219 ImplBlockInsertionCallbacks( sal_True ); 1220 sal_uLong nRet = pEditEngine->Read( rInput, rBaseURL, (EETextFormat)eFormat, pHTTPHeaderAttrs ); 1221 1222 bFirstParaIsEmpty = sal_False; 1223 | 1196 Rectangle aRect( pView->GetOutputArea() ); 1197 aRect.Right() = aPos.X(); 1198 aRect.Top() = aPos.Y(); 1199 aRect.Bottom() = aPos.Y(); 1200 aRect.Bottom() += nLineHeight; 1201 1202 pView->GetWindow()->Invalidate( aRect ); 1203 pView = aViewList.Next(); --- 12 unchanged lines hidden (view full) --- 1216 1217 Clear(); 1218 1219 ImplBlockInsertionCallbacks( sal_True ); 1220 sal_uLong nRet = pEditEngine->Read( rInput, rBaseURL, (EETextFormat)eFormat, pHTTPHeaderAttrs ); 1221 1222 bFirstParaIsEmpty = sal_False; 1223 |
1224 sal_uInt16 nParas = pEditEngine->GetParagraphCount(); | 1224 sal_uInt32 nParas = pEditEngine->GetParagraphCount(); |
1225 pParaList->Clear( sal_True ); | 1225 pParaList->Clear( sal_True ); |
1226 sal_uInt16 n; | 1226 sal_uInt32 n; |
1227 for ( n = 0; n < nParas; n++ ) 1228 { 1229 Paragraph* pPara = new Paragraph( 0 ); 1230 pParaList->Insert( pPara, LIST_APPEND ); 1231 1232 if ( eFormat == EE_FORMAT_BIN ) 1233 { 1234 const SfxItemSet& rAttrs = pEditEngine->GetParaAttribs( n ); --- 34 unchanged lines hidden (view full) --- 1269 pLastConverted = pPara; 1270 } 1271 else if ( pLastConverted ) 1272 { 1273 // Normale Absaetze unter der Ueberschrift anordnen... 1274 pPara->SetDepth( pLastConverted->GetDepth() ); 1275 } 1276 | 1227 for ( n = 0; n < nParas; n++ ) 1228 { 1229 Paragraph* pPara = new Paragraph( 0 ); 1230 pParaList->Insert( pPara, LIST_APPEND ); 1231 1232 if ( eFormat == EE_FORMAT_BIN ) 1233 { 1234 const SfxItemSet& rAttrs = pEditEngine->GetParaAttribs( n ); --- 34 unchanged lines hidden (view full) --- 1269 pLastConverted = pPara; 1270 } 1271 else if ( pLastConverted ) 1272 { 1273 // Normale Absaetze unter der Ueberschrift anordnen... 1274 pPara->SetDepth( pLastConverted->GetDepth() ); 1275 } 1276 |
1277 ImplInitDepth( (sal_uInt16)nPara, pPara->GetDepth(), sal_False ); | 1277 ImplInitDepth( nPara, pPara->GetDepth(), sal_False ); |
1278 } 1279 } 1280 1281 pEditEngine->SetUpdateMode( bUpdate ); 1282} 1283 1284::svl::IUndoManager& Outliner::GetUndoManager() 1285{ --- 36 unchanged lines hidden (view full) --- 1322 // the existing paragraph has changed depth or flags 1323 if( (pPara->GetDepth() != nDepthChangedHdlPrevDepth) || (pPara->nFlags != mnDepthChangeHdlPrevFlags) ) 1324 DepthChangedHdl(); 1325 } 1326 } 1327 else // EditEngine-Modus 1328 { 1329 sal_Int16 nDepth = -1; | 1278 } 1279 } 1280 1281 pEditEngine->SetUpdateMode( bUpdate ); 1282} 1283 1284::svl::IUndoManager& Outliner::GetUndoManager() 1285{ --- 36 unchanged lines hidden (view full) --- 1322 // the existing paragraph has changed depth or flags 1323 if( (pPara->GetDepth() != nDepthChangedHdlPrevDepth) || (pPara->nFlags != mnDepthChangeHdlPrevFlags) ) 1324 DepthChangedHdl(); 1325 } 1326 } 1327 else // EditEngine-Modus 1328 { 1329 sal_Int16 nDepth = -1; |
1330 const SfxItemSet& rAttrs = pEditEngine->GetParaAttribs( (sal_uInt16)nStartPara ); | 1330 const SfxItemSet& rAttrs = pEditEngine->GetParaAttribs( nStartPara ); |
1331 if ( rAttrs.GetItemState( EE_PARA_OUTLLEVEL ) == SFX_ITEM_ON ) 1332 { 1333 const SfxInt16Item& rLevel = (const SfxInt16Item&) rAttrs.Get( EE_PARA_OUTLLEVEL ); 1334 nDepth = rLevel.GetValue(); 1335 } 1336 if ( nDepth != GetDepth( nStartPara ) ) | 1331 if ( rAttrs.GetItemState( EE_PARA_OUTLLEVEL ) == SFX_ITEM_ON ) 1332 { 1333 const SfxInt16Item& rLevel = (const SfxInt16Item&) rAttrs.Get( EE_PARA_OUTLLEVEL ); 1334 nDepth = rLevel.GetValue(); 1335 } 1336 if ( nDepth != GetDepth( nStartPara ) ) |
1337 ImplInitDepth( (sal_uInt16)nStartPara, nDepth, sal_False ); | 1337 ImplInitDepth( nStartPara, nDepth, sal_False ); |
1338 } 1339 1340 nCount--; 1341 nStartPara++; 1342 pPara = pParaList->GetParagraph( nStartPara ); 1343 } 1344 1345 pEditEngine->SetUpdateMode( bUpdate ); --- 254 unchanged lines hidden (view full) --- 1600 } 1601 } 1602} 1603 1604void Outliner::SetRefDevice( OutputDevice* pRefDev ) 1605{ 1606 DBG_CHKTHIS(Outliner,0); 1607 pEditEngine->SetRefDevice( pRefDev ); | 1338 } 1339 1340 nCount--; 1341 nStartPara++; 1342 pPara = pParaList->GetParagraph( nStartPara ); 1343 } 1344 1345 pEditEngine->SetUpdateMode( bUpdate ); --- 254 unchanged lines hidden (view full) --- 1600 } 1601 } 1602} 1603 1604void Outliner::SetRefDevice( OutputDevice* pRefDev ) 1605{ 1606 DBG_CHKTHIS(Outliner,0); 1607 pEditEngine->SetRefDevice( pRefDev ); |
1608 for ( sal_uInt16 n = (sal_uInt16) pParaList->GetParagraphCount(); n; ) | 1608 for ( sal_uInt32 n = pParaList->GetParagraphCount(); n; ) |
1609 { 1610 Paragraph* pPara = pParaList->GetParagraph( --n ); 1611 pPara->Invalidate(); 1612 } 1613} 1614 1615void Outliner::ParaAttribsChanged( sal_uInt32 nPara ) 1616{ --- 23 unchanged lines hidden (view full) --- 1640{ 1641 DBG_CHKTHIS(Outliner,0); 1642 1643 // Die EditEngine ruft StyleSheetChanged auch fuer abgeleitete Styles. 1644 // MT: Hier wurde frueher alle Absaetze durch ein ImpRecalcParaAttribs 1645 // gejagt, die die besagte Vorlage haben, warum? 1646 // => Eigentlich kann sich nur die Bullet-Repraesentation aendern... 1647 | 1609 { 1610 Paragraph* pPara = pParaList->GetParagraph( --n ); 1611 pPara->Invalidate(); 1612 } 1613} 1614 1615void Outliner::ParaAttribsChanged( sal_uInt32 nPara ) 1616{ --- 23 unchanged lines hidden (view full) --- 1640{ 1641 DBG_CHKTHIS(Outliner,0); 1642 1643 // Die EditEngine ruft StyleSheetChanged auch fuer abgeleitete Styles. 1644 // MT: Hier wurde frueher alle Absaetze durch ein ImpRecalcParaAttribs 1645 // gejagt, die die besagte Vorlage haben, warum? 1646 // => Eigentlich kann sich nur die Bullet-Repraesentation aendern... 1647 |
1648 sal_uInt16 nParas = (sal_uInt16)pParaList->GetParagraphCount(); 1649 for( sal_uInt16 nPara = 0; nPara < nParas; nPara++ ) | 1648 sal_uInt32 nParas = pParaList->GetParagraphCount(); 1649 for( sal_uInt32 nPara = 0; nPara < nParas; nPara++ ) |
1650 { 1651 if ( pEditEngine->GetStyleSheet( nPara ) == pStyle ) 1652 { 1653 ImplCheckNumBulletItem( nPara ); 1654 ImplCalcBulletText( nPara, sal_False, sal_False ); 1655 // #97333# EditEngine formats changed paragraphs before calling this method, 1656 // so they are not reformatted now and use wrong bullet indent 1657 pEditEngine->QuickMarkInvalid( ESelection( nPara, 0, nPara, 0 ) ); --- 142 unchanged lines hidden (view full) --- 1800 return aInfo; 1801} 1802 1803XubString Outliner::GetText( Paragraph* pParagraph, sal_uLong nCount ) const 1804{ 1805 DBG_CHKTHIS(Outliner,0); 1806 1807 XubString aText; | 1650 { 1651 if ( pEditEngine->GetStyleSheet( nPara ) == pStyle ) 1652 { 1653 ImplCheckNumBulletItem( nPara ); 1654 ImplCalcBulletText( nPara, sal_False, sal_False ); 1655 // #97333# EditEngine formats changed paragraphs before calling this method, 1656 // so they are not reformatted now and use wrong bullet indent 1657 pEditEngine->QuickMarkInvalid( ESelection( nPara, 0, nPara, 0 ) ); --- 142 unchanged lines hidden (view full) --- 1800 return aInfo; 1801} 1802 1803XubString Outliner::GetText( Paragraph* pParagraph, sal_uLong nCount ) const 1804{ 1805 DBG_CHKTHIS(Outliner,0); 1806 1807 XubString aText; |
1808 sal_uInt16 nStartPara = (sal_uInt16) pParaList->GetAbsPos( pParagraph ); 1809 for ( sal_uInt16 n = 0; n < nCount; n++ ) | 1808 sal_uInt32 nStartPara = pParaList->GetAbsPos( pParagraph ); 1809 for ( sal_uInt32 n = 0; n < nCount; n++ ) |
1810 { 1811 aText += pEditEngine->GetText( nStartPara + n ); 1812 if ( (n+1) < (sal_uInt16)nCount ) 1813 aText += '\n'; 1814 } 1815 return aText; 1816} 1817 1818void Outliner::Remove( Paragraph* pPara, sal_uLong nParaCount ) 1819{ 1820 DBG_CHKTHIS(Outliner,0); 1821 1822 sal_uLong nPos = pParaList->GetAbsPos( pPara ); 1823 if( !nPos && ( nParaCount >= pParaList->GetParagraphCount() ) ) 1824 { 1825 Clear(); 1826 } 1827 else 1828 { | 1810 { 1811 aText += pEditEngine->GetText( nStartPara + n ); 1812 if ( (n+1) < (sal_uInt16)nCount ) 1813 aText += '\n'; 1814 } 1815 return aText; 1816} 1817 1818void Outliner::Remove( Paragraph* pPara, sal_uLong nParaCount ) 1819{ 1820 DBG_CHKTHIS(Outliner,0); 1821 1822 sal_uLong nPos = pParaList->GetAbsPos( pPara ); 1823 if( !nPos && ( nParaCount >= pParaList->GetParagraphCount() ) ) 1824 { 1825 Clear(); 1826 } 1827 else 1828 { |
1829 for( sal_uInt16 n = 0; n < (sal_uInt16)nParaCount; n++ ) 1830 pEditEngine->RemoveParagraph( (sal_uInt16) nPos ); | 1829 for( sal_uInt32 n = 0; n < nParaCount; n++ ) 1830 pEditEngine->RemoveParagraph( nPos ); |
1831 } 1832} 1833 1834void Outliner::StripPortions() 1835{ 1836 DBG_CHKTHIS(Outliner,0); 1837 bStrippingPortions = sal_True; 1838 pEditEngine->StripPortions(); --- 45 unchanged lines hidden (view full) --- 1884 DBG_CHKTHIS(Outliner,0); 1885 return pEditEngine->GetParaAttribs( nPara ); 1886} 1887 1888IMPL_LINK( Outliner, ParaVisibleStateChangedHdl, Paragraph*, pPara ) 1889{ 1890 DBG_CHKTHIS(Outliner,0); 1891 | 1831 } 1832} 1833 1834void Outliner::StripPortions() 1835{ 1836 DBG_CHKTHIS(Outliner,0); 1837 bStrippingPortions = sal_True; 1838 pEditEngine->StripPortions(); --- 45 unchanged lines hidden (view full) --- 1884 DBG_CHKTHIS(Outliner,0); 1885 return pEditEngine->GetParaAttribs( nPara ); 1886} 1887 1888IMPL_LINK( Outliner, ParaVisibleStateChangedHdl, Paragraph*, pPara ) 1889{ 1890 DBG_CHKTHIS(Outliner,0); 1891 |
1892 sal_uLong nPara = pParaList->GetAbsPos( pPara ); 1893 pEditEngine->ShowParagraph( (sal_uInt16)nPara, pPara->IsVisible() ); | 1892 sal_uInt32 nPara = pParaList->GetAbsPos( pPara ); 1893 pEditEngine->ShowParagraph( nPara, pPara->IsVisible() ); |
1894 1895 return 0; 1896} 1897 1898IMPL_LINK( Outliner, BeginMovingParagraphsHdl, MoveParagraphsInfo*, EMPTYARG ) 1899{ 1900 DBG_CHKTHIS(Outliner,0); 1901 --- 19 unchanged lines hidden (view full) --- 1921 return 0; 1922} 1923 1924IMPL_LINK( Outliner, EndMovingParagraphsHdl, MoveParagraphsInfo*, pInfos ) 1925{ 1926 DBG_CHKTHIS(Outliner,0); 1927 1928 pParaList->MoveParagraphs( pInfos->nStartPara, pInfos->nDestPara, pInfos->nEndPara - pInfos->nStartPara + 1 ); | 1894 1895 return 0; 1896} 1897 1898IMPL_LINK( Outliner, BeginMovingParagraphsHdl, MoveParagraphsInfo*, EMPTYARG ) 1899{ 1900 DBG_CHKTHIS(Outliner,0); 1901 --- 19 unchanged lines hidden (view full) --- 1921 return 0; 1922} 1923 1924IMPL_LINK( Outliner, EndMovingParagraphsHdl, MoveParagraphsInfo*, pInfos ) 1925{ 1926 DBG_CHKTHIS(Outliner,0); 1927 1928 pParaList->MoveParagraphs( pInfos->nStartPara, pInfos->nDestPara, pInfos->nEndPara - pInfos->nStartPara + 1 ); |
1929 sal_uInt16 nChangesStart = Min( pInfos->nStartPara, pInfos->nDestPara ); 1930 sal_uInt16 nParas = (sal_uInt16)pParaList->GetParagraphCount(); 1931 for ( sal_uInt16 n = nChangesStart; n < nParas; n++ ) | 1929 sal_uInt32 nChangesStart = Min( pInfos->nStartPara, pInfos->nDestPara ); 1930 sal_uInt32 nParas = pParaList->GetParagraphCount(); 1931 for ( sal_uInt32 n = nChangesStart; n < nParas; n++ ) |
1932 ImplCalcBulletText( n, sal_False, sal_False ); 1933 1934 if( !IsInUndo() ) 1935 aEndMovingHdl.Call( this ); 1936 1937 return 0; 1938} 1939 --- 140 unchanged lines hidden (view full) --- 2080} 2081 2082void Outliner::SetFlatMode( sal_Bool bFlat ) 2083{ 2084 DBG_CHKTHIS(Outliner,0); 2085 2086 if( bFlat != pEditEngine->IsFlatMode() ) 2087 { | 1932 ImplCalcBulletText( n, sal_False, sal_False ); 1933 1934 if( !IsInUndo() ) 1935 aEndMovingHdl.Call( this ); 1936 1937 return 0; 1938} 1939 --- 140 unchanged lines hidden (view full) --- 2080} 2081 2082void Outliner::SetFlatMode( sal_Bool bFlat ) 2083{ 2084 DBG_CHKTHIS(Outliner,0); 2085 2086 if( bFlat != pEditEngine->IsFlatMode() ) 2087 { |
2088 for ( sal_uInt16 nPara = (sal_uInt16)pParaList->GetParagraphCount(); nPara; ) | 2088 for ( sal_uInt32 nPara = pParaList->GetParagraphCount(); nPara; ) |
2089 pParaList->GetParagraph( --nPara )->aBulSize.Width() = -1; 2090 2091 pEditEngine->SetFlatMode( bFlat ); 2092 } 2093} 2094 2095String Outliner::ImplGetBulletText( sal_uInt32 nPara ) 2096{ --- 93 unchanged lines hidden (view full) --- 2190 maEndPasteOrDropHdl = rLink; 2191} 2192 2193void Outliner::SetParaFlag( Paragraph* pPara, sal_uInt16 nFlag ) 2194{ 2195 if( pPara && !pPara->HasFlag( nFlag ) ) 2196 { 2197 if( IsUndoEnabled() && !IsInUndo() ) | 2089 pParaList->GetParagraph( --nPara )->aBulSize.Width() = -1; 2090 2091 pEditEngine->SetFlatMode( bFlat ); 2092 } 2093} 2094 2095String Outliner::ImplGetBulletText( sal_uInt32 nPara ) 2096{ --- 93 unchanged lines hidden (view full) --- 2190 maEndPasteOrDropHdl = rLink; 2191} 2192 2193void Outliner::SetParaFlag( Paragraph* pPara, sal_uInt16 nFlag ) 2194{ 2195 if( pPara && !pPara->HasFlag( nFlag ) ) 2196 { 2197 if( IsUndoEnabled() && !IsInUndo() ) |
2198 InsertUndo( new OutlinerUndoChangeParaFlags( this, (sal_uInt16)GetAbsPos( pPara ), pPara->nFlags, pPara->nFlags|nFlag ) ); | 2198 InsertUndo( new OutlinerUndoChangeParaFlags( this, GetAbsPos( pPara ), pPara->nFlags, pPara->nFlags|nFlag ) ); |
2199 2200 pPara->SetFlag( nFlag ); 2201 } 2202} 2203 2204void Outliner::RemoveParaFlag( Paragraph* pPara, sal_uInt16 nFlag ) 2205{ 2206 if( pPara && pPara->HasFlag( nFlag ) ) 2207 { 2208 if( IsUndoEnabled() && !IsInUndo() ) | 2199 2200 pPara->SetFlag( nFlag ); 2201 } 2202} 2203 2204void Outliner::RemoveParaFlag( Paragraph* pPara, sal_uInt16 nFlag ) 2205{ 2206 if( pPara && pPara->HasFlag( nFlag ) ) 2207 { 2208 if( IsUndoEnabled() && !IsInUndo() ) |
2209 InsertUndo( new OutlinerUndoChangeParaFlags( this, (sal_uInt16)GetAbsPos( pPara ), pPara->nFlags, pPara->nFlags & ~nFlag ) ); | 2209 InsertUndo( new OutlinerUndoChangeParaFlags( this, GetAbsPos( pPara ), pPara->nFlags, pPara->nFlags & ~nFlag ) ); |
2210 2211 pPara->RemoveFlag( nFlag ); 2212 } 2213} 2214 2215bool Outliner::HasParaFlag( const Paragraph* pPara, sal_uInt16 nFlag ) const 2216{ 2217 return pPara && pPara->HasFlag( nFlag ); --- 37 unchanged lines hidden --- | 2210 2211 pPara->RemoveFlag( nFlag ); 2212 } 2213} 2214 2215bool Outliner::HasParaFlag( const Paragraph* pPara, sal_uInt16 nFlag ) const 2216{ 2217 return pPara && pPara->HasFlag( nFlag ); --- 37 unchanged lines hidden --- |