summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2014-10-13 11:00:19 +0200
committerNoel Grandin <noelgrandin@gmail.com>2014-10-15 05:46:01 +0000
commit0141e9cac82c16b7cdb01f4e7e595c9d98f8d6ce (patch)
tree6d093b1bdb23ac9c13658a26fbc14bac5f9d2102 /editeng
parentdefa080e585fb351bc4049b2f280d2e7e5256f6e (diff)
convert PORTION_KIND constants to enum
Change-Id: I32d65cfd7a67cd7ebca0f99061293a9ac3398133 Reviewed-on: https://gerrit.libreoffice.org/11970 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'editeng')
-rw-r--r--editeng/source/editeng/editdoc.cxx9
-rw-r--r--editeng/source/editeng/editdoc.hxx45
-rw-r--r--editeng/source/editeng/impedit.cxx2
-rw-r--r--editeng/source/editeng/impedit2.cxx38
-rw-r--r--editeng/source/editeng/impedit3.cxx67
5 files changed, 84 insertions, 77 deletions
diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx
index 53662aef04b5..8baa2147c304 100644
--- a/editeng/source/editeng/editdoc.cxx
+++ b/editeng/source/editeng/editdoc.cxx
@@ -1088,9 +1088,9 @@ Size EditLine::CalcTextSize( ParaPortion& rParaPortion )
pPortion = rParaPortion.GetTextPortions()[n];
switch ( pPortion->GetKind() )
{
- case PORTIONKIND_TEXT:
- case PORTIONKIND_FIELD:
- case PORTIONKIND_HYPHENATOR:
+ case PortionKind::TEXT:
+ case PortionKind::FIELD:
+ case PortionKind::HYPHENATOR:
{
aTmpSz = pPortion->GetSize();
aSz.Width() += aTmpSz.Width();
@@ -1098,11 +1098,12 @@ Size EditLine::CalcTextSize( ParaPortion& rParaPortion )
aSz.Height() = aTmpSz.Height();
}
break;
- case PORTIONKIND_TAB:
+ case PortionKind::TAB:
{
aSz.Width() += pPortion->GetSize().Width();
}
break;
+ case PortionKind::LINEBREAK: break;
}
}
diff --git a/editeng/source/editeng/editdoc.hxx b/editeng/source/editeng/editdoc.hxx
index 1aa1c5846456..8ed981618f45 100644
--- a/editeng/source/editeng/editdoc.hxx
+++ b/editeng/source/editeng/editdoc.hxx
@@ -329,11 +329,14 @@ public:
bool operator !() const { return !pNode && !nIndex; }
};
-#define PORTIONKIND_TEXT 0
-#define PORTIONKIND_TAB 1
-#define PORTIONKIND_LINEBREAK 2
-#define PORTIONKIND_FIELD 3
-#define PORTIONKIND_HYPHENATOR 4
+enum class PortionKind
+{
+ TEXT = 0,
+ TAB = 1,
+ LINEBREAK = 2,
+ FIELD = 3,
+ HYPHENATOR = 4
+};
#define DELMODE_SIMPLE 0
#define DELMODE_RESTOFWORD 1
@@ -378,10 +381,10 @@ class TextPortion
{
private:
ExtraPortionInfo* pExtraInfos;
- sal_Int32 nLen;
+ sal_Int32 nLen;
Size aOutSz;
- sal_uInt8 nKind;
- sal_uInt8 nRightToLeft;
+ PortionKind nKind;
+ sal_uInt8 nRightToLeft;
sal_Unicode nExtraValue;
@@ -389,7 +392,7 @@ private:
: pExtraInfos( NULL )
, nLen( 0 )
, aOutSz()
- , nKind( PORTIONKIND_TEXT )
+ , nKind( PortionKind::TEXT )
, nRightToLeft( sal_False )
, nExtraValue( 0 )
{
@@ -400,7 +403,7 @@ public:
: pExtraInfos( NULL )
, nLen( nL )
, aOutSz( -1, -1 )
- , nKind( PORTIONKIND_TEXT )
+ , nKind( PortionKind::TEXT )
, nRightToLeft( sal_False )
, nExtraValue( 0 )
{
@@ -418,22 +421,22 @@ public:
sal_Int32 GetLen() const { return nLen; }
- void SetLen( sal_Int32 nL ) { nLen = nL; }
+ void SetLen( sal_Int32 nL ) { nLen = nL; }
- Size& GetSize() { return aOutSz; }
- const Size& GetSize() const { return aOutSz; }
+ Size& GetSize() { return aOutSz; }
+ const Size& GetSize() const { return aOutSz; }
- sal_uInt8& GetKind() { return nKind; }
- sal_uInt8 GetKind() const { return nKind; }
+ PortionKind& GetKind() { return nKind; }
+ PortionKind GetKind() const { return nKind; }
- void SetRightToLeft( sal_uInt8 b ) { nRightToLeft = b; }
- sal_uInt8 GetRightToLeft() const { return nRightToLeft; }
- bool IsRightToLeft() const { return (nRightToLeft&1); }
+ void SetRightToLeft( sal_uInt8 b ) { nRightToLeft = b; }
+ sal_uInt8 GetRightToLeft() const { return nRightToLeft; }
+ bool IsRightToLeft() const { return (nRightToLeft&1); }
- sal_Unicode GetExtraValue() const { return nExtraValue; }
- void SetExtraValue( sal_Unicode n ) { nExtraValue = n; }
+ sal_Unicode GetExtraValue() const { return nExtraValue; }
+ void SetExtraValue( sal_Unicode n ) { nExtraValue = n; }
- bool HasValidSize() const { return aOutSz.Width() != (-1); }
+ bool HasValidSize() const { return aOutSz.Width() != (-1); }
ExtraPortionInfo* GetExtraInfos() const { return pExtraInfos; }
void SetExtraInfos( ExtraPortionInfo* p ) { delete pExtraInfos; pExtraInfos = p; }
diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx
index 7e069d6da9a6..a71176cc0b7d 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -684,7 +684,7 @@ void ImpEditView::ShowCursor( bool bGotoCursor, bool bForceVisCursor, sal_uInt16
sal_Int32 nTextPortion = pParaPortion->GetTextPortions().FindPortion( aPaM.GetIndex(), nTextPortionStart, true );
const TextPortion* pTextPortion = pParaPortion->GetTextPortions()[nTextPortion];
- if ( pTextPortion->GetKind() == PORTIONKIND_TAB )
+ if ( pTextPortion->GetKind() == PortionKind::TAB )
{
aEditCursor.Right() += pTextPortion->GetSize().Width();
}
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx
index ed238cda11f1..3b56fdb9350c 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -3130,14 +3130,14 @@ sal_uInt32 ImpEditEngine::CalcLineWidth( ParaPortion* pPortion, EditLine* pLine,
const TextPortion* pTextPortion = pPortion->GetTextPortions()[nTP];
switch ( pTextPortion->GetKind() )
{
- case PORTIONKIND_FIELD:
- case PORTIONKIND_HYPHENATOR:
- case PORTIONKIND_TAB:
+ case PortionKind::FIELD:
+ case PortionKind::HYPHENATOR:
+ case PortionKind::TAB:
{
nWidth += pTextPortion->GetSize().Width();
}
break;
- case PORTIONKIND_TEXT:
+ case PortionKind::TEXT:
{
if ( ( eJustification != SVX_ADJUST_BLOCK ) || ( !bIgnoreExtraSpace ) )
{
@@ -3153,6 +3153,7 @@ sal_uInt32 ImpEditEngine::CalcLineWidth( ParaPortion* pPortion, EditLine* pLine,
}
}
break;
+ case PortionKind::LINEBREAK: break;
}
nPos = nPos + pTextPortion->GetLen();
}
@@ -3690,7 +3691,7 @@ sal_Int32 ImpEditEngine::GetChar(
// Search within Portion...
// Don't search within special portions...
- if ( pPortion->GetKind() != PORTIONKIND_TEXT )
+ if ( pPortion->GetKind() != PortionKind::TEXT )
{
// ...but check on which side
if ( bSmart )
@@ -3811,14 +3812,15 @@ long ImpEditEngine::GetPortionXOffset(
const TextPortion* pPortion = pParaPortion->GetTextPortions()[i];
switch ( pPortion->GetKind() )
{
- case PORTIONKIND_FIELD:
- case PORTIONKIND_TEXT:
- case PORTIONKIND_HYPHENATOR:
- case PORTIONKIND_TAB:
+ case PortionKind::FIELD:
+ case PortionKind::TEXT:
+ case PortionKind::HYPHENATOR:
+ case PortionKind::TAB:
{
nX += pPortion->GetSize().Width();
}
break;
+ case PortionKind::LINEBREAK: break;
}
}
@@ -3826,7 +3828,7 @@ long ImpEditEngine::GetPortionXOffset(
bool bR2LPara = IsRightToLeft( nPara );
const TextPortion* pDestPortion = pParaPortion->GetTextPortions()[nTextPortion];
- if ( pDestPortion->GetKind() != PORTIONKIND_TAB )
+ if ( pDestPortion->GetKind() != PortionKind::TAB )
{
if ( !bR2LPara && pDestPortion->GetRightToLeft() )
{
@@ -3835,7 +3837,7 @@ long ImpEditEngine::GetPortionXOffset(
while ( nTmpPortion <= pLine->GetEndPortion() )
{
const TextPortion* pNextTextPortion = pParaPortion->GetTextPortions()[nTmpPortion];
- if ( pNextTextPortion->GetRightToLeft() && ( pNextTextPortion->GetKind() != PORTIONKIND_TAB ) )
+ if ( pNextTextPortion->GetRightToLeft() && ( pNextTextPortion->GetKind() != PortionKind::TAB ) )
nX += pNextTextPortion->GetSize().Width();
else
break;
@@ -3847,7 +3849,7 @@ long ImpEditEngine::GetPortionXOffset(
{
--nTmpPortion;
const TextPortion* pPrevTextPortion = pParaPortion->GetTextPortions()[nTmpPortion];
- if ( pPrevTextPortion->GetRightToLeft() && ( pPrevTextPortion->GetKind() != PORTIONKIND_TAB ) )
+ if ( pPrevTextPortion->GetRightToLeft() && ( pPrevTextPortion->GetKind() != PortionKind::TAB ) )
nX -= pPrevTextPortion->GetSize().Width();
else
break;
@@ -3860,7 +3862,7 @@ long ImpEditEngine::GetPortionXOffset(
while ( nTmpPortion <= pLine->GetEndPortion() )
{
const TextPortion* pNextTextPortion = pParaPortion->GetTextPortions()[nTmpPortion];
- if ( !pNextTextPortion->IsRightToLeft() && ( pNextTextPortion->GetKind() != PORTIONKIND_TAB ) )
+ if ( !pNextTextPortion->IsRightToLeft() && ( pNextTextPortion->GetKind() != PortionKind::TAB ) )
nX += pNextTextPortion->GetSize().Width();
else
break;
@@ -3872,7 +3874,7 @@ long ImpEditEngine::GetPortionXOffset(
{
--nTmpPortion;
const TextPortion* pPrevTextPortion = pParaPortion->GetTextPortions()[nTmpPortion];
- if ( !pPrevTextPortion->IsRightToLeft() && ( pPrevTextPortion->GetKind() != PORTIONKIND_TAB ) )
+ if ( !pPrevTextPortion->IsRightToLeft() && ( pPrevTextPortion->GetKind() != PortionKind::TAB ) )
nX -= pPrevTextPortion->GetSize().Width();
else
break;
@@ -3916,7 +3918,7 @@ long ImpEditEngine::GetXPos(
// calc text width, portion size may include CJK/CTL spacing...
// But the array migh not be init yet, if using text ranger this method is called within CreateLines()...
long nPortionTextWidth = pPortion->GetSize().Width();
- if ( ( pPortion->GetKind() == PORTIONKIND_TEXT ) && pPortion->GetLen() && !GetTextRanger() )
+ if ( ( pPortion->GetKind() == PortionKind::TEXT ) && pPortion->GetLen() && !GetTextRanger() )
nPortionTextWidth = pLine->GetCharPosArray()[nTextPortionStart + pPortion->GetLen() - 1 - pLine->GetStart()];
if ( nTextPortionStart != nIndex )
@@ -3925,12 +3927,12 @@ long ImpEditEngine::GetXPos(
if ( nIndex == ( nTextPortionStart + pPortion->GetLen() ) )
{
// End of Portion
- if ( pPortion->GetKind() == PORTIONKIND_TAB )
+ if ( pPortion->GetKind() == PortionKind::TAB )
{
if ( nTextPortion+1 < pParaPortion->GetTextPortions().Count() )
{
const TextPortion* pNextPortion = pParaPortion->GetTextPortions()[nTextPortion+1];
- if ( pNextPortion->GetKind() != PORTIONKIND_TAB )
+ if ( pNextPortion->GetKind() != PortionKind::TAB )
{
if ( !bPreferPortionStart )
nX = GetXPos( pParaPortion, pLine, nIndex, true );
@@ -3948,7 +3950,7 @@ long ImpEditEngine::GetXPos(
nX += nPortionTextWidth;
}
}
- else if ( pPortion->GetKind() == PORTIONKIND_TEXT )
+ else if ( pPortion->GetKind() == PortionKind::TEXT )
{
OSL_ENSURE( nIndex != pLine->GetStart(), "Strange behavior in new GetXPos()" );
OSL_ENSURE( pLine && pLine->GetCharPosArray().size(), "svx::ImpEditEngine::GetXPos(), portion in an empty line?" );
diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx
index e12209db16b3..4ba25a60c852 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -880,7 +880,7 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY )
{
nPortionStart = nTmpPos;
pPortion = pParaPortion->GetTextPortions()[nTmpPortion];
- if ( pPortion->GetKind() == PORTIONKIND_HYPHENATOR )
+ if ( pPortion->GetKind() == PortionKind::HYPHENATOR )
{
// Throw away a Portion, if necessary correct the one before,
// if the Hyph portion has swallowed a character ...
@@ -890,7 +890,7 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY )
{
nTmpPortion--;
TextPortion* pPrev = pParaPortion->GetTextPortions()[nTmpPortion];
- DBG_ASSERT( pPrev->GetKind() == PORTIONKIND_TEXT, "Portion?!" );
+ DBG_ASSERT( pPrev->GetKind() == PortionKind::TEXT, "Portion?!" );
nTmpWidth -= pPrev->GetSize().Width();
nTmpPos = nTmpPos - pPrev->GetLen();
pPrev->SetLen(pPrev->GetLen() + nTmpLen);
@@ -900,7 +900,7 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY )
DBG_ASSERT( nTmpPortion < pParaPortion->GetTextPortions().Count(), "No more Portions left!" );
pPortion = pParaPortion->GetTextPortions()[nTmpPortion];
}
- DBG_ASSERT( pPortion->GetKind() != PORTIONKIND_HYPHENATOR, "CreateLines: Hyphenator-Portion!" );
+ DBG_ASSERT( pPortion->GetKind() != PortionKind::HYPHENATOR, "CreateLines: Hyphenator-Portion!" );
DBG_ASSERT( pPortion->GetLen() || bProcessingEmptyLine, "Empty Portion in CreateLines ?!" );
(void)bProcessingEmptyLine;
if ( pNextFeature && ( pNextFeature->GetStart() == nTmpPos ) )
@@ -943,7 +943,7 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY )
aCurrentTab.nTabPortion = nTmpPortion;
}
- pPortion->GetKind() = PORTIONKIND_TAB;
+ pPortion->GetKind() = PortionKind::TAB;
pPortion->SetExtraValue( aCurrentTab.aTabStop.GetFill() );
pPortion->GetSize().Width() = aCurrentTab.nTabPos - (nTmpWidth+nStartX);
@@ -978,7 +978,7 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY )
pPortion->GetSize().Width() = 0;
bEOL = true;
bLineBreak = true;
- pPortion->GetKind() = PORTIONKIND_LINEBREAK;
+ pPortion->GetKind() = PortionKind::LINEBREAK;
bCompressedChars = false;
EditLine::CharPosArrayType& rArray = pLine->GetCharPosArray();
size_t nPos = nTmpPos - pLine->GetStart();
@@ -1028,7 +1028,7 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY )
EditLine::CharPosArrayType& rArray = pLine->GetCharPosArray();
size_t nPos = nTmpPos - pLine->GetStart();
rArray.insert(rArray.begin()+nPos, pPortion->GetSize().Width());
- pPortion->GetKind() = cChar ? PORTIONKIND_TEXT : PORTIONKIND_FIELD;
+ pPortion->GetKind() = cChar ? PortionKind::TEXT : PortionKind::FIELD;
// If this is the first token on the line,
// and nTmpWidth > aPaperSize.Width, => infinite loop!
if ( ( nTmpWidth >= nXWidth ) && ( nTmpPortion == pLine->GetStartPortion() ) )
@@ -1181,7 +1181,7 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY )
// one Non-Feature-Portion has to be wrapped
if ( pPortion && pPortion->GetLen() > 1 )
{
- DBG_ASSERT( pPortion->GetKind() == PORTIONKIND_TEXT, "Len>1, but no TextPortion?" );
+ DBG_ASSERT( pPortion->GetKind() == PortionKind::TEXT, "Len>1, but no TextPortion?" );
nTmpWidth -= pPortion->GetSize().Width();
sal_Int32 nP = SplitTextPortion( pParaPortion, nTmpPos, pLine );
const TextPortion* p = pParaPortion->GetTextPortions()[nP];
@@ -1199,13 +1199,13 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY )
bEOC = false;
if( pPortion ) switch ( pPortion->GetKind() )
{
- case PORTIONKIND_TEXT:
+ case PortionKind::TEXT:
{
nTmpWidth -= pPortion->GetSize().Width();
}
break;
- case PORTIONKIND_FIELD:
- case PORTIONKIND_TAB:
+ case PortionKind::FIELD:
+ case PortionKind::TAB:
{
nTmpWidth -= pPortion->GetSize().Width();
bEOL = true;
@@ -1215,7 +1215,7 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY )
default:
{
// A feature is not wrapped:
- DBG_ASSERT( ( pPortion->GetKind() == PORTIONKIND_LINEBREAK ), "What Feature ?" );
+ DBG_ASSERT( ( pPortion->GetKind() == PortionKind::LINEBREAK ), "What Feature ?" );
bEOL = true;
bFixedEnd = true;
}
@@ -1296,7 +1296,7 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY )
{
const TextPortion* pTP = pParaPortion->GetTextPortions()[nP];
// problem with hard font height attribute, when everything but the line break has this attribute
- if ( pTP->GetKind() != PORTIONKIND_LINEBREAK )
+ if ( pTP->GetKind() != PortionKind::LINEBREAK )
{
SeekCursor( pNode, nTPos+1, aTmpFont );
aTmpFont.SetPhysFont( GetRefDevice() );
@@ -1944,7 +1944,7 @@ void ImpEditEngine::ImpBreakLine( ParaPortion* pParaPortion, EditLine* pLine, Te
if ( bCompressBlank || bHangingPunctuation )
{
TextPortion* const pTP = pParaPortion->GetTextPortions()[nEndPortion];
- DBG_ASSERT( pTP->GetKind() == PORTIONKIND_TEXT, "BlankRubber: No TextPortion!" );
+ DBG_ASSERT( pTP->GetKind() == PortionKind::TEXT, "BlankRubber: No TextPortion!" );
DBG_ASSERT( nBreakPos > pLine->GetStart(), "SplitTextPortion at the beginning of the line?" );
sal_Int32 nPosInArray = nBreakPos - 1 - pLine->GetStart();
pTP->GetSize().Width() = ( nPosInArray && ( pTP->GetLen() > 1 ) ) ? pLine->GetCharPosArray()[ nPosInArray-1 ] : 0;
@@ -1954,7 +1954,7 @@ void ImpEditEngine::ImpBreakLine( ParaPortion* pParaPortion, EditLine* pLine, Te
{
// A portion for inserting the separator ...
TextPortion* pHyphPortion = new TextPortion( 0 );
- pHyphPortion->GetKind() = PORTIONKIND_HYPHENATOR;
+ pHyphPortion->GetKind() = PortionKind::HYPHENATOR;
OUString aHyphText(CH_HYPH);
if ( (cAlternateReplChar || cAlternateExtraChar) && bAltFullRight ) // alternation after the break doesn't supported
{
@@ -2251,7 +2251,7 @@ sal_Int32 ImpEditEngine::SplitTextPortion( ParaPortion* pPortion, sal_Int32 nPos
if (!pTextPortion)
return 0;
- DBG_ASSERT( pTextPortion->GetKind() == PORTIONKIND_TEXT, "SplitTextPortion: No TextPortion!" );
+ DBG_ASSERT( pTextPortion->GetKind() == PortionKind::TEXT, "SplitTextPortion: No TextPortion!" );
sal_Int32 nOverlapp = nTmpPos - nPos;
pTextPortion->SetLen( pTextPortion->GetLen() - nOverlapp );
@@ -2402,7 +2402,7 @@ void ImpEditEngine::RecalcTextPortion( ParaPortion* pParaPortion, sal_Int32 nSta
!pParaPortion->GetTextPortions()[nNewPortionPos]->GetLen() )
{
TextPortion* const pTP = pParaPortion->GetTextPortions()[nNewPortionPos];
- DBG_ASSERT( pTP->GetKind() == PORTIONKIND_TEXT, "the empty portion was no TextPortion!" );
+ DBG_ASSERT( pTP->GetKind() == PortionKind::TEXT, "the empty portion was no TextPortion!" );
pTP->SetLen( pTP->GetLen() + nNewChars );
}
else
@@ -2451,9 +2451,9 @@ void ImpEditEngine::RecalcTextPortion( ParaPortion* pParaPortion, sal_Int32 nSta
if ( ( nPos == nStartPos ) && ( (nPos+pTP->GetLen()) == nEnd ) )
{
// Remove portion;
- sal_uInt8 nType = pTP->GetKind();
+ PortionKind nType = pTP->GetKind();
pParaPortion->GetTextPortions().Remove( nPortion );
- if ( nType == PORTIONKIND_LINEBREAK )
+ if ( nType == PortionKind::LINEBREAK )
{
TextPortion* pNext = pParaPortion->GetTextPortions()[ nPortion ];
if ( pNext && !pNext->GetLen() )
@@ -2476,14 +2476,14 @@ void ImpEditEngine::RecalcTextPortion( ParaPortion* pParaPortion, sal_Int32 nSta
// No HYPHENATOR portion is allowed to get stuck right at the end...
sal_Int32 nLastPortion = nPortionCount - 1;
pTP = pParaPortion->GetTextPortions()[nLastPortion];
- if ( pTP->GetKind() == PORTIONKIND_HYPHENATOR )
+ if ( pTP->GetKind() == PortionKind::HYPHENATOR )
{
// Discard portion; if possible, correct the ones before,
// if the Hyphenator portion has swallowed one character...
if ( nLastPortion && pTP->GetLen() )
{
TextPortion* pPrev = pParaPortion->GetTextPortions()[nLastPortion - 1];
- DBG_ASSERT( pPrev->GetKind() == PORTIONKIND_TEXT, "Portion?!" );
+ DBG_ASSERT( pPrev->GetKind() == PortionKind::TEXT, "Portion?!" );
pPrev->SetLen( pPrev->GetLen() + pTP->GetLen() );
pPrev->GetSize().Width() = (-1);
}
@@ -2993,15 +2993,15 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRect, Point aSt
switch ( pTextPortion->GetKind() )
{
- case PORTIONKIND_TEXT:
- case PORTIONKIND_FIELD:
- case PORTIONKIND_HYPHENATOR:
+ case PortionKind::TEXT:
+ case PortionKind::FIELD:
+ case PortionKind::HYPHENATOR:
{
SeekCursor( pPortion->GetNode(), nIndex+1, aTmpFont, pOutDev );
bool bDrawFrame = false;
- if ( ( pTextPortion->GetKind() == PORTIONKIND_FIELD ) && !aTmpFont.IsTransparent() &&
+ if ( ( pTextPortion->GetKind() == PortionKind::FIELD ) && !aTmpFont.IsTransparent() &&
( GetBackgroundColor() != COL_AUTO ) && GetBackgroundColor().IsDark() &&
( IsAutoColorEnabled() && ( pOutDev->GetOutDevType() != OUTDEV_PRINTER ) ) )
{
@@ -3042,7 +3042,7 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRect, Point aSt
const long* pDXArray = 0;
boost::scoped_array<long> pTmpDXArray;
- if ( pTextPortion->GetKind() == PORTIONKIND_TEXT )
+ if ( pTextPortion->GetKind() == PortionKind::TEXT )
{
aText = pPortion->GetNode()->GetString();
nTextStart = nIndex;
@@ -3139,7 +3139,7 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRect, Point aSt
}
}
}
- else if ( pTextPortion->GetKind() == PORTIONKIND_FIELD )
+ else if ( pTextPortion->GetKind() == PortionKind::FIELD )
{
const EditCharAttrib* pAttr = pPortion->GetNode()->GetCharAttribs().FindFeature(nIndex);
DBG_ASSERT( pAttr, "Field not found");
@@ -3205,7 +3205,7 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRect, Point aSt
}
}
- else if ( pTextPortion->GetKind() == PORTIONKIND_HYPHENATOR )
+ else if ( pTextPortion->GetKind() == PortionKind::HYPHENATOR )
{
if ( pTextPortion->GetExtraValue() )
aText = OUString(pTextPortion->GetExtraValue());
@@ -3283,7 +3283,7 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRect, Point aSt
const SvxFieldData* pFieldData = 0;
- if(PORTIONKIND_FIELD == pTextPortion->GetKind())
+ if(PortionKind::FIELD == pTextPortion->GetKind())
{
const EditCharAttrib* pAttr = pPortion->GetNode()->GetCharAttribs().FindFeature(nIndex);
const SvxFieldItem* pFieldItem = dynamic_cast<const SvxFieldItem*>(pAttr->GetItem());
@@ -3407,7 +3407,7 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRect, Point aSt
}
}
Point aRealOutPos( aOutPos );
- if ( ( pTextPortion->GetKind() == PORTIONKIND_TEXT )
+ if ( ( pTextPortion->GetKind() == PortionKind::TEXT )
&& pTextPortion->GetExtraInfos() && pTextPortion->GetExtraInfos()->bCompressed
&& pTextPortion->GetExtraInfos()->bFirstCharIsRightPunktuation )
{
@@ -3438,7 +3438,7 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRect, Point aSt
// PDF export:
if ( pPDFExtOutDevData )
{
- if ( pTextPortion->GetKind() == PORTIONKIND_FIELD )
+ if ( pTextPortion->GetKind() == PortionKind::FIELD )
{
const EditCharAttrib* pAttr = pPortion->GetNode()->GetCharAttribs().FindFeature(nIndex);
const SvxFieldItem* pFieldItem = dynamic_cast<const SvxFieldItem*>(pAttr->GetItem());
@@ -3486,7 +3486,7 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRect, Point aSt
pTmpDXArray.reset();
- if ( pTextPortion->GetKind() == PORTIONKIND_FIELD )
+ if ( pTextPortion->GetKind() == PortionKind::FIELD )
{
const EditCharAttrib* pAttr = pPortion->GetNode()->GetCharAttribs().FindFeature(nIndex);
DBG_ASSERT( pAttr, "Field not found" );
@@ -3509,7 +3509,7 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRect, Point aSt
}
break;
- case PORTIONKIND_TAB:
+ case PortionKind::TAB:
{
if ( pTextPortion->GetExtraValue() && ( pTextPortion->GetExtraValue() != ' ' ) )
{
@@ -3574,6 +3574,7 @@ void ImpEditEngine::Paint( OutputDevice* pOutDev, Rectangle aClipRect, Point aSt
}
}
break;
+ case PortionKind::LINEBREAK: break;
}
if( bParsingFields )
nPortion--;
@@ -4527,7 +4528,7 @@ void ImpEditEngine::ImplExpandCompressedPortions( EditLine* pLine, ParaPortion*
sal_Int32 nPortion = pLine->GetEndPortion();
TextPortion* pTP = pParaPortion->GetTextPortions()[ nPortion ];
- while ( pTP && ( pTP->GetKind() == PORTIONKIND_TEXT ) )
+ while ( pTP && ( pTP->GetKind() == PortionKind::TEXT ) )
{
if ( pTP->GetExtraInfos() && pTP->GetExtraInfos()->bCompressed )
{