summaryrefslogtreecommitdiff
path: root/svx/source/outliner
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2008-10-01 06:50:54 +0000
committerVladimir Glazounov <vg@openoffice.org>2008-10-01 06:50:54 +0000
commitdd4c6408dd88ab2975bdf3070e8c3366469c6b4c (patch)
treeab01134b622a65631b5b7460a3689626e93d5a30 /svx/source/outliner
parent5542ceebce993e2c39cf704748febe0614845fa2 (diff)
CWS-TOOLING: integrate CWS impress149
Diffstat (limited to 'svx/source/outliner')
-rw-r--r--svx/source/outliner/outliner.cxx12
-rw-r--r--svx/source/outliner/outlobj.cxx28
-rw-r--r--svx/source/outliner/paralist.cxx48
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 )