diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2008-10-01 06:50:54 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2008-10-01 06:50:54 +0000 |
commit | dd4c6408dd88ab2975bdf3070e8c3366469c6b4c (patch) | |
tree | ab01134b622a65631b5b7460a3689626e93d5a30 /svx/source/outliner | |
parent | 5542ceebce993e2c39cf704748febe0614845fa2 (diff) |
CWS-TOOLING: integrate CWS impress149
Diffstat (limited to 'svx/source/outliner')
-rw-r--r-- | svx/source/outliner/outliner.cxx | 12 | ||||
-rw-r--r-- | svx/source/outliner/outlobj.cxx | 28 | ||||
-rw-r--r-- | svx/source/outliner/paralist.cxx | 48 |
3 files changed, 66 insertions, 22 deletions
diff --git a/svx/source/outliner/outliner.cxx b/svx/source/outliner/outliner.cxx index 70096e2bb40f..b755708def59 100644 --- a/svx/source/outliner/outliner.cxx +++ b/svx/source/outliner/outliner.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: outliner.cxx,v $ - * $Revision: 1.76 $ + * $Revision: 1.74.6.2 $ * * This file is part of OpenOffice.org. * @@ -385,7 +385,7 @@ OutlinerParaObject* Outliner::CreateParaObject( USHORT nStartPara, USHORT nCount USHORT nLastPara = nStartPara + nCount - 1; for ( USHORT nPara = nStartPara; nPara <= nLastPara; nPara++ ) - pPObj->pDepthArr[ nPara-nStartPara] = GetDepth( nPara ); + pPObj->pParagraphDataArr[ nPara-nStartPara] = *GetParagraph( nPara ); return pPObj; } @@ -584,9 +584,9 @@ void Outliner::SetText( const OutlinerParaObject& rPObj ) pParaList->Clear( TRUE ); for( USHORT nCurPara = 0; nCurPara < rPObj.nCount; nCurPara++ ) { - sal_Int16 nDepth = rPObj.pDepthArr[ nCurPara ]; - ImplCheckDepth( nDepth ); - Paragraph* pPara = new Paragraph( nDepth ); + Paragraph* pPara = new Paragraph( rPObj.pParagraphDataArr[ nCurPara ] ); + ImplCheckDepth( pPara->nDepth ); + pParaList->Insert( pPara, LIST_APPEND ); ImplCheckNumBulletItem( nCurPara ); } @@ -626,7 +626,7 @@ void Outliner::AddText( const OutlinerParaObject& rPObj ) for( USHORT n = 0; n < rPObj.nCount; n++ ) { - pPara = new Paragraph( rPObj.pDepthArr[ n ] ); + pPara = new Paragraph( rPObj.pParagraphDataArr[ n ] ); pParaList->Insert( pPara, LIST_APPEND ); USHORT nP = sal::static_int_cast< USHORT >(nPara+n); DBG_ASSERT(pParaList->GetAbsPos(pPara)==nP,"AddText:Out of sync") diff --git a/svx/source/outliner/outlobj.cxx b/svx/source/outliner/outlobj.cxx index 36c2518b0acd..fa5989af2c46 100644 --- a/svx/source/outliner/outlobj.cxx +++ b/svx/source/outliner/outlobj.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: outlobj.cxx,v $ - * $Revision: 1.12 $ + * $Revision: 1.12.78.1 $ * * This file is part of OpenOffice.org. * @@ -52,7 +52,7 @@ OutlinerParaObject::OutlinerParaObject( USHORT nParaCount ) DBG_CTOR(OutlinerParaObject,0); bIsEditDoc = TRUE; - pDepthArr = new sal_Int16[ nParaCount ]; + pParagraphDataArr = new ParagraphData[ nParaCount ]; nCount = nParaCount; } @@ -62,8 +62,9 @@ OutlinerParaObject::OutlinerParaObject( const OutlinerParaObject& rObj ) bIsEditDoc = rObj.bIsEditDoc; nCount = rObj.nCount; - pDepthArr = new sal_Int16[ nCount ]; - memcpy( pDepthArr, rObj.pDepthArr, (size_t)(sizeof(sal_Int16)*nCount) ); + pParagraphDataArr = new ParagraphData[ nCount ]; + for( sal_uInt32 i = 0; i < nCount; i++ ) + pParagraphDataArr[i] = rObj.pParagraphDataArr[i]; pText = rObj.pText->Clone(); } @@ -74,8 +75,7 @@ OutlinerParaObject::OutlinerParaObject( const EditTextObject& rEditObj ) bIsEditDoc = TRUE; pText = rEditObj.Clone(); nCount = pText->GetParagraphCount(); - pDepthArr = new sal_Int16[ nCount ]; - memset( pDepthArr, 0, nCount*sizeof(sal_Int16) ); + pParagraphDataArr = new ParagraphData[ nCount ]; } OutlinerParaObject::~OutlinerParaObject() @@ -83,7 +83,15 @@ OutlinerParaObject::~OutlinerParaObject() DBG_DTOR(OutlinerParaObject,0); delete pText; - delete[] pDepthArr; + delete[] pParagraphDataArr; +} + +sal_Int16 OutlinerParaObject::GetDepth( USHORT nPara ) const +{ + if( pParagraphDataArr && (nPara < nCount ) ) + return pParagraphDataArr[nPara].nDepth; + else + return -1; } void OutlinerParaObject::ClearPortionInfo() @@ -127,7 +135,7 @@ void OutlinerParaObject::Store(SvStream& rStream ) const pText->Store( rStream ); for( USHORT nPos=0; nPos < nCount; nPos++ ) - rStream << pDepthArr[ nPos ]; + rStream << pParagraphDataArr[ nPos ].nDepth; rStream << bIsEditDoc; } @@ -200,7 +208,7 @@ OutlinerParaObject* OutlinerParaObject::Create( SvStream& rStream, SfxItemPool* pAllText->Insert( *pText, 0xffff ); delete pText; } - pPObj->pDepthArr[ nCurPara ] = pPara->GetDepth(); + pPObj->pParagraphDataArr[ nCurPara ] = *pPara; delete pPara; nCount--; nCurPara++; @@ -219,7 +227,7 @@ OutlinerParaObject* OutlinerParaObject::Create( SvStream& rStream, SfxItemPool* { pPObj->pText = EditTextObject::Create( rStream, pTextObjectPool ); for( USHORT nCur=0; nCur < nCount; nCur++ ) - rStream >> pPObj->pDepthArr[ nCur ]; + rStream >> pPObj->pParagraphDataArr[ nCur ].nDepth; rStream >> pPObj->bIsEditDoc; } } diff --git a/svx/source/outliner/paralist.cxx b/svx/source/outliner/paralist.cxx index 067c398d01d8..0efd519ac76a 100644 --- a/svx/source/outliner/paralist.cxx +++ b/svx/source/outliner/paralist.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: paralist.cxx,v $ - * $Revision: 1.11 $ + * $Revision: 1.11.6.3 $ * * This file is part of OpenOffice.org. * @@ -37,11 +37,31 @@ DBG_NAME(Paragraph) -Paragraph::Paragraph( sal_Int16 nDDepth ) -: aBulSize( -1, -1) +ParagraphData::ParagraphData() +: nDepth( -1 ) , mnNumberingStartValue( -1 ) , mbParaIsNumberingRestart( sal_False ) { +} + +ParagraphData::ParagraphData( const ParagraphData& r ) +: nDepth( r.nDepth ) +, mnNumberingStartValue( r.mnNumberingStartValue ) +, mbParaIsNumberingRestart( r.mbParaIsNumberingRestart ) +{ +} + +ParagraphData& ParagraphData::operator=( const ParagraphData& r) +{ + nDepth = r.nDepth; + mnNumberingStartValue = r.mnNumberingStartValue; + mbParaIsNumberingRestart = r.mbParaIsNumberingRestart; + return *this; +} + +Paragraph::Paragraph( sal_Int16 nDDepth ) +: aBulSize( -1, -1) +{ DBG_CTOR( Paragraph, 0 ); DBG_ASSERT( ( nDDepth >= -1 ) && ( nDDepth < SVX_MAX_NUM ), "Paragraph-CTOR: nDepth invalid!" ); @@ -52,10 +72,9 @@ Paragraph::Paragraph( sal_Int16 nDDepth ) } Paragraph::Paragraph( const Paragraph& rPara ) -: aBulText( rPara.aBulText ) +: ParagraphData( rPara ) +, aBulText( rPara.aBulText ) , aBulSize( rPara.aBulSize ) -, mnNumberingStartValue( -1 ) -, mbParaIsNumberingRestart( sal_False ) { DBG_CTOR( Paragraph, 0 ); @@ -64,6 +83,18 @@ Paragraph::Paragraph( const Paragraph& rPara ) bVisible = rPara.bVisible; } +Paragraph::Paragraph( const ParagraphData& rData ) +: nFlags( 0 ) +, aBulSize( -1, -1) +, bVisible( TRUE ) +{ + DBG_CTOR( Paragraph, 0 ); + + nDepth = rData.nDepth; + mnNumberingStartValue = rData.mnNumberingStartValue; + mbParaIsNumberingRestart = rData.mbParaIsNumberingRestart; +} + Paragraph::~Paragraph() { DBG_DTOR( Paragraph, 0 ); @@ -72,12 +103,17 @@ Paragraph::~Paragraph() void Paragraph::SetNumberingStartValue( sal_Int16 nNumberingStartValue ) { mnNumberingStartValue = nNumberingStartValue; + if( mnNumberingStartValue != -1 ) + mbParaIsNumberingRestart = true; } void Paragraph::SetParaIsNumberingRestart( sal_Bool bParaIsNumberingRestart ) { mbParaIsNumberingRestart = bParaIsNumberingRestart; + if( !mbParaIsNumberingRestart ) + mnNumberingStartValue = -1; } + void ParagraphList::Clear( BOOL bDestroyParagraphs ) { if ( bDestroyParagraphs ) |