From 04ed1bd7d074a555452acdba49e31b8299492e44 Mon Sep 17 00:00:00 2001 From: Maciej Rumianowski Date: Thu, 4 Aug 2011 11:56:43 -0400 Subject: [PATCH] Get rid of SvULongs in writer Replace SvULongs with std::vector. In SwHTMLWriter simultaneously replace aOutlineMarks with boost::ptr_vector. --- sw/source/filter/html/htmlfly.cxx | 10 ++--- sw/source/filter/html/wrthtml.cxx | 22 +++++----- sw/source/filter/html/wrthtml.hxx | 7 ++-- sw/source/filter/ww8/wrtw8esh.cxx | 4 +- sw/source/filter/ww8/wrtw8sty.cxx | 84 ++++++++++++++++++--------------------- sw/source/filter/ww8/wrtww8.cxx | 24 +++++------ sw/source/filter/ww8/wrtww8.hxx | 24 +++++------ 7 files changed, 80 insertions(+), 95 deletions(-) diff --git a/sw/source/filter/html/htmlfly.cxx b/sw/source/filter/html/htmlfly.cxx index d278127ed9..da7dcd035d 100644 --- a/sw/source/filter/html/htmlfly.cxx +++ b/sw/source/filter/html/htmlfly.cxx @@ -1832,20 +1832,20 @@ void SwHTMLWriter::AddLinkTarget( const String& rURL ) SwPosition aPos( *pCurPam->GetPoint() ); if( pDoc->GotoOutline( aPos, aOutline ) ) { - sal_uLong nIdx = aPos.nNode.GetIndex(); + sal_uInt32 nIdx = aPos.nNode.GetIndex(); - sal_uInt16 nIns=0; - while( nIns < aOutlineMarkPoss.Count() && + sal_uInt32 nIns=0; + while( nIns < aOutlineMarkPoss.size() && aOutlineMarkPoss[nIns] < nIdx ) nIns++; - aOutlineMarkPoss.Insert( nIdx, nIns ); + aOutlineMarkPoss.insert( aOutlineMarkPoss.begin()+nIns, nIdx ); if( bEncoded ) { aURL.Erase( nPos, 2 ); aURL.SetChar( nPos-1, cMarkSeperator ); } - aOutlineMarks.Insert( new String( aURL ), nIns ); + aOutlineMarks.insert( aOutlineMarks.begin()+nIns, new String( aURL ) ); } } else if( sCmp.EqualsAscii( pMarkToText ) ) diff --git a/sw/source/filter/html/wrthtml.cxx b/sw/source/filter/html/wrthtml.cxx index 1d5975a6f1..7e8d13bd64 100644 --- a/sw/source/filter/html/wrthtml.cxx +++ b/sw/source/filter/html/wrthtml.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -402,11 +402,9 @@ sal_uLong SwHTMLWriter::WriteStream() if( aImplicitMarks.Count() ) aImplicitMarks.DeleteAndDestroy( sal_uInt16(0), aImplicitMarks.Count() ); - if( aOutlineMarks.Count() ) - aOutlineMarks.DeleteAndDestroy( sal_uInt16(0), aOutlineMarks.Count() ); + aOutlineMarks.clear(); - if( aOutlineMarkPoss.Count() ) - aOutlineMarkPoss.Remove( sal_uInt16(0), aOutlineMarkPoss.Count() ); + aOutlineMarkPoss.clear(); if( aNumRuleNames.Count() ) aNumRuleNames.DeleteAndDestroy( sal_uInt16(0), aNumRuleNames.Count() ); @@ -1066,18 +1064,18 @@ void SwHTMLWriter::OutBookmarks() pBookmark = (pMarkAccess->getMarksBegin() + nBkmkTabPos)->get(); } - sal_uInt16 nPos; - for( nPos = 0; nPos < aOutlineMarkPoss.Count() && + sal_uInt32 nPos; + for( nPos = 0; nPos < aOutlineMarkPoss.size() && aOutlineMarkPoss[nPos] < nNode; nPos++ ) - ; + ; - while( nPos < aOutlineMarkPoss.Count() && aOutlineMarkPoss[nPos] == nNode ) + while( nPos < aOutlineMarkPoss.size() && aOutlineMarkPoss[nPos] == nNode ) { - String sMark( *aOutlineMarks[nPos] ); + String sMark( aOutlineMarks[nPos] ); sMark.SearchAndReplaceAll( '?', '_' ); // '?' causes problems in IE/Netscape 5 OutAnchor( sMark ); - aOutlineMarkPoss.Remove( nPos, 1 ); - aOutlineMarks.DeleteAndDestroy( nPos, 1 ); + aOutlineMarkPoss.erase( aOutlineMarkPoss.begin()+nPos ); + aOutlineMarks.erase( aOutlineMarks.begin() + nPos ); } } diff --git a/sw/source/filter/html/wrthtml.hxx b/sw/source/filter/html/wrthtml.hxx index 4e040f1b1e..83f93f454c 100644 --- a/sw/source/filter/html/wrthtml.hxx +++ b/sw/source/filter/html/wrthtml.hxx @@ -28,13 +28,14 @@ #ifndef _WRTHTML_HXX #define _WRTHTML_HXX +#include +#include #include #include #include #define _SVSTDARR_STRINGSDTOR #define _SVSTDARR_STRINGSSORTDTOR -#define _SVSTDARR_ULONGS #include #include #include @@ -227,11 +228,11 @@ public: SvStringsDtor aImgMapNames; // geschriebene Image Maps SvStringsSortDtor aImplicitMarks;// implizite Stprungmarken - SvStringsDtor aOutlineMarks; // geschriebene Image Maps SvStringsSortDtor aNumRuleNames;// Names of exported num rules SvStringsSortDtor aScriptParaStyles;// script dependent para styles SvStringsSortDtor aScriptTextStyles;// script dependent text styles - SvULongs aOutlineMarkPoss; + boost::ptr_vector aOutlineMarks; + std::vector aOutlineMarkPoss; HTMLControls aHTMLControls; // die zu schreibenden ::com::sun::star::form::Forms SwHTMLFmtInfos aChrFmtInfos; SwHTMLFmtInfos aTxtCollInfos; diff --git a/sw/source/filter/ww8/wrtw8esh.cxx b/sw/source/filter/ww8/wrtw8esh.cxx index d0e85d871b..2995c851db 100644 --- a/sw/source/filter/ww8/wrtw8esh.cxx +++ b/sw/source/filter/ww8/wrtw8esh.cxx @@ -782,10 +782,10 @@ void WW8_WrPlcTxtBoxes::Append( const SdrObject& rObj, sal_uInt32 nShapeId ) { void* p = (void*)&rObj; aCntnt.Insert( p, aCntnt.Count() ); - aShapeIds.Insert( nShapeId, aShapeIds.Count() ); + aShapeIds.push_back( nShapeId ); } -const SvULongs* WW8_WrPlcTxtBoxes::GetShapeIdArr() const +const std::vector* WW8_WrPlcTxtBoxes::GetShapeIdArr() const { return &aShapeIds; } diff --git a/sw/source/filter/ww8/wrtw8sty.cxx b/sw/source/filter/ww8/wrtw8sty.cxx index d297a9c0c5..93e4c79618 100644 --- a/sw/source/filter/ww8/wrtw8sty.cxx +++ b/sw/source/filter/ww8/wrtw8sty.cxx @@ -93,14 +93,12 @@ struct WW8_SED // cbSED is 12 (decimal)), C (hex). }; -SV_IMPL_VARARR( WW8_WrSepInfoPtrs, WW8_SepInfo ) - // class WW8_WrPlc0 ist erstmal nur fuer Header / Footer-Positionen, d.h. es // gibt keine inhaltstragende Struktur. class WW8_WrPlc0 { private: - SvULongs aPos; // PTRARR von CPs / FCs + std::vector aPos; // PTRARR von CPs / FCs sal_uLong nOfs; //No copying @@ -108,7 +106,7 @@ private: WW8_WrPlc0 &operator=(const WW8_WrPlc0&); public: WW8_WrPlc0( sal_uLong nOffset ); - sal_uInt16 Count() const { return aPos.Count(); } + sal_uInt16 Count() const { return aPos.size(); } void Append( sal_uLong nStartCpOrFc ); void Write( SvStream& rStrm ); }; @@ -903,22 +901,22 @@ void wwFontHelper::WriteFontTable( const RtfAttributeOutput& rAttrOutput ) WW8_WrPlc0::WW8_WrPlc0( sal_uLong nOffset ) - : aPos( 4, 4 ), nOfs( nOffset ) + : nOfs( nOffset ) { } void WW8_WrPlc0::Append( sal_uLong nStartCpOrFc ) { - aPos.Insert( nStartCpOrFc - nOfs, aPos.Count() ); + aPos.push_back( nStartCpOrFc - nOfs ); } void WW8_WrPlc0::Write( SvStream& rStrm ) { - sal_uInt16 nLen = aPos.Count(); - for( sal_uInt16 i = 0; i < nLen; ++i ) + std::vector::const_iterator iter; + for( iter = aPos.begin(); iter != aPos.end(); ++iter ) { SVBT32 nP; - UInt32ToSVBT32( aPos[i], nP ); + UInt32ToSVBT32( *iter, nP ); rStrm.Write( nP, 4 ); } } @@ -931,8 +929,7 @@ void WW8_WrPlc0::Write( SvStream& rStrm ) //------------------------------------------------------------------------------ MSWordSections::MSWordSections( MSWordExportBase& rExport ) - : mbDocumentIsProtected( false ), - aSects( 4, 4 ) + : mbDocumentIsProtected( false ) { const SwSectionFmt *pFmt = 0; rExport.pAktPageDesc = &const_cast(rExport.pDoc)->GetPageDesc( 0 ); @@ -981,14 +978,13 @@ MSWordSections::MSWordSections( MSWordExportBase& rExport ) WW8_WrPlcSepx::WW8_WrPlcSepx( MSWordExportBase& rExport ) : MSWordSections( rExport ), - aCps( 4, 4 ), pAttrs( 0 ), pTxtPos( 0 ), bNoMoreSections( false ) { // to be in sync with the AppendSection() call in the MSWordSections // constructor - aCps.Insert( sal_uLong( 0 ), aCps.Count() ); + aCps.push_back( 0 ); } MSWordSections::~MSWordSections() @@ -997,7 +993,7 @@ MSWordSections::~MSWordSections() WW8_WrPlcSepx::~WW8_WrPlcSepx() { - sal_uInt16 nLen = aSects.Count(); + sal_uInt16 nLen = aSects.size(); if( pAttrs ) { while( nLen ) @@ -1009,11 +1005,11 @@ WW8_WrPlcSepx::~WW8_WrPlcSepx() sal_uInt16 MSWordSections::CurrentNumberOfColumns( const SwDoc &rDoc ) const { - OSL_ENSURE( aSects.Count(), "no segement inserted yet" ); - if ( !aSects.Count() ) + OSL_ENSURE( !aSects.empty(), "no segement inserted yet" ); + if ( aSects.empty() ) return 1; - return NumberOfColumns( rDoc, aSects[aSects.Count() - 1] ); + return NumberOfColumns( rDoc, aSects.back() ); } sal_uInt16 MSWordSections::NumberOfColumns( const SwDoc &rDoc, const WW8_SepInfo& rInfo ) const @@ -1043,8 +1039,8 @@ sal_uInt16 MSWordSections::NumberOfColumns( const SwDoc &rDoc, const WW8_SepInfo const WW8_SepInfo* MSWordSections::CurrentSectionInfo() { - if ( aSects.Count() > 0 ) - return &aSects[aSects.Count() - 1]; + if ( !aSects.empty() ) + return &aSects.back(); return NULL; } @@ -1052,9 +1048,8 @@ const WW8_SepInfo* MSWordSections::CurrentSectionInfo() void MSWordSections::AppendSection( const SwPageDesc* pPd, const SwSectionFmt* pSectionFmt, sal_uLong nLnNumRestartNo ) { - aSects.Insert( WW8_SepInfo( pPd, pSectionFmt, nLnNumRestartNo ), - aSects.Count() ); - NeedsDocumentProtected( aSects[aSects.Count()-1] ); + aSects.push_back( WW8_SepInfo( pPd, pSectionFmt, nLnNumRestartNo ) ); + NeedsDocumentProtected( aSects.back() ); } void WW8_WrPlcSepx::AppendSep( WW8_CP nStartCp, const SwPageDesc* pPd, @@ -1062,7 +1057,7 @@ void WW8_WrPlcSepx::AppendSep( WW8_CP nStartCp, const SwPageDesc* pPd, { if ( !bNoMoreSections ) { - aCps.Insert( nStartCp, aCps.Count() ); + aCps.push_back( nStartCp ); AppendSection( pPd, pSectionFmt, nLnNumRestartNo ); } @@ -1073,7 +1068,7 @@ void MSWordSections::AppendSection( const SwFmtPageDesc& rPD, { WW8_SepInfo aI( rPD.GetPageDesc(), pSectionFmt, nLnNumRestartNo, rPD.GetNumOffset(), &rNd ); - aSects.Insert( aI, aSects.Count() ); + aSects.push_back( aI ); NeedsDocumentProtected( aI ); } @@ -1082,7 +1077,7 @@ void WW8_WrPlcSepx::AppendSep( WW8_CP nStartCp, const SwFmtPageDesc& rPD, { if ( !bNoMoreSections ) { - aCps.Insert(nStartCp, aCps.Count()); + aCps.push_back( nStartCp ); AppendSection( rPD, rNd, pSectionFmt, nLnNumRestartNo ); } @@ -1094,7 +1089,7 @@ void WW8_WrPlcSepx::AppendSep( WW8_CP nStartCp, const SwFmtPageDesc& rPD, void MSWordSections::SetNum( const SwTxtNode* pNumNd ) { - WW8_SepInfo& rInfo = aSects[ aSects.Count() - 1 ]; + WW8_SepInfo& rInfo = aSects.back(); if ( !rInfo.pNumNd ) // noch nicht belegt rInfo.pNumNd = pNumNd; } @@ -1234,9 +1229,10 @@ void MSWordSections::CheckForFacinPg( WW8Export& rWrt ) const // 2 Werte werden gesetzt // Dop.fFacingPages == Kopf-/Fusszeilen unterschiedlich // Dop.fSwapBordersFacingPgs == gespiegelte Raender - for( sal_uInt16 i = 0, nEnde = 0; i < aSects.Count(); ++i ) + std::vector::const_iterator iter = aSects.begin(); + for( sal_uInt16 nEnde = 0; iter != aSects.end(); ++iter ) { - WW8_SepInfo& rSepInfo = aSects[i]; + const WW8_SepInfo& rSepInfo = *iter; if( !rSepInfo.pSectionFmt ) { const SwPageDesc* pPd = rSepInfo.pPageDesc; @@ -1764,7 +1760,7 @@ void MSWordExportBase::SectionProperties( const WW8_SepInfo& rSepInfo, WW8_PdAtt bool WW8_WrPlcSepx::WriteKFTxt( WW8Export& rWrt ) { - pAttrs = new WW8_PdAttrDesc[ aSects.Count() ]; + pAttrs = new WW8_PdAttrDesc[ aSects.size() ]; sal_uLong nCpStart = rWrt.Fc2Cp( rWrt.Strm().Tell() ); OSL_ENSURE( !pTxtPos, "wer hat den Pointer gesetzt?" ); @@ -1775,7 +1771,7 @@ bool WW8_WrPlcSepx::WriteKFTxt( WW8Export& rWrt ) unsigned int nOldIndex = rWrt.GetHdFtIndex(); rWrt.SetHdFtIndex( 0 ); - for ( sal_uInt16 i = 0; i < aSects.Count(); ++i ) + for ( sal_uInt16 i = 0; i < aSects.size(); ++i ) { WW8_PdAttrDesc* pA = pAttrs + i; pA->pData = 0; @@ -1814,7 +1810,7 @@ bool WW8_WrPlcSepx::WriteKFTxt( WW8Export& rWrt ) void WW8_WrPlcSepx::WriteSepx( SvStream& rStrm ) const { sal_uInt16 i; - for( i = 0; i < aSects.Count(); i++ ) // ueber alle Sections + for( i = 0; i < aSects.size(); i++ ) { WW8_PdAttrDesc* pA = pAttrs + i; if( pA->nLen && pA->pData != NULL) @@ -1830,12 +1826,11 @@ void WW8_WrPlcSepx::WriteSepx( SvStream& rStrm ) const void WW8_WrPlcSepx::WritePlcSed( WW8Export& rWrt ) const { - OSL_ENSURE( aCps.Count() == aSects.Count() + 1, "WrPlcSepx: DeSync" ); + OSL_ENSURE( aCps.size() == aSects.size() + 1, "WrPlcSepx: DeSync" ); sal_uLong nFcStart = rWrt.pTableStrm->Tell(); sal_uInt16 i; - // ( ueber alle Sections ) - for( i = 0; i <= aSects.Count(); i++ ) + for( i = 0; i <= aSects.size(); i++ ) { sal_uInt32 nP = aCps[i]; SVBT32 nPos; @@ -1845,8 +1840,7 @@ void WW8_WrPlcSepx::WritePlcSed( WW8Export& rWrt ) const static WW8_SED aSed = {{4, 0},{0, 0, 0, 0},{0, 0},{0xff, 0xff, 0xff, 0xff}}; - // ( ueber alle Sections ) - for( i = 0; i < aSects.Count(); i++ ) + for( i = 0; i < aSects.size(); i++ ) { WW8_PdAttrDesc* pA = pAttrs + i; UInt32ToSVBT32( pA->nSepxFcPos, aSed.fcSepx ); // Sepx-Pos @@ -1921,7 +1915,7 @@ void MSWordExportBase::WriteHeaderFooterText( const SwFmt& rFmt, bool bHeader ) // WW8_WrPlcFtnEdn ist die Klasse fuer Fuss- und Endnoten //------------------------------------------------------------------------------ WW8_WrPlcSubDoc::WW8_WrPlcSubDoc() - : aCps( 0, 16 ), aCntnt( 0, 16 ), pTxtPos( 0 ) + : aCntnt( 0, 16 ), pTxtPos( 0 ) { } @@ -1932,7 +1926,7 @@ WW8_WrPlcSubDoc::~WW8_WrPlcSubDoc() void WW8_WrPlcFtnEdn::Append( WW8_CP nCp, const SwFmtFtn& rFtn ) { - aCps.Insert( nCp, aCps.Count() ); + aCps.push_back( nCp ); void* p = (void*)&rFtn; aCntnt.Insert( p, aCntnt.Count() ); } @@ -1955,7 +1949,7 @@ WW8_Annotation::WW8_Annotation(const SwRedlineData* pRedline) : mpRichText(0) void WW8_WrPlcAnnotations::Append( WW8_CP nCp, const SwPostItField *pPostIt ) { - aCps.Insert( nCp, aCps.Count() ); + aCps.push_back( nCp ); WW8_Annotation* p = new WW8_Annotation(pPostIt); aCntnt.Insert( p, aCntnt.Count() ); } @@ -1963,7 +1957,7 @@ void WW8_WrPlcAnnotations::Append( WW8_CP nCp, const SwPostItField *pPostIt ) void WW8_WrPlcAnnotations::Append( WW8_CP nCp, const SwRedlineData *pRedline ) { maProcessedRedlines.insert(pRedline); - aCps.Insert( nCp, aCps.Count() ); + aCps.push_back( nCp ); WW8_Annotation* p = new WW8_Annotation(pRedline); aCntnt.Insert( p, aCntnt.Count() ); } @@ -2017,7 +2011,7 @@ bool WW8_WrPlcSubDoc::WriteGenericTxt( WW8Export& rWrt, sal_uInt8 nTTyp, { // textbox - content WW8_CP nCP = rWrt.Fc2Cp( rWrt.Strm().Tell() ); - aCps.Insert( nCP, i ); + aCps.insert( aCps.begin()+i, nCP ); pTxtPos->Append( nCP ); // is it an writer or sdr - textbox? @@ -2111,11 +2105,11 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp, typedef ::std::vector::iterator myiter; sal_uLong nFcStart = rWrt.pTableStrm->Tell(); - sal_uInt16 nLen = aCps.Count(); + sal_uInt16 nLen = aCps.size(); if ( !nLen ) return; - OSL_ENSURE( aCps.Count() + 2 == pTxtPos->Count(), "WritePlc: DeSync" ); + OSL_ENSURE( aCps.size() + 2 == pTxtPos->Count(), "WritePlc: DeSync" ); ::std::vector aStrArr; WW8Fib& rFib = *rWrt.pFib; // n+1-te CP-Pos nach Handbuch @@ -2191,7 +2185,7 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp, case TXT_HFTXTBOX: { pTxtPos->Write( *rWrt.pTableStrm ); - const SvULongs* pShapeIds = GetShapeIdArr(); + const std::vector* pShapeIds = GetShapeIdArr(); OSL_ENSURE( pShapeIds, "wo sind die ShapeIds?" ); for ( i = 0; i < nLen; ++i ) @@ -2330,7 +2324,7 @@ void WW8_WrPlcSubDoc::WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp, rTxtCount = rWrt.pTableStrm->Tell() - nFcStart; } -const SvULongs* WW8_WrPlcSubDoc::GetShapeIdArr() const +const std::vector* WW8_WrPlcSubDoc::GetShapeIdArr() const { return 0; } diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx index cf07bc8217..ae98d30d33 100644 --- a/sw/source/filter/ww8/wrtww8.cxx +++ b/sw/source/filter/ww8/wrtww8.cxx @@ -42,8 +42,6 @@ #include #include -#include - #include #include #include @@ -602,7 +600,7 @@ const SfxPoolItem& MSWordExportBase::GetItem(sal_uInt16 nWhich) const //------------------------------------------------------------------------------ WW8_WrPlc1::WW8_WrPlc1( sal_uInt16 nStructSz ) - : aPos( 16, 16 ), nStructSiz( nStructSz ) + : nStructSiz( nStructSz ) { nDataLen = 16 * nStructSz; pData = new sal_uInt8[ nDataLen ]; @@ -615,15 +613,15 @@ WW8_WrPlc1::~WW8_WrPlc1() WW8_CP WW8_WrPlc1::Prev() const { - sal_uInt16 nLen = aPos.Count(); - OSL_ENSURE(nLen,"Prev called on empty list"); - return nLen ? aPos[nLen-1] : 0; + bool b = !aPos.empty(); + OSL_ENSURE(b,"Prev called on empty list"); + return b ? aPos.back() : 0; } void WW8_WrPlc1::Append( WW8_CP nCp, const void* pNewData ) { - sal_uLong nInsPos = aPos.Count() * nStructSiz; - aPos.Insert( nCp, aPos.Count() ); + sal_uLong nInsPos = aPos.size() * nStructSiz; + aPos.push_back( nCp ); if( nDataLen < nInsPos + nStructSiz ) { sal_uInt8* pNew = new sal_uInt8[ 2 * nDataLen ]; @@ -637,11 +635,11 @@ void WW8_WrPlc1::Append( WW8_CP nCp, const void* pNewData ) void WW8_WrPlc1::Finish( sal_uLong nLastCp, sal_uLong nSttCp ) { - if( aPos.Count() ) + if( !aPos.empty() ) { - aPos.Insert( nLastCp, aPos.Count() ); + aPos.push_back( nLastCp ); if( nSttCp ) - for( sal_uInt16 n = 0; n < aPos.Count(); ++n ) + for( sal_uInt32 n = 0; n < aPos.size(); ++n ) aPos[ n ] -= nSttCp; } } @@ -649,8 +647,8 @@ void WW8_WrPlc1::Finish( sal_uLong nLastCp, sal_uLong nSttCp ) void WW8_WrPlc1::Write( SvStream& rStrm ) { - sal_uInt16 i; - for( i = 0; i < aPos.Count(); ++i ) + sal_uInt32 i; + for( i = 0; i < aPos.size(); ++i ) SwWW8Writer::WriteLong( rStrm, aPos[i] ); if( i ) rStrm.Write( pData, (i-1) * nStructSiz ); diff --git a/sw/source/filter/ww8/wrtww8.hxx b/sw/source/filter/ww8/wrtww8.hxx index c3cbd0915c..2d606c91a0 100644 --- a/sw/source/filter/ww8/wrtww8.hxx +++ b/sw/source/filter/ww8/wrtww8.hxx @@ -31,10 +31,6 @@ #include // UINTXX #include -#ifndef _SVSTDARR_HXX -#define _SVSTDARR_ULONGS -#include -#endif #include #include @@ -179,15 +175,13 @@ struct WW8_SepInfo bool IsProtected() const; }; -SV_DECL_VARARR( WW8_WrSepInfoPtrs, WW8_SepInfo, 4, 4 ) - /// Class to collect and output the sections/headers/footers. // Plc fuer PageDescs -> Sepx ( Section Extensions ) class MSWordSections { protected: bool mbDocumentIsProtected; - WW8_WrSepInfoPtrs aSects; // PTRARR von SwPageDesc und SwSectionFmt + std::vector aSects; void CheckForFacinPg( WW8Export& rWrt ) const; void WriteOlst( WW8Export& rWrt, const WW8_SepInfo& rSectionInfo ); @@ -231,7 +225,7 @@ public: class WW8_WrPlcSepx : public MSWordSections { - SvULongs aCps; // PTRARR von CPs + std::vector aCps; WW8_PdAttrDesc* pAttrs; WW8_WrPlc0* pTxtPos; // Pos der einzelnen Header / Footer bool bNoMoreSections; @@ -252,7 +246,7 @@ public: const SwNode& rNd, const SwSectionFmt* pSectionFmt, sal_uLong nLnNumRestartNo ); - void Finish( WW8_CP nEndCp ) { aCps.Insert( nEndCp, aCps.Count() ); } + void Finish( WW8_CP nEndCp ) { aCps.push_back( nEndCp ); } bool WriteKFTxt( WW8Export& rWrt ); void WriteSepx( SvStream& rStrm ) const; @@ -1157,7 +1151,7 @@ private: WW8_WrPlcSubDoc(const WW8_WrPlcSubDoc&); WW8_WrPlcSubDoc& operator=(const WW8_WrPlcSubDoc&); protected: - SvULongs aCps; // PTRARR CP-Pos der Verweise + std::vector aCps; SvPtrarr aCntnt; // PTRARR von SwFmtFtn/PostIts/.. WW8_WrPlc0* pTxtPos; // Pos der einzelnen Texte @@ -1168,7 +1162,7 @@ protected: void WriteGenericPlc( WW8Export& rWrt, sal_uInt8 nTTyp, WW8_FC& rTxtStt, sal_Int32& rTxtCnt, WW8_FC& rRefStt, sal_Int32& rRefCnt ) const; - virtual const SvULongs* GetShapeIdArr() const; + virtual const std::vector* GetShapeIdArr() const; }; // Doppel-Plc fuer Footnotes/Endnotes @@ -1221,8 +1215,8 @@ class WW8_WrPlcTxtBoxes : public WW8_WrPlcSubDoc // Doppel-Plc fuer Textboxen { // Rahmen/DrawTextboxes! private: sal_uInt8 nTyp; - SvULongs aShapeIds; // VARARR of ShapeIds for the SwFrmFmts - virtual const SvULongs* GetShapeIdArr() const; + std::vector aShapeIds; // VARARR of ShapeIds for the SwFrmFmts + virtual const std::vector* GetShapeIdArr() const; //No copying WW8_WrPlcTxtBoxes(const WW8_WrPlcTxtBoxes&); @@ -1266,7 +1260,7 @@ public: class WW8_WrPlc1 { private: - SvULongs aPos; // PTRARR von CPs + std::vector aPos; sal_uInt8* pData; // Inhalte ( Strukturen ) sal_uLong nDataLen; sal_uInt16 nStructSiz; @@ -1275,7 +1269,7 @@ private: WW8_WrPlc1(const WW8_WrPlc1&); WW8_WrPlc1& operator=(const WW8_WrPlc1&); protected: - sal_uInt16 Count() const { return aPos.Count(); } + sal_uInt16 Count() const { return aPos.size(); } void Write( SvStream& rStrm ); WW8_CP Prev() const; public: -- cgit v1.2.3