summaryrefslogtreecommitdiff
path: root/editeng/source/rtf/svxrtf.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'editeng/source/rtf/svxrtf.cxx')
-rw-r--r--editeng/source/rtf/svxrtf.cxx50
1 files changed, 27 insertions, 23 deletions
diff --git a/editeng/source/rtf/svxrtf.cxx b/editeng/source/rtf/svxrtf.cxx
index 61ae8e256c67..14b17807a0ea 100644
--- a/editeng/source/rtf/svxrtf.cxx
+++ b/editeng/source/rtf/svxrtf.cxx
@@ -55,7 +55,6 @@
using namespace ::com::sun::star;
-SV_IMPL_PTRARR( SvxRTFColorTbl, ColorPtr )
SV_IMPL_PTRARR( SvxRTFItemStackList, SvxRTFItemStackType* )
CharSet lcl_GetDefaultTextEncodingForRTF()
@@ -83,7 +82,6 @@ SvxRTFParser::SvxRTFParser( SfxItemPool& rPool, SvStream& rIn,
int bReadNewDoc )
: SvRTFParser( rIn, 5 ),
rStrm(rIn),
- aColorTbl( 16, 4 ),
aFontTbl( 16, 4 ),
pInsPos( 0 ),
pAttrPool( &rPool ),
@@ -124,13 +122,13 @@ void SvxRTFParser::ResetPard()
SvxRTFParser::~SvxRTFParser()
{
- if( aColorTbl.Count() )
+ if( !aColorTbl.empty() )
ClearColorTbl();
if( aFontTbl.Count() )
ClearFontTbl();
if( aStyleTbl.Count() )
ClearStyleTbl();
- if( aAttrStack.Count() )
+ if( !aAttrStack.empty() )
ClearAttrStack();
delete pRTFDefaults;
@@ -149,18 +147,18 @@ void SvxRTFParser::SetInsPos( const SvxPosition& rNew )
SvParserState SvxRTFParser::CallParser()
{
- DBG_ASSERT( pInsPos, "keine Einfuegeposition" );
+ DBG_ASSERT( pInsPos, "no insertion" );
if( !pInsPos )
return SVPAR_ERROR;
- if( aColorTbl.Count() )
+ if( !aColorTbl.empty() )
ClearColorTbl();
if( aFontTbl.Count() )
ClearFontTbl();
if( aStyleTbl.Count() )
ClearStyleTbl();
- if( aAttrStack.Count() )
+ if( !aAttrStack.empty() )
ClearAttrStack();
bIsSetDfltTab = FALSE;
@@ -488,10 +486,10 @@ void SvxRTFParser::ReadColorTable()
// eine Farbe ist Fertig, in die Tabelle eintragen
// versuche die Werte auf SV interne Namen zu mappen
ColorPtr pColor = new Color( nRed, nGreen, nBlue );
- if( !aColorTbl.Count() &&
+ if( aColorTbl.empty() &&
BYTE(-1) == nRed && BYTE(-1) == nGreen && BYTE(-1) == nBlue )
pColor->SetColor( COL_AUTO );
- aColorTbl.Insert( pColor, aColorTbl.Count() );
+ aColorTbl.push_back( pColor );
nRed = 0, nGreen = 0, nBlue = 0;
// Color konnte vollstaendig gelesen werden,
@@ -818,7 +816,11 @@ void SvxRTFParser::ReadInfo( const sal_Char* pChkForVerNo )
void SvxRTFParser::ClearColorTbl()
{
- aColorTbl.DeleteAndDestroy( 0, aColorTbl.Count() );
+ while ( !aColorTbl.empty() )
+ {
+ delete aColorTbl.back();
+ aColorTbl.pop_back();
+ }
}
void SvxRTFParser::ClearFontTbl()
@@ -836,9 +838,10 @@ void SvxRTFParser::ClearStyleTbl()
void SvxRTFParser::ClearAttrStack()
{
SvxRTFItemStackType* pTmp;
- for( ULONG nCnt = aAttrStack.Count(); nCnt; --nCnt )
+ for( size_t nCnt = aAttrStack.size(); nCnt; --nCnt )
{
- pTmp = aAttrStack.Pop();
+ pTmp = aAttrStack.back();
+ aAttrStack.pop_back();
delete pTmp;
}
}
@@ -872,7 +875,7 @@ const Font& SvxRTFParser::GetFont( USHORT nId )
SvxRTFItemStackType* SvxRTFParser::_GetAttrSet( int bCopyAttr )
{
- SvxRTFItemStackType* pAkt = aAttrStack.Top();
+ SvxRTFItemStackType* pAkt = aAttrStack.back();
SvxRTFItemStackType* pNew;
if( pAkt )
pNew = new SvxRTFItemStackType( *pAkt, *pInsPos, bCopyAttr );
@@ -881,7 +884,7 @@ SvxRTFItemStackType* SvxRTFParser::_GetAttrSet( int bCopyAttr )
*pInsPos );
pNew->SetRTFDefaults( GetRTFDefaults() );
- aAttrStack.Push( pNew );
+ aAttrStack.push_back( pNew );
bNewGroup = FALSE;
return pNew;
}
@@ -936,10 +939,11 @@ void SvxRTFParser::_ClearStyleAttr( SvxRTFItemStackType& rStkType )
void SvxRTFParser::AttrGroupEnd() // den akt. Bearbeiten, vom Stack loeschen
{
- if( aAttrStack.Count() )
+ if( !aAttrStack.empty() )
{
- SvxRTFItemStackType *pOld = aAttrStack.Pop();
- SvxRTFItemStackType *pAkt = aAttrStack.Top();
+ SvxRTFItemStackType *pOld = aAttrStack.back();
+ aAttrStack.pop_back();
+ SvxRTFItemStackType *pAkt = aAttrStack.back();
do { // middle check loop
ULONG nOldSttNdIdx = pOld->pSttNd->GetIdx();
@@ -1114,9 +1118,9 @@ void SvxRTFParser::AttrGroupEnd() // den akt. Bearbeiten, vom Stack loeschen
// alle bis hierher gueltigen Attribute "setzen"
AttrGroupEnd();
- pAkt = aAttrStack.Top(); // can be changed after AttrGroupEnd!
+ pAkt = aAttrStack.back(); // can be changed after AttrGroupEnd!
pNew->aAttrSet.SetParent( pAkt ? &pAkt->aAttrSet : 0 );
- aAttrStack.Push( pNew );
+ aAttrStack.push_back( pNew );
pAkt = pNew;
}
}
@@ -1144,8 +1148,8 @@ void SvxRTFParser::AttrGroupEnd() // den akt. Bearbeiten, vom Stack loeschen
void SvxRTFParser::SetAllAttrOfStk() // end all Attr. and set it into doc
{
- // noch alle Attrbute vom Stack holen !!
- while( aAttrStack.Count() )
+ // repeat until all attributes will be taken from stack
+ while( !aAttrStack.empty() )
AttrGroupEnd();
for( USHORT n = aAttrSetList.Count(); n; )
@@ -1174,10 +1178,10 @@ void SvxRTFParser::SetAttrSet( SvxRTFItemStackType &rSet )
SetAttrSet( *(*rSet.pChildList)[ n ] );
}
- // wurde noch kein Text eingefuegt ? (SttPos vom obersten StackEintrag!)
+ // Is text wasn't inserted? (Get SttPos from the top of stack!)
int SvxRTFParser::IsAttrSttPos()
{
- SvxRTFItemStackType* pAkt = aAttrStack.Top();
+ SvxRTFItemStackType* pAkt = aAttrStack.back();
return !pAkt || (pAkt->pSttNd->GetIdx() == pInsPos->GetNodeIdx() &&
pAkt->nSttCnt == pInsPos->GetCntIdx());
}