Kaydet (Commit) 2643f2a0 authored tarafından Nigel Hawkins's avatar Nigel Hawkins

Replace SvUShorts with vector in extinput.hxx and cascade changes.

LGPLv3+/MPL.
üst a8bcc0d0
...@@ -28,18 +28,15 @@ ...@@ -28,18 +28,15 @@
#ifndef _EXTINPUT_HXX #ifndef _EXTINPUT_HXX
#define _EXTINPUT_HXX #define _EXTINPUT_HXX
#ifndef _SVSTDARR_HXX
#define _SVSTDARR_USHORTS
#include <svl/svstdarr.hxx>
#endif
#include <pam.hxx> #include <pam.hxx>
#include <i18npool/lang.h> #include <i18npool/lang.h>
#include <vector>
class CommandExtTextInputData; class CommandExtTextInputData;
class SwExtTextInput : public SwPaM class SwExtTextInput : public SwPaM
{ {
SvUShorts aAttrs; std::vector<sal_uInt16> aAttrs;
String sOverwriteText; String sOverwriteText;
sal_Bool bInsText : 1; sal_Bool bInsText : 1;
sal_Bool bIsOverwriteCursor : 1; sal_Bool bIsOverwriteCursor : 1;
...@@ -49,7 +46,7 @@ public: ...@@ -49,7 +46,7 @@ public:
virtual ~SwExtTextInput(); virtual ~SwExtTextInput();
void SetInputData( const CommandExtTextInputData& rData ); 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; } void SetInsText( sal_Bool bFlag ) { bInsText = bFlag; }
sal_Bool IsOverwriteCursor() const { return bIsOverwriteCursor; } sal_Bool IsOverwriteCursor() const { return bIsOverwriteCursor; }
void SetOverwriteCursor( sal_Bool bFlag ); void SetOverwriteCursor( sal_Bool bFlag );
......
...@@ -204,10 +204,12 @@ void SwExtTextInput::SetInputData( const CommandExtTextInputData& rData ) ...@@ -204,10 +204,12 @@ void SwExtTextInput::SetInputData( const CommandExtTextInputData& rData )
GetPoint()->nContent = nSttCnt; GetPoint()->nContent = nSttCnt;
if( aAttrs.Count() ) aAttrs.clear();
aAttrs.Remove( 0, aAttrs.Count() );
if( rData.GetTextAttr() ) 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() );
}
} }
} }
......
...@@ -149,7 +149,7 @@ void SwAttrIter::CtorInitAttrIter( SwTxtNode& rTxtNode, SwScriptInfo& rScrInf, S ...@@ -149,7 +149,7 @@ void SwAttrIter::CtorInitAttrIter( SwTxtNode& rTxtNode, SwScriptInfo& rScrInf, S
MSHORT nRedlPos = pIDRA->GetRedlinePos( rTxtNode, USHRT_MAX ); MSHORT nRedlPos = pIDRA->GetRedlinePos( rTxtNode, USHRT_MAX );
if( pExtInp || MSHRT_MAX != nRedlPos ) if( pExtInp || MSHRT_MAX != nRedlPos )
{ {
const SvUShorts* pArr = 0; const std::vector<sal_uInt16> *pArr = 0;
xub_StrLen nInputStt = 0; xub_StrLen nInputStt = 0;
if( pExtInp ) if( pExtInp )
{ {
...@@ -185,8 +185,9 @@ void SwAttrIter::CtorInitAttrIter( SwTxtNode& rTxtNode, SwScriptInfo& rScrInf, S ...@@ -185,8 +185,9 @@ void SwAttrIter::CtorInitAttrIter( SwTxtNode& rTxtNode, SwScriptInfo& rScrInf, S
*************************************************************************/ *************************************************************************/
SwRedlineItr::SwRedlineItr( const SwTxtNode& rTxtNd, SwFont& rFnt, SwRedlineItr::SwRedlineItr( const SwTxtNode& rTxtNd, SwFont& rFnt,
SwAttrHandler& rAH, MSHORT nRed, sal_Bool bShw, const SvUShorts *pArr, SwAttrHandler& rAH, MSHORT nRed, sal_Bool bShw,
xub_StrLen nExtStart ) const std::vector<sal_uInt16> *pArr,
xub_StrLen nExtStart )
: rDoc( *rTxtNd.GetDoc() ), rNd( rTxtNd ), rAttrHandler( rAH ), pSet( 0 ), : rDoc( *rTxtNd.GetDoc() ), rNd( rTxtNd ), rAttrHandler( rAH ), pSet( 0 ),
nNdIdx( rTxtNd.GetIndex() ), nFirst( nRed ), nNdIdx( rTxtNd.GetIndex() ), nFirst( nRed ),
nAct( MSHRT_MAX ), bOn( sal_False ), bShow( bShw ) nAct( MSHRT_MAX ), bOn( sal_False ), bShow( bShw )
...@@ -492,7 +493,7 @@ xub_StrLen SwExtend::Next( xub_StrLen nNext ) ...@@ -492,7 +493,7 @@ xub_StrLen SwExtend::Next( xub_StrLen nNext )
{ {
MSHORT nIdx = nPos - nStart; MSHORT nIdx = nPos - nStart;
MSHORT nAttr = rArr[ nIdx ]; MSHORT nAttr = rArr[ nIdx ];
while( ++nIdx < rArr.Count() && nAttr == rArr[ nIdx ] ) while( ++nIdx < rArr.size() && nAttr == rArr[ nIdx ] )
; //nothing ; //nothing
nIdx = nIdx + nStart; nIdx = nIdx + nStart;
if( nNext > nIdx ) if( nNext > nIdx )
......
...@@ -33,10 +33,7 @@ ...@@ -33,10 +33,7 @@
#include <IDocumentRedlineAccess.hxx> #include <IDocumentRedlineAccess.hxx>
#include "swfont.hxx" #include "swfont.hxx"
#ifndef _SVSTDARR_USHORTS #include <vector>
#define _SVSTDARR_USHORTS
#include <svl/svstdarr.hxx>
#endif
class SwTxtNode; class SwTxtNode;
class SwDoc; class SwDoc;
...@@ -46,7 +43,7 @@ class SwAttrHandler; ...@@ -46,7 +43,7 @@ class SwAttrHandler;
class SwExtend class SwExtend
{ {
SwFont *pFnt; SwFont *pFnt;
const SvUShorts &rArr; // XAMA: Array of xub_StrLen const std::vector<sal_uInt16> &rArr; // XAMA: Array of xub_StrLen
xub_StrLen nStart; xub_StrLen nStart;
xub_StrLen nPos; xub_StrLen nPos;
xub_StrLen nEnd; xub_StrLen nEnd;
...@@ -54,8 +51,8 @@ class SwExtend ...@@ -54,8 +51,8 @@ class SwExtend
sal_Bool Inside() const { return ( nPos >= nStart && nPos < nEnd ); } sal_Bool Inside() const { return ( nPos >= nStart && nPos < nEnd ); }
void ActualizeFont( SwFont &rFnt, xub_StrLen nAttr ); void ActualizeFont( SwFont &rFnt, xub_StrLen nAttr );
public: public:
SwExtend( const SvUShorts &rA, xub_StrLen nSt ) : pFnt(0), rArr( rA ), SwExtend( const std::vector<sal_uInt16> &rA, xub_StrLen nSt ) : pFnt(0), rArr( rA ),
nStart( nSt ), nPos( STRING_LEN ), nEnd( nStart + rA.Count() ) {} nStart( nSt ), nPos( STRING_LEN ), nEnd( nStart + rA.size() ) {}
~SwExtend() { delete pFnt; } ~SwExtend() { delete pFnt; }
sal_Bool IsOn() const { return pFnt != 0; } sal_Bool IsOn() const { return pFnt != 0; }
void Reset() { if( pFnt ) { delete pFnt; pFnt = NULL; } nPos = STRING_LEN; } void Reset() { if( pFnt ) { delete pFnt; pFnt = NULL; } nPos = STRING_LEN; }
...@@ -94,7 +91,7 @@ class SwRedlineItr ...@@ -94,7 +91,7 @@ class SwRedlineItr
{ if( pExt ) return pExt->Next( nNext ); return nNext; } { if( pExt ) return pExt->Next( nNext ); return nNext; }
public: public:
SwRedlineItr( const SwTxtNode& rTxtNd, SwFont& rFnt, SwAttrHandler& rAH, 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 ); xub_StrLen nStart = STRING_LEN );
~SwRedlineItr(); ~SwRedlineItr();
inline sal_Bool IsOn() const { return bOn || ( pExt && pExt->IsOn() ); } inline sal_Bool IsOn() const { return bOn || ( pExt && pExt->IsOn() ); }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment