diff options
-rw-r--r-- | sw/inc/extinput.hxx | 9 | ||||
-rw-r--r-- | sw/source/core/doc/extinput.cxx | 8 | ||||
-rw-r--r-- | sw/source/core/text/redlnitr.cxx | 9 | ||||
-rw-r--r-- | sw/source/core/text/redlnitr.hxx | 13 |
4 files changed, 18 insertions, 21 deletions
diff --git a/sw/inc/extinput.hxx b/sw/inc/extinput.hxx index e669b32723..d7cd8aa257 100644 --- a/sw/inc/extinput.hxx +++ b/sw/inc/extinput.hxx @@ -28,18 +28,15 @@ #ifndef _EXTINPUT_HXX #define _EXTINPUT_HXX -#ifndef _SVSTDARR_HXX -#define _SVSTDARR_USHORTS -#include <svl/svstdarr.hxx> -#endif #include <pam.hxx> #include <i18npool/lang.h> +#include <vector> class CommandExtTextInputData; class SwExtTextInput : public SwPaM { - SvUShorts aAttrs; + std::vector<sal_uInt16> aAttrs; String sOverwriteText; sal_Bool bInsText : 1; sal_Bool bIsOverwriteCursor : 1; @@ -49,7 +46,7 @@ public: virtual ~SwExtTextInput(); void SetInputData( const CommandExtTextInputData& rData ); - const SvUShorts& GetAttrs() const { return aAttrs; } + const std::vector<sal_uInt16>& GetAttrs() const { return aAttrs; } void SetInsText( sal_Bool bFlag ) { bInsText = bFlag; } sal_Bool IsOverwriteCursor() const { return bIsOverwriteCursor; } void SetOverwriteCursor( sal_Bool bFlag ); diff --git a/sw/source/core/doc/extinput.cxx b/sw/source/core/doc/extinput.cxx index 48afc9b2bd..85b12776ec 100644 --- a/sw/source/core/doc/extinput.cxx +++ b/sw/source/core/doc/extinput.cxx @@ -204,10 +204,12 @@ void SwExtTextInput::SetInputData( const CommandExtTextInputData& rData ) GetPoint()->nContent = nSttCnt; - if( aAttrs.Count() ) - aAttrs.Remove( 0, aAttrs.Count() ); + aAttrs.clear(); if( rData.GetTextAttr() ) - aAttrs.Insert( rData.GetTextAttr(), rData.GetText().Len(), 0 ); + { + const sal_uInt16 *pAttrs = rData.GetTextAttr(); + aAttrs.insert( aAttrs.begin(), pAttrs, pAttrs + rData.GetText().Len() ); + } } } diff --git a/sw/source/core/text/redlnitr.cxx b/sw/source/core/text/redlnitr.cxx index ffdd20f9b2..03f1ba7d9f 100644 --- a/sw/source/core/text/redlnitr.cxx +++ b/sw/source/core/text/redlnitr.cxx @@ -149,7 +149,7 @@ void SwAttrIter::CtorInitAttrIter( SwTxtNode& rTxtNode, SwScriptInfo& rScrInf, S MSHORT nRedlPos = pIDRA->GetRedlinePos( rTxtNode, USHRT_MAX ); if( pExtInp || MSHRT_MAX != nRedlPos ) { - const SvUShorts* pArr = 0; + const std::vector<sal_uInt16> *pArr = 0; xub_StrLen nInputStt = 0; if( pExtInp ) { @@ -185,8 +185,9 @@ void SwAttrIter::CtorInitAttrIter( SwTxtNode& rTxtNode, SwScriptInfo& rScrInf, S *************************************************************************/ SwRedlineItr::SwRedlineItr( const SwTxtNode& rTxtNd, SwFont& rFnt, - SwAttrHandler& rAH, MSHORT nRed, sal_Bool bShw, const SvUShorts *pArr, - xub_StrLen nExtStart ) + SwAttrHandler& rAH, MSHORT nRed, sal_Bool bShw, + const std::vector<sal_uInt16> *pArr, + xub_StrLen nExtStart ) : rDoc( *rTxtNd.GetDoc() ), rNd( rTxtNd ), rAttrHandler( rAH ), pSet( 0 ), nNdIdx( rTxtNd.GetIndex() ), nFirst( nRed ), nAct( MSHRT_MAX ), bOn( sal_False ), bShow( bShw ) @@ -492,7 +493,7 @@ xub_StrLen SwExtend::Next( xub_StrLen nNext ) { MSHORT nIdx = nPos - nStart; MSHORT nAttr = rArr[ nIdx ]; - while( ++nIdx < rArr.Count() && nAttr == rArr[ nIdx ] ) + while( ++nIdx < rArr.size() && nAttr == rArr[ nIdx ] ) ; //nothing nIdx = nIdx + nStart; if( nNext > nIdx ) diff --git a/sw/source/core/text/redlnitr.hxx b/sw/source/core/text/redlnitr.hxx index 762aeab152..c85c36a822 100644 --- a/sw/source/core/text/redlnitr.hxx +++ b/sw/source/core/text/redlnitr.hxx @@ -33,10 +33,7 @@ #include <IDocumentRedlineAccess.hxx> #include "swfont.hxx" -#ifndef _SVSTDARR_USHORTS -#define _SVSTDARR_USHORTS -#include <svl/svstdarr.hxx> -#endif +#include <vector> class SwTxtNode; class SwDoc; @@ -46,7 +43,7 @@ class SwAttrHandler; class SwExtend { SwFont *pFnt; - const SvUShorts ⇒ // XAMA: Array of xub_StrLen + const std::vector<sal_uInt16> ⇒ // XAMA: Array of xub_StrLen xub_StrLen nStart; xub_StrLen nPos; xub_StrLen nEnd; @@ -54,8 +51,8 @@ class SwExtend sal_Bool Inside() const { return ( nPos >= nStart && nPos < nEnd ); } void ActualizeFont( SwFont &rFnt, xub_StrLen nAttr ); public: - SwExtend( const SvUShorts &rA, xub_StrLen nSt ) : pFnt(0), rArr( rA ), - nStart( nSt ), nPos( STRING_LEN ), nEnd( nStart + rA.Count() ) {} + SwExtend( const std::vector<sal_uInt16> &rA, xub_StrLen nSt ) : pFnt(0), rArr( rA ), + nStart( nSt ), nPos( STRING_LEN ), nEnd( nStart + rA.size() ) {} ~SwExtend() { delete pFnt; } sal_Bool IsOn() const { return pFnt != 0; } void Reset() { if( pFnt ) { delete pFnt; pFnt = NULL; } nPos = STRING_LEN; } @@ -94,7 +91,7 @@ class SwRedlineItr { if( pExt ) return pExt->Next( nNext ); return nNext; } public: SwRedlineItr( const SwTxtNode& rTxtNd, SwFont& rFnt, SwAttrHandler& rAH, - xub_StrLen nRedlPos, sal_Bool bShw, const SvUShorts *pArr = 0, + xub_StrLen nRedlPos, sal_Bool bShw, const std::vector<sal_uInt16> *pArr = 0, xub_StrLen nStart = STRING_LEN ); ~SwRedlineItr(); inline sal_Bool IsOn() const { return bOn || ( pExt && pExt->IsOn() ); } |