summaryrefslogtreecommitdiff
path: root/sw/source/core/txtnode/ndtxt.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/core/txtnode/ndtxt.cxx')
-rw-r--r--sw/source/core/txtnode/ndtxt.cxx564
1 files changed, 134 insertions, 430 deletions
diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index 685f38ba2e69..0117facb916c 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66,7 +67,6 @@
#include <docary.hxx>
#include <pam.hxx> // fuer SwPosition
#include <fldbas.hxx>
-#include <errhdl.hxx>
#include <paratr.hxx>
#include <txtfrm.hxx>
#include <ftnfrm.hxx>
@@ -86,7 +86,6 @@
#include <istyleaccess.hxx>
#include <SwStyleNameMapper.hxx>
#include <numrule.hxx>
-#include <svl/intitem.hxx>
#include <swtable.hxx>
#include <docsh.hxx>
#include <SwNodeNum.hxx>
@@ -108,7 +107,7 @@ SV_DECL_PTRARR(SwpHts,SwTxtAttr*,1,1)
// Leider ist das SwpHints nicht ganz wasserdicht:
// Jeder darf an den Hints rumfummeln, ohne die Sortierreihenfolge
// und Verkettung sicherstellen zu muessen.
-#ifdef DBG_UTIL
+#if OSL_DEBUG_LEVEL > 1
#define CHECK_SWPHINTS(pNd) { if( pNd->GetpSwpHints() && \
!pNd->GetDoc()->IsInReading() ) \
pNd->GetpSwpHints()->Check(); }
@@ -120,13 +119,13 @@ SwTxtNode *SwNodes::MakeTxtNode( const SwNodeIndex & rWhere,
SwTxtFmtColl *pColl,
SwAttrSet* pAutoAttr )
{
- ASSERT( pColl, "Collectionpointer ist 0." );
+ OSL_ENSURE( pColl, "Collectionpointer ist 0." );
SwTxtNode *pNode = new SwTxtNode( rWhere, pColl, pAutoAttr );
SwNodeIndex aIdx( *pNode );
- // --> OD 2005-11-03 #125329#
+ // #125329#
// call method <UpdateOutlineNode(..)> only for the document nodes array
if ( IsDocNodes() )
UpdateOutlineNode(*pNode);
@@ -217,13 +216,10 @@ SwTxtNode::SwTxtNode( const SwNodeIndex &rWhere,
mpNodeNum( 0 ),
m_bLastOutlineState( false ),
m_bNotifiable( false ),
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
mbEmptyListStyleSetDueToSetOutlineLevelAttr( false ),
- // <--
- // --> OD 2008-05-06 #refactorlists#
mbInSetOrResetAttr( false ),
mpList( 0 )
- // <--
{
InitSwParaStatistics( true );
@@ -231,11 +227,9 @@ SwTxtNode::SwTxtNode( const SwNodeIndex &rWhere,
if( pAutoAttr )
SetAttr( *pAutoAttr );
- // --> OD 2008-03-13 #refactorlists# - no longed needed
-// SyncNumberAndNumRule();
if ( !IsInList() && GetNumRule() && GetListId().Len() > 0 )
{
- // --> OD 2009-08-27 #i101516#
+ // #i101516#
// apply paragraph style's assigned outline style list level as
// list level of the paragraph, if it has none set already.
if ( !HasAttrListLevel() &&
@@ -243,10 +237,8 @@ SwTxtNode::SwTxtNode( const SwNodeIndex &rWhere,
{
SetAttrListLevel( pTxtColl->GetAssignedOutlineStyleLevel() );
}
- // <--
AddToList();
}
- // <--
GetNodes().UpdateOutlineNode(*this);
m_bNotifiable = true;
@@ -273,15 +265,7 @@ SwTxtNode::~SwTxtNode()
delete pTmpHints;
}
- // --> OD 2008-03-13 #refactorlists#
-// if ( mpNodeNum )
-// {
-// mpNodeNum->RemoveMe();
-// delete mpNodeNum;
-// mpNodeNum = 0L;
-// }
RemoveFromList();
- // <--
InitSwParaStatistics( false );
}
@@ -326,7 +310,7 @@ void lcl_ChangeFtnRef( SwTxtNode &rNode )
return;
}
SwTxtFtn *pAttr = (SwTxtFtn*)pHt;
- ASSERT( pAttr->GetStartNode(), "FtnAtr ohne StartNode." );
+ OSL_ENSURE( pAttr->GetStartNode(), "FtnAtr ohne StartNode." );
SwNodeIndex aIdx( *pAttr->GetStartNode(), 1 );
SwCntntNode *pNd = aIdx.GetNode().GetCntntNode();
if ( !pNd )
@@ -339,14 +323,14 @@ void lcl_ChangeFtnRef( SwTxtNode &rNode )
SwCntntFrm* pCntnt = aIter.First();
if( pCntnt )
{
- ASSERT( pCntnt->getRootFrm() == pFrm->getRootFrm(),
+ OSL_ENSURE( pCntnt->getRootFrm() == pFrm->getRootFrm(),
"lcl_ChangeFtnRef: Layout double?" );
SwFtnFrm *pFtn = pCntnt->FindFtnFrm();
if( pFtn && pFtn->GetAttr() == pAttr )
{
while( pFtn->GetMaster() )
pFtn = pFtn->GetMaster();
- // OD 07.11.2002 #104840# - remember footnote frame
+ // #104840# - remember footnote frame
pFirstFtnOfNode = pFtn;
while ( pFtn )
{
@@ -355,18 +339,18 @@ void lcl_ChangeFtnRef( SwTxtNode &rNode )
((SwTxtFrm*)pFrm)->SetFtn( sal_True );
}
}
-#ifdef DBG_UTIL
+#if OSL_DEBUG_LEVEL > 1
while( 0 != (pCntnt = aIter.Next()) )
{
SwFtnFrm *pDbgFtn = pCntnt->FindFtnFrm();
- ASSERT( !pDbgFtn || pDbgFtn->GetRef() == pFrm,
+ OSL_ENSURE( !pDbgFtn || pDbgFtn->GetRef() == pFrm,
"lcl_ChangeFtnRef: Who's that guy?" );
}
#endif
}
}
} // end of for-loop on <SwpHints>
- // OD 08.11.2002 #104840# - invalidate
+ // #104840# - invalidate
if ( pFirstFtnOfNode )
{
SwCntntFrm* pCntnt = pFirstFtnOfNode->ContainsCntnt();
@@ -380,6 +364,8 @@ void lcl_ChangeFtnRef( SwTxtNode &rNode )
SwCntntNode *SwTxtNode::SplitCntntNode( const SwPosition &rPos )
{
+ bool parentIsOutline = IsOutline();
+
// lege den Node "vor" mir an
const xub_StrLen nSplitPos = rPos.nContent.GetIndex();
const xub_StrLen nTxtLen = m_Text.Len();
@@ -398,24 +384,14 @@ SwCntntNode *SwTxtNode::SplitCntntNode( const SwPosition &rPos )
}
}
- // --> OD 2008-03-27 #refactorlists#
-// // --> OD 2007-07-09 #i77372#
-// // reset numbering attribute at current node, only if it is numbered.
-// if ( GetNumRule() != NULL )
-// {
-// SetRestart(false);
-// SetStart(1);
-// SetCounted(true);
-// }
ResetAttr( RES_PARATR_LIST_ISRESTART );
ResetAttr( RES_PARATR_LIST_RESTARTVALUE );
ResetAttr( RES_PARATR_LIST_ISCOUNTED );
- if ( GetNumRule() == 0 )
+ if ( GetNumRule() == 0 || (parentIsOutline && !IsOutline()) )
{
ResetAttr( RES_PARATR_LIST_ID );
ResetAttr( RES_PARATR_LIST_LEVEL );
}
- // <--
if ( GetDepends() && m_Text.Len() && (nTxtLen / 2) < nSplitPos )
{
@@ -623,7 +599,7 @@ SwCntntNode *SwTxtNode::SplitCntntNode( const SwPosition &rPos )
void SwTxtNode::MoveTxtAttr_To_AttrSet()
{
- ASSERT( m_pSwpHints, "MoveTxtAttr_To_AttrSet without SwpHints?" );
+ OSL_ENSURE( m_pSwpHints, "MoveTxtAttr_To_AttrSet without SwpHints?" );
for ( sal_uInt16 i = 0; m_pSwpHints && i < m_pSwpHints->Count(); ++i )
{
SwTxtAttr *pHt = m_pSwpHints->GetTextHint(i);
@@ -739,7 +715,7 @@ SwCntntNode *SwTxtNode::JoinNext()
InvalidateNumRule();
}
else {
- ASSERT( sal_False, "kein TxtNode." );
+ OSL_FAIL( "kein TxtNode." );
}
return this;
@@ -834,7 +810,7 @@ SwCntntNode *SwTxtNode::JoinPrev()
InvalidateNumRule();
}
else {
- ASSERT( sal_False, "kein TxtNode." );
+ OSL_FAIL( "kein TxtNode." );
}
return this;
@@ -843,7 +819,7 @@ SwCntntNode *SwTxtNode::JoinPrev()
// erzeugt einen AttrSet mit Bereichen fuer Frame-/Para/Char-Attributen
void SwTxtNode::NewAttrSet( SwAttrPool& rPool )
{
- ASSERT( !mpAttrSet.get(), "AttrSet ist doch gesetzt" );
+ OSL_ENSURE( !mpAttrSet.get(), "AttrSet ist doch gesetzt" );
SwAttrSet aNewAttrSet( rPool, aTxtNodeSetRange );
// put names of parent style and conditional style:
@@ -946,7 +922,7 @@ void SwTxtNode::Update( SwIndex const & rPos, const xub_StrLen nChangeLen,
sal_uInt16 nWhPos;
const sal_uInt16 nWhich = pHint->Which();
- ASSERT(!isCHRATR(nWhich), "Update: char attr hint?");
+ OSL_ENSURE(!isCHRATR(nWhich), "Update: char attr hint?");
if (isCHRATR(nWhich) || isTXTATR_WITHEND(nWhich))
{
nWhPos = static_cast<sal_uInt16>(nWhich -
@@ -1093,18 +1069,15 @@ void SwTxtNode::_ChgTxtCollUpdateNum( const SwTxtFmtColl *pOldColl,
const SwTxtFmtColl *pNewColl)
{
SwDoc* pDoc = GetDoc();
- ASSERT( pDoc, "Kein Doc?" );
+ OSL_ENSURE( pDoc, "Kein Doc?" );
// erfrage die OutlineLevel und update gegebenenfalls das Nodes-Array,
// falls sich die Level geaendert haben !
- //const sal_uInt8 nOldLevel = pOldColl ? pOldColl->GetOutlineLevel():NO_NUMBERING;//#outline level,removed by zhaojianwei
- //const sal_uInt8 nNewLevel = pNewColl ? pNewColl->GetOutlineLevel():NO_NUMBERING;//<-end,zhaojianwei
const int nOldLevel = pOldColl && pOldColl->IsAssignedToListLevelOfOutlineStyle() ?
pOldColl->GetAssignedOutlineStyleLevel() : MAXLEVEL;
const int nNewLevel = pNewColl && pNewColl->IsAssignedToListLevelOfOutlineStyle() ?
pNewColl->GetAssignedOutlineStyleLevel() : MAXLEVEL;
-// if ( NO_NUMBERING != nNewLevel ) //#outline level,zhaojianwei
- if ( MAXLEVEL != nNewLevel ) //<-end,zhaojianwei
+ if ( MAXLEVEL != nNewLevel )
{
SetAttrListLevel(nNewLevel);
}
@@ -1126,14 +1099,11 @@ void SwTxtNode::_ChgTxtCollUpdateNum( const SwTxtFmtColl *pOldColl,
pDoc->GetFtnIdxs().UpdateFtn( aTmpIndex);
}
-//FEATURE::CONDCOLL
- if( /*pOldColl != pNewColl && pNewColl && */
- RES_CONDTXTFMTCOLL == pNewColl->Which() )
+ if( RES_CONDTXTFMTCOLL == pNewColl->Which() )
{
// Erfrage die akt. Condition des TextNodes:
ChkCondColl();
}
-//FEATURE::CONDCOLL
}
// Wenn man sich genau am Ende einer Text- bzw. INetvorlage befindet,
@@ -1222,7 +1192,7 @@ lcl_GetTxtAttrs(
}
xub_StrLen const*const pEndIdx = pHint->GetEnd();
- ASSERT(pEndIdx || pHint->HasDummyChar(),
+ OSL_ENSURE(pEndIdx || pHint->HasDummyChar(),
"hint with no end and no dummy char?");
// Wenn bExpand gesetzt ist, wird das Verhalten bei Eingabe
// simuliert, d.h. der Start wuede verschoben, das Ende expandiert,
@@ -1265,7 +1235,7 @@ SwTxtAttr *
SwTxtNode::GetTxtAttrAt(xub_StrLen const nIndex, RES_TXTATR const nWhich,
enum GetTxtAttrMode const eMode) const
{
- ASSERT( (nWhich == RES_TXTATR_META)
+ OSL_ENSURE( (nWhich == RES_TXTATR_META)
|| (nWhich == RES_TXTATR_METAFIELD)
|| (nWhich == RES_TXTATR_AUTOFMT)
|| (nWhich == RES_TXTATR_INETFMT)
@@ -1301,12 +1271,12 @@ SwCharFmt* lcl_FindCharFmt( const SwCharFmts* pCharFmts, const XubString& rName
void lcl_CopyHint( const sal_uInt16 nWhich, const SwTxtAttr * const pHt,
SwTxtAttr *const pNewHt, SwDoc *const pOtherDoc, SwTxtNode *const pDest )
{
- ASSERT( nWhich == pHt->Which(), "Falsche Hint-Id" );
+ OSL_ENSURE( nWhich == pHt->Which(), "Falsche Hint-Id" );
switch( nWhich )
{
// copy nodesarray section with footnote content
case RES_TXTATR_FTN :
- ASSERT(pDest, "lcl_CopyHint: no destination text node?");
+ OSL_ENSURE(pDest, "lcl_CopyHint: no destination text node?");
static_cast<const SwTxtFtn*>(pHt)->CopyFtn(
*static_cast<SwTxtFtn*>(pNewHt), *pDest);
break;
@@ -1485,7 +1455,7 @@ void SwTxtNode::CopyAttr( SwTxtNode *pDest, const xub_StrLen nTxtStartIdx,
|* wird angehaengt
*************************************************************************/
-// --> OD 2008-11-18 #i96213#
+// #i96213#
// introduction of new optional parameter to control, if all attributes have to be copied.
void SwTxtNode::CopyText( SwTxtNode *const pDest,
const SwIndex &rStart,
@@ -1495,16 +1465,14 @@ void SwTxtNode::CopyText( SwTxtNode *const pDest,
SwIndex aIdx( pDest, pDest->m_Text.Len() );
CopyText( pDest, aIdx, rStart, nLen, bForceCopyOfAllAttrs );
}
-// <--
-// --> OD 2008-11-18 #i96213#
+// #i96213#
// introduction of new optional parameter to control, if all attributes have to be copied.
void SwTxtNode::CopyText( SwTxtNode *const pDest,
const SwIndex &rDestStart,
const SwIndex &rStart,
xub_StrLen nLen,
const bool bForceCopyOfAllAttrs )
-// <--
{
xub_StrLen nTxtStartIdx = rStart.GetIndex();
xub_StrLen nDestStart = rDestStart.GetIndex(); // alte Pos merken
@@ -1526,12 +1494,11 @@ void SwTxtNode::CopyText( SwTxtNode *const pDest,
if( HasSwAttrSet() )
{
// alle, oder nur die CharAttribute ?
- // --> OD 2008-11-18 #i96213#
+ // #i96213#
if ( !bForceCopyOfAllAttrs &&
( nDestStart ||
pDest->HasSwAttrSet() ||
nLen != pDest->GetTxt().Len() ) )
- // <--
{
SfxItemSet aCharSet( pDest->GetDoc()->GetAttrPool(),
RES_CHRATR_BEGIN, RES_CHRATR_END-1,
@@ -1573,12 +1540,11 @@ void SwTxtNode::CopyText( SwTxtNode *const pDest,
if( HasSwAttrSet() )
{
// alle, oder nur die CharAttribute ?
- // --> OD 2008-11-18 #i96213#
+ // #i96213#
if ( !bForceCopyOfAllAttrs &&
( nDestStart ||
pDest->HasSwAttrSet() ||
nLen != pDest->GetTxt().Len() ) )
- // <--
{
SfxItemSet aCharSet( pDest->GetDoc()->GetAttrPool(),
RES_CHRATR_BEGIN, RES_CHRATR_END-1,
@@ -1751,8 +1717,8 @@ void SwTxtNode::CopyText( SwTxtNode *const pDest,
void SwTxtNode::InsertText( const XubString & rStr, const SwIndex & rIdx,
const IDocumentContentOperations::InsertFlags nMode )
{
- ASSERT( rIdx <= m_Text.Len(), "SwTxtNode::InsertText: invalid index." );
- ASSERT( (sal_uLong)m_Text.Len() + (sal_uLong)rStr.Len() <= STRING_LEN,
+ OSL_ENSURE( rIdx <= m_Text.Len(), "SwTxtNode::InsertText: invalid index." );
+ OSL_ENSURE( (sal_uLong)m_Text.Len() + (sal_uLong)rStr.Len() <= STRING_LEN,
"SwTxtNode::InsertText: node text with insertion > STRING_LEN." );
xub_StrLen aPos = rIdx.GetIndex();
@@ -1852,8 +1818,6 @@ void SwTxtNode::InsertText( const XubString & rStr, const SwIndex & rIdx,
|* SwTxtNode::Cut()
|*
|* Beschreibung text.doc
-|* Ersterstellung VB 20.03.91
-|* Letzte Aenderung JP 11.08.94
|*
*************************************************************************/
@@ -1867,20 +1831,18 @@ void SwTxtNode::CutText( SwTxtNode * const pDest,
}
else
{
- ASSERT(false,
- "mst: entering dead and bitrotted code; fasten your seatbelts!");
+ OSL_FAIL("mst: entering dead and bitrotted code; fasten your seatbelts!");
EraseText( rStart, nLen );
}
}
void SwTxtNode::CutImpl( SwTxtNode * const pDest, const SwIndex & rDestStart,
- const SwIndex & rStart, /*const*/ xub_StrLen nLen, const bool bUpdate )
+ const SwIndex & rStart, xub_StrLen nLen, const bool bUpdate )
{
if(!pDest)
{
- ASSERT(false,
- "mst: entering dead and bitrotted code; fasten your seatbelts!");
+ OSL_FAIL("mst: entering dead and bitrotted code; fasten your seatbelts!");
EraseText( rStart, nLen );
return;
}
@@ -1888,8 +1850,7 @@ void SwTxtNode::CutImpl( SwTxtNode * const pDest, const SwIndex & rDestStart,
// nicht im Dokument verschieben ?
if( GetDoc() != pDest->GetDoc() )
{
- ASSERT(false,
- "mst: entering dead and bitrotted code; fasten your seatbelts!");
+ OSL_FAIL("mst: entering dead and bitrotted code; fasten your seatbelts!");
CopyText( pDest, rDestStart, rStart, nLen);
EraseText(rStart, nLen);
return;
@@ -1910,8 +1871,7 @@ void SwTxtNode::CutImpl( SwTxtNode * const pDest, const SwIndex & rDestStart,
// wird in sich selbst verschoben, muss es gesondert behandelt werden !!
if( pDest == this )
{
- ASSERT(false,
- "mst: entering dead and bitrotted code; fasten your seatbelts!");
+ OSL_FAIL("mst: entering dead and bitrotted code; fasten your seatbelts!");
m_Text.Insert( m_Text, nTxtStartIdx, nLen, nDestStart );
m_Text.Erase( nTxtStartIdx + (nDestStart<nTxtStartIdx ? nLen : 0), nLen );
@@ -1989,24 +1949,7 @@ void SwTxtNode::CutImpl( SwTxtNode * const pDest, const SwIndex & rDestStart,
// Update aller Indizies
Update( rDestStart, nLen, sal_False, sal_True );
}
-#ifdef CUTNOEXPAND
- else
- // wird am Ende eingefuegt, nur die Attribut-Indizies verschieben
- if ( 0 < nLen && 0 < nInitSize && m_pSwpHints )
- {
- // check if there was the end of an attribute at the insertion
- // position: if it is not a field, it must be expanded
- for ( sal_uInt16 n = 0; n < m_pSwpHints->Count(); n++ )
- {
- SwTxtAttr * const pHt = m_pSwpHints->GetTextHint(n);
- const xub_StrLen * const pEndIdx = pHt->GetEnd();
- if ( pEndIdx && (*pEndIdx == nInitSize) )
- {
- *pEndIdx = *pEndIdx + nLen;
- }
- }
- }
-#endif
+
CHECK_SWPHINTS(this);
Update( rStart, nLen, sal_True, sal_True );
@@ -2048,24 +1991,7 @@ void SwTxtNode::CutImpl( SwTxtNode * const pDest, const SwIndex & rDestStart,
// Update aller Indizies
pDest->Update( rDestStart, nLen, sal_False, sal_True);
}
-#ifdef CUTNOEXPAND
- else
- // wird am Ende eingefuegt, nur die Attribut-Indizies verschieben
- if ( 0 < nLen && 0 < nInitSize && pDest->m_pSwpHints )
- {
- // check if there was the end of an attribute at the insertion
- // position: if it is not a field, it must be expanded
- for ( sal_uInt16 n = 0; n < pDest->m_pSwpHints->Count(); n++ )
- {
- SwTxtAttr * const pHt = pDest->m_pSwpHints->GetTextHint(n);
- const xub_StrLen * const pEndIdx = pHt->GetEnd();
- if ( pEndIdx && (*pEndIdx == nInitSize) )
- {
- *pEndIdx = *pEndIdx + nLen;
- }
- }
- }
-#endif
+
CHECK_SWPHINTS(pDest);
const xub_StrLen nEnd = rStart.GetIndex() + nLen;
@@ -2074,7 +2000,7 @@ void SwTxtNode::CutImpl( SwTxtNode * const pDest, const SwIndex & rDestStart,
bool const bUndoNodes = !pOtherDoc
&& GetDoc()->GetIDocumentUndoRedo().IsUndoNodes(GetNodes());
- ASSERT(!pOtherDoc,
+ OSL_ENSURE(!pOtherDoc,
"mst: entering dead and bitrotted code; fasten your seatbelts!");
// harte Absatz umspannende Attribute kopieren
@@ -2241,7 +2167,7 @@ void SwTxtNode::CutImpl( SwTxtNode * const pDest, const SwIndex & rDestStart,
void SwTxtNode::EraseText(const SwIndex &rIdx, const xub_StrLen nCount,
const IDocumentContentOperations::InsertFlags nMode )
{
- ASSERT( rIdx <= m_Text.Len(), "SwTxtNode::EraseText: invalid index." );
+ OSL_ENSURE( rIdx <= m_Text.Len(), "SwTxtNode::EraseText: invalid index." );
const xub_StrLen nStartIdx = rIdx.GetIndex();
const xub_StrLen nCnt = (STRING_LEN == nCount)
@@ -2271,7 +2197,7 @@ void SwTxtNode::EraseText(const SwIndex &rIdx, const xub_StrLen nCount,
if( !pHtEndIdx )
{
- ASSERT(pHt->HasDummyChar(),
+ OSL_ENSURE(pHt->HasDummyChar(),
"attribute with neither end nor CH_TXTATR?");
if (isTXTATR(nWhich) &&
(nHintStart >= nStartIdx) && (nHintStart < nEndIdx))
@@ -2283,7 +2209,7 @@ void SwTxtNode::EraseText(const SwIndex &rIdx, const xub_StrLen nCount,
continue;
}
- ASSERT (!( (nHintStart < nEndIdx) && (*pHtEndIdx > nEndIdx)
+ OSL_ENSURE(!( (nHintStart < nEndIdx) && (*pHtEndIdx > nEndIdx)
&& pHt->HasDummyChar() )
// next line: deleting exactly dummy char: DeleteAttributes
|| ((nHintStart == nStartIdx) && (nHintStart + 1 == nEndIdx)),
@@ -2301,16 +2227,10 @@ void SwTxtNode::EraseText(const SwIndex &rIdx, const xub_StrLen nCount,
!(IDocumentContentOperations::INS_EMPTYEXPAND & nMode) &&
( (RES_TXTATR_TOXMARK == nWhich) ||
(RES_TXTATR_REFMARK == nWhich) ||
- // --> FME 2006-03-03 #i62668# Ruby text attribute must be
+ // #i62668# Ruby text attribute must be
// treated just like toxmark and refmarks
(RES_TXTATR_CJK_RUBY == nWhich) ) )
- // <--
-#if 0
- || ( (nHintStart == nStartIdx) &&
- (nHintStart + 1 == nEndIdx)&&
-#else // generalize this to left-overlapped dummy char hints (see ASSERT)
|| ( (nHintStart < nEndIdx) &&
-#endif
pHt->HasDummyChar() )
)
{
@@ -2320,7 +2240,7 @@ void SwTxtNode::EraseText(const SwIndex &rIdx, const xub_StrLen nCount,
}
}
- ASSERT(rIdx.GetIndex() == nStartIdx, "huh? start index has changed?");
+ OSL_ENSURE(rIdx.GetIndex() == nStartIdx, "huh? start index has changed?");
TryDeleteSwpHints();
@@ -2337,7 +2257,7 @@ void SwTxtNode::EraseText(const SwIndex &rIdx, const xub_StrLen nCount,
NotifyClients( 0, &aHint );
}
- ASSERT(rIdx.GetIndex() == nStartIdx, "huh? start index has changed?");
+ OSL_ENSURE(rIdx.GetIndex() == nStartIdx, "huh? start index has changed?");
// By deleting a character, the hidden flags
// at the TxtNode can become invalid:
@@ -2352,9 +2272,6 @@ void SwTxtNode::EraseText(const SwIndex &rIdx, const xub_StrLen nCount,
#*
#* Beschreibung
#* text.doc
-#*
-#* Datum : MS 28.11.90
-#* Update : VB 24.07.91
#***********************************************************************/
void SwTxtNode::GCAttr()
@@ -2435,84 +2352,7 @@ SwNumRule* SwTxtNode::_GetNumRule(sal_Bool bInParent) const
}
}
}
-
- // --> OD 2006-11-20 #i71764#
- // Document setting OUTLINE_LEVEL_YIELDS_OUTLINE_RULE has no influence
- // any more.
-// if ( !pRet &&
-// GetDoc()->get(IDocumentSettingAccess::OUTLINE_LEVEL_YIELDS_OUTLINE_RULE) &&
-// GetOutlineLevel() != NO_NUMBERING )
-// {
-// pRet = GetDoc()->GetOutlineNumRule();
-// }
- // <--
- }
- // old code before tuning
-// // --> OD 2005-10-25 #126347#
-// // determine of numbering/bullet rule, which is set as a hard attribute
-// // at the text node
-// const SfxPoolItem* pItem( 0L );
-// if ( HasSwAttrSet() ) // does text node has hard attributes ?
-// {
-// if ( SFX_ITEM_SET !=
-// GetpSwAttrSet()->GetItemState( RES_PARATR_NUMRULE, sal_False, &pItem ) )
-// {
-// pItem = 0L;
-// }
-// // else: <pItem> contains the numbering/bullet attribute, which is
-// // hard set at the paragraph.
-
-// }
-// // <--
-// bool bNoNumRule = false;
-// if (pItem)
-// {
-// String sNumRuleName = static_cast<const SwNumRuleItem *>(pItem)->GetValue();
-// if (sNumRuleName.Len() > 0)
-// {
-// pRet = GetDoc()->FindNumRulePtr(sNumRuleName);
-// }
-// else // numbering is turned off by hard attribute
-// bNoNumRule = true;
-// }
-
-// if (! bNoNumRule)
-// {
-// if (! pRet && bInParent)
-// {
-// SwTxtFmtColl * pColl = GetTxtColl();
-
-// if (pColl)
-// {
-// const SwNumRuleItem & rItem = pColl->GetNumRule(sal_True);
-
-// pRet = const_cast<SwDoc *>(GetDoc())->
-// FindNumRulePtrWithPool(rItem.GetValue());
-// // --> OD 2005-10-13 #125993# - The outline numbering rule
-// // isn't allowed to be derived from a parent paragraph style
-// // to a derived one.
-// // Thus check, if the found outline numbering rule is directly
-// // set at the paragraph style <pColl>. If not, don't return
-// // the outline numbering rule.
-// if ( pRet && pRet == GetDoc()->GetOutlineNumRule() )
-// {
-// const SwNumRuleItem& rDirectItem = pColl->GetNumRule(sal_False);
-// SwNumRule* pNumRuleAtParaStyle = const_cast<SwDoc*>(GetDoc())->
-// FindNumRulePtrWithPool(rDirectItem.GetValue());
-// if ( !pNumRuleAtParaStyle )
-// {
-// pRet = 0L;
-// }
-// }
-// // <--
-// }
-// }
-
-// if (!pRet && GetDoc()->IsOutlineLevelYieldsOutlineRule() &&
-// GetOutlineLevel() != NO_NUMBERING)
-// pRet = GetDoc()->GetOutlineNumRule();
-// }
- // <--
+ }
return pRet;
}
@@ -2526,7 +2366,6 @@ SwNumRule* SwTxtNode::GetNumRule(sal_Bool bInParent) const
void SwTxtNode::NumRuleChgd()
{
- // --> OD 2008-04-04 #refactorlists#
if ( IsInList() )
{
SwNumRule* pNumRule = GetNumRule();
@@ -2535,7 +2374,6 @@ void SwTxtNode::NumRuleChgd()
mpNodeNum->ChangeNumRule( *pNumRule );
}
}
- // <--
if( IsInCache() )
{
@@ -2566,7 +2404,6 @@ sal_Bool SwTxtNode::IsNumbered() const
return bResult;
}
-// --> OD 2008-04-02 #refactorlists#
bool SwTxtNode::HasMarkedLabel() const
{
bool bResult = false;
@@ -2579,7 +2416,6 @@ bool SwTxtNode::HasMarkedLabel() const
return bResult;
}
-// <--
// <- #i27615#
SwTxtNode* SwTxtNode::_MakeNewTxtNode( const SwNodeIndex& rPos, sal_Bool bNext,
@@ -2587,9 +2423,8 @@ SwTxtNode* SwTxtNode::_MakeNewTxtNode( const SwNodeIndex& rPos, sal_Bool bNext,
{
/* hartes PageBreak/PageDesc/ColumnBreak aus AUTO-Set ignorieren */
SwAttrSet* pNewAttrSet = 0;
- // --> OD 2007-07-10 #i75353#
+ // #i75353#
bool bClearHardSetNumRuleWhenFmtCollChanges( false );
- // <--
if( HasSwAttrSet() )
{
pNewAttrSet = new SwAttrSet( *GetpSwAttrSet() );
@@ -2640,18 +2475,16 @@ SwTxtNode* SwTxtNode::_MakeNewTxtNode( const SwNodeIndex& rPos, sal_Bool bNext,
pNewAttrSet->ClearItem(RES_PARATR_NUMRULE);
else
{
- // --> OD 2007-07-10 #i75353#
+ // #i75353#
// No clear of hard set numbering rule at an outline paragraph at this point.
// Only if the paragraph style changes - see below.
-// aClearWhichIds.push_back( RES_PARATR_NUMRULE );
bClearHardSetNumRuleWhenFmtCollChanges = true;
- // <--
}
bRemoveFromCache = sal_True;
}
}
- if ( 0 != aClearWhichIds.size() )
+ if ( !aClearWhichIds.empty() )
bRemoveFromCache = 0 != ClearItemsFromAttrSet( aClearWhichIds );
if( !bNext && bRemoveFromCache && IsInCache() )
@@ -2672,12 +2505,11 @@ SwTxtNode* SwTxtNode::_MakeNewTxtNode( const SwNodeIndex& rPos, sal_Bool bNext,
const SwNumRule* pRule = GetNumRule();
if( pRule && pRule == pNode->GetNumRule() && rNds.IsDocNodes() ) // #115901#
{
- // --> OD 2005-10-18 #i55459#
+ // #i55459#
// - correction: parameter <bNext> has to be checked, as it was in the
// previous implementation.
if ( !bNext && !IsCountedInList() )
SetCountedInList(true);
- // <--
}
// jetzt kann es sein, das durch die Nummerierung dem neuen Node eine
@@ -2692,11 +2524,11 @@ SwTxtNode* SwTxtNode::_MakeNewTxtNode( const SwNodeIndex& rPos, sal_Bool bNext,
return pNode;
SwTxtFmtColl *pNextColl = &pColl->GetNextTxtFmtColl();
- // --> OD 2009-08-12 #i101870#
+ // #i101870#
// perform action on different paragraph styles before applying the new paragraph style
if (pNextColl != pColl)
{
- // --> OD 2007-07-10 #i75353#
+ // #i75353#
if ( bClearHardSetNumRuleWhenFmtCollChanges )
{
std::vector<sal_uInt16> aClearWhichIds;
@@ -2707,9 +2539,7 @@ SwTxtNode* SwTxtNode::_MakeNewTxtNode( const SwNodeIndex& rPos, sal_Bool bNext,
SetInCache( sal_False );
}
}
- // <--
}
- // <--
ChgFmtColl( pNextColl );
return pNode;
@@ -2721,7 +2551,6 @@ SwCntntNode* SwTxtNode::AppendNode( const SwPosition & rPos )
SwNodeIndex aIdx( rPos.nNode, 1 );
SwTxtNode* pNew = _MakeNewTxtNode( aIdx, sal_True );
- // --> OD 2008-05-14 #refactorlists#
// reset list attributes at appended text node
pNew->ResetAttr( RES_PARATR_LIST_ISRESTART );
pNew->ResetAttr( RES_PARATR_LIST_RESTARTVALUE );
@@ -2731,14 +2560,11 @@ SwCntntNode* SwTxtNode::AppendNode( const SwPosition & rPos )
pNew->ResetAttr( RES_PARATR_LIST_ID );
pNew->ResetAttr( RES_PARATR_LIST_LEVEL );
}
- // <--
- // --> OD 2008-03-13 #refactorlists#
-// SyncNumberAndNumRule();
+
if ( !IsInList() && GetNumRule() && GetListId().Len() > 0 )
{
AddToList();
}
- // <--
if( GetDepends() )
MakeFrms( *pNew );
@@ -2806,7 +2632,7 @@ sal_Bool SwTxtNode::HasBullet() const
}
// <- #i29560#
-// --> OD 2005-11-17 #128041# - introduce parameter <_bInclPrefixAndSuffixStrings>
+// #128041# - introduce parameter <_bInclPrefixAndSuffixStrings>
//i53420 added max outline parameter
XubString SwTxtNode::GetNumString( const bool _bInclPrefixAndSuffixStrings, const unsigned int _nRestrictToThisLevel ) const
{
@@ -2822,7 +2648,7 @@ XubString SwTxtNode::GetNumString( const bool _bInclPrefixAndSuffixStrings, cons
SvxNumberType const& rNumberType(
pRule->Get( static_cast<sal_uInt16>(GetActualListLevel()) ) );
if (rNumberType.IsTxtFmt() ||
- // #b6432095#
+ //
(style::NumberingType::NUMBER_NONE == rNumberType.GetNumberingType()))
{
return pRule->MakeNumString( GetNum()->GetNumberVector(),
@@ -2842,7 +2668,7 @@ long SwTxtNode::GetLeftMarginWithNum( sal_Bool bTxtLeft ) const
if( pRule )
{
const SwNumFmt& rFmt = pRule->Get(static_cast<sal_uInt16>(GetActualListLevel()));
- // --> OD 2008-01-16 #newlistlevelattrs#
+
if ( rFmt.GetPositionAndSpaceMode() == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
{
nRet = rFmt.GetAbsLSpace();
@@ -2864,17 +2690,15 @@ long SwTxtNode::GetLeftMarginWithNum( sal_Bool bTxtLeft ) const
if ( AreListLevelIndentsApplicable() )
{
nRet = rFmt.GetIndentAt();
- // --> OD 2008-06-06 #i90401#
+ // #i90401#
// Only negative first line indents have consider for the left margin
if ( !bTxtLeft &&
rFmt.GetFirstLineIndent() < 0 )
{
nRet = nRet + rFmt.GetFirstLineIndent();
}
- // <--
}
}
- // <--
}
return nRet;
@@ -2883,17 +2707,15 @@ long SwTxtNode::GetLeftMarginWithNum( sal_Bool bTxtLeft ) const
sal_Bool SwTxtNode::GetFirstLineOfsWithNum( short& rFLOffset ) const
{
sal_Bool bRet( sal_False );
- // --> OD 2009-09-08 #i95907#, #b6879723#
+ // #i95907#
rFLOffset = 0;
- // <--
- // --> OD 2005-11-02 #i51089 - TUNING#
+ // #i51089#
const SwNumRule* pRule = GetNum() ? GetNum()->GetNumRule() : 0L;
if ( pRule )
{
if ( IsCountedInList() )
{
- // --> OD 2008-01-16 #newlistlevelattrs#
const SwNumFmt& rFmt = pRule->Get(static_cast<sal_uInt16>(GetActualListLevel()));
if ( rFmt.GetPositionAndSpaceMode() == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
{
@@ -2917,7 +2739,6 @@ sal_Bool SwTxtNode::GetFirstLineOfsWithNum( short& rFLOffset ) const
rFLOffset = aItem.GetTxtFirstLineOfst();
}
}
- // <--
}
bRet = sal_True;
@@ -2930,7 +2751,7 @@ sal_Bool SwTxtNode::GetFirstLineOfsWithNum( short& rFLOffset ) const
return bRet;
}
-// --> OD 2010-01-05 #b6884103#
+//
SwTwips SwTxtNode::GetAdditionalIndentForStartingNewList() const
{
SwTwips nAdditionalIndent = 0;
@@ -2973,9 +2794,8 @@ SwTwips SwTxtNode::GetAdditionalIndentForStartingNewList() const
return nAdditionalIndent;
}
-// <--
-// --> OD 2008-12-02 #i96772#
+// #i96772#
void SwTxtNode::ClearLRSpaceItemDueToListLevelIndents( SvxLRSpaceItem& o_rLRSpaceItem ) const
{
if ( AreListLevelIndentsApplicable() )
@@ -2992,9 +2812,8 @@ void SwTxtNode::ClearLRSpaceItemDueToListLevelIndents( SvxLRSpaceItem& o_rLRSpac
}
}
}
-// <--
-// --> OD 2008-07-01 #i91133#
+// #i91133#
long SwTxtNode::GetLeftMarginForTabCalculation() const
{
long nLeftMarginForTabCalc = 0;
@@ -3020,7 +2839,6 @@ long SwTxtNode::GetLeftMarginForTabCalculation() const
return nLeftMarginForTabCalc;
}
-// <--
void SwTxtNode::Replace0xFF( XubString& rTxt, xub_StrLen& rTxtStt,
xub_StrLen nEndPos, sal_Bool bExpandFlds ) const
@@ -3092,7 +2910,7 @@ void SwTxtNode::Replace0xFF( XubString& rTxt, xub_StrLen& rTxtStt,
* SwTxtNode::GetExpandTxt
* Expand fields
*************************************************************************/
-// --> OD 2007-11-15 #i83479# - handling of new parameters
+// #i83479# - handling of new parameters
XubString SwTxtNode::GetExpandTxt( const xub_StrLen nIdx,
const xub_StrLen nLen,
const bool bWithNum,
@@ -3130,7 +2948,6 @@ XubString SwTxtNode::GetExpandTxt( const xub_StrLen nIdx,
return aTxt;
}
-// <--
sal_Bool SwTxtNode::GetExpandTxt( SwTxtNode& rDestNd, const SwIndex* pDestIdx,
xub_StrLen nIdx, xub_StrLen nLen, sal_Bool bWithNum,
@@ -3394,7 +3211,7 @@ XubString SwTxtNode::GetRedlineTxt( xub_StrLen nIdx, xub_StrLen nLen,
void SwTxtNode::ReplaceText( const SwIndex& rStart, const xub_StrLen nDelLen,
const XubString& rText )
{
- ASSERT( rStart.GetIndex() < m_Text.Len() &&
+ OSL_ENSURE( rStart.GetIndex() < m_Text.Len() &&
rStart.GetIndex() + nDelLen <= m_Text.Len(),
"SwTxtNode::ReplaceText: index out of bounds" );
const xub_StrLen nStartPos = rStart.GetIndex();
@@ -3408,7 +3225,7 @@ void SwTxtNode::ReplaceText( const SwIndex& rStart, const xub_StrLen nDelLen,
SwTxtAttr *const pHint = GetTxtAttrForCharAt( nPos );
if (pHint)
{
- ASSERT (!( pHint->GetEnd() && pHint->HasDummyChar()
+ OSL_ENSURE(!( pHint->GetEnd() && pHint->HasDummyChar()
&& (*pHint->GetStart() < nEndPos)
&& (*pHint->GetEnd() > nEndPos) ),
"ReplaceText: ERROR: "
@@ -3454,8 +3271,21 @@ void SwTxtNode::ReplaceText( const SwIndex& rStart, const xub_StrLen nDelLen,
NotifyClients( 0, &aHint );
}
-// --> OD 2008-03-27 #refactorlists#
namespace {
+ static void lcl_ResetParAttrs( SwTxtNode &rTxtNode )
+ {
+ std::set<sal_uInt16> aAttrs;
+ aAttrs.insert( aAttrs.end(), RES_PARATR_LIST_ID );
+ aAttrs.insert( aAttrs.end(), RES_PARATR_LIST_LEVEL );
+ aAttrs.insert( aAttrs.end(), RES_PARATR_LIST_ISRESTART );
+ aAttrs.insert( aAttrs.end(), RES_PARATR_LIST_RESTARTVALUE );
+ aAttrs.insert( aAttrs.end(), RES_PARATR_LIST_ISCOUNTED );
+ SwPaM aPam( rTxtNode );
+ // #i96644#
+ // suppress side effect "send data changed events"
+ rTxtNode.GetDoc()->ResetAttrs( aPam, sal_False, aAttrs, false );
+ }
+
// Helper method for special handling of modified attributes at text node.
// The following is handled:
// (1) on changing the paragraph style - RES_FMT_CHG:
@@ -3482,19 +3312,14 @@ namespace {
bParagraphStyleChanged = true;
if( rTxtNode.GetNodes().IsDocNodes() )
{
- // --> OD 2008-12-17 #i70748#
- // The former list style set at the paragraph can not be
- // retrieved from the change set.
-// sOldNumRule =
-// dynamic_cast<const SwFmtChg*>(pOldValue)->pChangedFmt->GetNumRule().GetValue();
+ // #i70748#
const SwNumRule* pFormerNumRuleAtTxtNode =
rTxtNode.GetNum() ? rTxtNode.GetNum()->GetNumRule() : 0;
if ( pFormerNumRuleAtTxtNode )
{
sOldNumRule = pFormerNumRuleAtTxtNode->GetName();
}
- // <--
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
if ( rTxtNode.IsEmptyListStyleDueToSetOutlineLevelAttr() )
{
const SwNumRuleItem& rNumRuleItem = rTxtNode.GetTxtColl()->GetNumRule();
@@ -3503,7 +3328,7 @@ namespace {
rTxtNode.ResetEmptyListStyleDueToResetOutlineLevelAttr();
}
}
- // <--
+
const SwNumRule* pNumRuleAtTxtNode = rTxtNode.GetNumRule();
if ( pNumRuleAtTxtNode )
{
@@ -3516,80 +3341,54 @@ namespace {
case RES_ATTRSET_CHG:
{
const SfxPoolItem* pItem = 0;
- // --> OD 2008-12-19 #i70748#
- // The former list style set at the paragraph can not be
- // retrieved from the change set.
-// if ( dynamic_cast<const SwAttrSetChg*>(pOldValue)->GetChgSet()->GetItemState( RES_PARATR_NUMRULE, sal_False, &pItem ) ==
-// SFX_ITEM_SET )
-// {
-// sOldNumRule = dynamic_cast<const SwNumRuleItem*>(pItem)->GetValue();
-// }
+ // #i70748#
const SwNumRule* pFormerNumRuleAtTxtNode =
rTxtNode.GetNum() ? rTxtNode.GetNum()->GetNumRule() : 0;
if ( pFormerNumRuleAtTxtNode )
{
sOldNumRule = pFormerNumRuleAtTxtNode->GetName();
}
- // <--
+
if ( dynamic_cast<const SwAttrSetChg*>(pNewValue)->GetChgSet()->GetItemState( RES_PARATR_NUMRULE, sal_False, &pItem ) ==
SFX_ITEM_SET )
{
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
rTxtNode.ResetEmptyListStyleDueToResetOutlineLevelAttr();
- // <--
bNumRuleSet = true;
- // The new list style set at the paragraph can not be
- // retrieved from the change set.
-// sNumRule = dynamic_cast<const SwNumRuleItem*>(pItem)->GetValue();
- // <--
}
- // --> OD 2008-12-17 #i70748#
+ // #i70748#
// The new list style set at the paragraph.
const SwNumRule* pNumRuleAtTxtNode = rTxtNode.GetNumRule();
if ( pNumRuleAtTxtNode )
{
sNumRule = pNumRuleAtTxtNode->GetName();
}
- // <--
break;
}
case RES_PARATR_NUMRULE:
{
if ( rTxtNode.GetNodes().IsDocNodes() )
{
- // The former list style set at the paragraph can not be
- // retrieved from the change set.
-// if ( pOldValue )
-// {
-// sOldNumRule = dynamic_cast<const SwNumRuleItem*>(pOldValue)->GetValue();
-// }
const SwNumRule* pFormerNumRuleAtTxtNode =
rTxtNode.GetNum() ? rTxtNode.GetNum()->GetNumRule() : 0;
if ( pFormerNumRuleAtTxtNode )
{
sOldNumRule = pFormerNumRuleAtTxtNode->GetName();
}
- // <--
+
if ( pNewValue )
{
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
rTxtNode.ResetEmptyListStyleDueToResetOutlineLevelAttr();
- // <--
bNumRuleSet = true;
- // --> OD 2008-12-17 #i70748#
- // The new list style set at the paragraph can not be
- // retrieved from the change set.
-// sNumRule = dynamic_cast<const SwNumRuleItem*>(pNewValue)->GetValue();
- // <--
}
- // --> OD 2008-12-17 #i70748#
+ // #i70748#
// The new list style set at the paragraph.
const SwNumRule* pNumRuleAtTxtNode = rTxtNode.GetNumRule();
if ( pNumRuleAtTxtNode )
{
sNumRule = pNumRuleAtTxtNode->GetName();
}
- // <--
}
break;
}
@@ -3603,19 +3402,7 @@ namespace {
rTxtNode.RemoveFromList();
if ( bParagraphStyleChanged )
{
- SvUShortsSort aResetAttrsArray;
- aResetAttrsArray.Insert( RES_PARATR_LIST_ID );
- aResetAttrsArray.Insert( RES_PARATR_LIST_LEVEL );
- aResetAttrsArray.Insert( RES_PARATR_LIST_ISRESTART );
- aResetAttrsArray.Insert( RES_PARATR_LIST_RESTARTVALUE );
- aResetAttrsArray.Insert( RES_PARATR_LIST_ISCOUNTED );
- SwPaM aPam( rTxtNode );
- // --> OD 2008-11-28 #i96644#
- // suppress side effect "send data changed events"
- rTxtNode.GetDoc()->ResetAttrs( aPam, sal_False,
- &aResetAttrsArray,
- false );
- // <--
+ ::lcl_ResetParAttrs(rTxtNode);
}
}
else
@@ -3626,12 +3413,11 @@ namespace {
if ( sNumRule ==
String::CreateFromAscii( SwNumRule::GetOutlineRuleName() ) )
{
- // --> OD 2008-09-10 #i70748#
- ASSERT( rTxtNode.GetTxtColl()->IsAssignedToListLevelOfOutlineStyle(),
+ // #i70748#
+ OSL_ENSURE( rTxtNode.GetTxtColl()->IsAssignedToListLevelOfOutlineStyle(),
"<HandleModifyAtTxtNode()> - text node with outline style, but its paragraph style is not assigned to outline style." );
int nNewListLevel =
rTxtNode.GetTxtColl()->GetAssignedOutlineStyleLevel();
- // <--
if ( 0 <= nNewListLevel && nNewListLevel < MAXLEVEL )
{
rTxtNode.SetAttrListLevel( nNewListLevel );
@@ -3645,25 +3431,12 @@ namespace {
rTxtNode.RemoveFromList();
if ( bParagraphStyleChanged )
{
- SvUShortsSort aResetAttrsArray;
- aResetAttrsArray.Insert( RES_PARATR_LIST_ID );
- aResetAttrsArray.Insert( RES_PARATR_LIST_LEVEL );
- aResetAttrsArray.Insert( RES_PARATR_LIST_ISRESTART );
- aResetAttrsArray.Insert( RES_PARATR_LIST_RESTARTVALUE );
- aResetAttrsArray.Insert( RES_PARATR_LIST_ISCOUNTED );
- SwPaM aPam( rTxtNode );
- // --> OD 2008-11-28 #i96644#
- // suppress side effect "send data changed events"
- rTxtNode.GetDoc()->ResetAttrs( aPam, sal_False,
- &aResetAttrsArray,
- false );
- // <--
- // --> OD 2008-11-19 #i70748#
+ ::lcl_ResetParAttrs(rTxtNode);
+ // #i70748#
if ( dynamic_cast<const SfxUInt16Item &>(rTxtNode.GetAttr( RES_PARATR_OUTLINELEVEL, sal_False )).GetValue() > 0 )
{
rTxtNode.SetEmptyListStyleDueToSetOutlineLevelAttr();
}
- // <--
}
}
}
@@ -3671,11 +3444,9 @@ namespace {
{
rTxtNode.AddToList();
}
- // <--
}
// End of method <HandleModifyAtTxtNode>
}
-// <--
void SwTxtNode::Modify( const SfxPoolItem* pOldValue, const SfxPoolItem* pNewValue )
{
@@ -3696,19 +3467,16 @@ void SwTxtNode::Modify( const SfxPoolItem* pOldValue, const SfxPoolItem* pNewVal
(SwTxtFmtColl*)((SwFmtChg*)pNewValue)->pChangedFmt );
}
- // --> OD 2008-03-27 #refactorlists#
if ( !mbInSetOrResetAttr )
{
HandleModifyAtTxtNode( *this, pOldValue, pNewValue );
}
- // <--
SwCntntNode::Modify( pOldValue, pNewValue );
SwDoc * pDoc = GetDoc();
- // --> OD 2005-11-02 #125329# - assure that text node is in document nodes array
+ // #125329# - assure that text node is in document nodes array
if ( pDoc && !pDoc->IsInDtor() && &pDoc->GetNodes() == &GetNodes() )
- // <--
{
pDoc->GetNodes().UpdateOutlineNode(*this);
}
@@ -3724,8 +3492,8 @@ void SwTxtNode::Modify( const SfxPoolItem* pOldValue, const SfxPoolItem* pNewVal
SwFmtColl* SwTxtNode::ChgFmtColl( SwFmtColl *pNewColl )
{
- ASSERT( pNewColl,"ChgFmtColl: Collectionpointer ist 0." );
- ASSERT( HAS_BASE( SwTxtFmtColl, pNewColl ),
+ OSL_ENSURE( pNewColl,"ChgFmtColl: Collectionpointer ist 0." );
+ OSL_ENSURE( HAS_BASE( SwTxtFmtColl, pNewColl ),
"ChgFmtColl: ist kein Text-Collectionpointer." );
SwTxtFmtColl *pOldColl = GetTxtColl();
@@ -3733,11 +3501,9 @@ SwFmtColl* SwTxtNode::ChgFmtColl( SwFmtColl *pNewColl )
{
SetCalcHiddenCharFlags();
SwCntntNode::ChgFmtColl( pNewColl );
- // --> OD 2008-03-27 #refactorlists#
-// NumRuleChgd();
#if OSL_DEBUG_LEVEL > 1
- ASSERT( !mbInSetOrResetAttr,
- "DEBUG ASSERTION - <SwTxtNode::ChgFmtColl(..)> called during <Set/ResetAttr(..)>" )
+ OSL_ENSURE( !mbInSetOrResetAttr,
+ "DEBUG OSL_ENSURE(ON - <SwTxtNode::ChgFmtColl(..)> called during <Set/ResetAttr(..)>" );
#endif
if ( !mbInSetOrResetAttr )
{
@@ -3745,7 +3511,6 @@ SwFmtColl* SwTxtNode::ChgFmtColl( SwFmtColl *pNewColl )
SwFmtChg aTmp2( pNewColl );
HandleModifyAtTxtNode( *this, &aTmp1, &aTmp2 );
}
- // <--
}
// nur wenn im normalen Nodes-Array
@@ -3763,9 +3528,7 @@ SwNodeNum* SwTxtNode::CreateNum() const
{
if ( !mpNodeNum )
{
- // --> OD 2008-02-19 #refactorlists#
mpNodeNum = new SwNodeNum( const_cast<SwTxtNode*>(this) );
- // <--
}
return mpNodeNum;
}
@@ -3787,8 +3550,7 @@ bool SwTxtNode::IsOutline() const
{
bool bResult = false;
- //if ( GetOutlineLevel() != NO_NUMBERING )//#outline level,removed by zhaojianwei
- if ( GetAttrOutlineLevel() > 0 ) //<-end,zhaojianwei
+ if ( GetAttrOutlineLevel() > 0 )
{
bResult = !IsInRedlines();
}
@@ -3821,7 +3583,7 @@ int SwTxtNode::GetAttrOutlineLevel() const
}
void SwTxtNode::SetAttrOutlineLevel(int nLevel)
{
- ASSERT( 0 <= nLevel && nLevel <= MAXLEVEL ,"SwTxtNode: Level Out Of Range" );//#outline level,zhaojianwei
+ OSL_ENSURE( 0 <= nLevel && nLevel <= MAXLEVEL ,"SwTxtNode: Level Out Of Range" );//#outline level,zhaojianwei
if ( 0 <= nLevel && nLevel <= MAXLEVEL )
{
SetAttr( SfxUInt16Item( RES_PARATR_OUTLINELEVEL,
@@ -3830,7 +3592,7 @@ void SwTxtNode::SetAttrOutlineLevel(int nLevel)
}
//<-end
-// --> OD 2008-11-19 #i70748#
+// #i70748#
bool SwTxtNode::IsEmptyListStyleDueToSetOutlineLevelAttr()
{
return mbEmptyListStyleSetDueToSetOutlineLevelAttr;
@@ -3853,16 +3615,13 @@ void SwTxtNode::ResetEmptyListStyleDueToResetOutlineLevelAttr()
mbEmptyListStyleSetDueToSetOutlineLevelAttr = false;
}
}
-// <--
-// --> OD 2008-02-27 #refactorlists#
void SwTxtNode::SetAttrListLevel( int nLevel )
{
if ( nLevel < 0 || nLevel >= MAXLEVEL )
{
- ASSERT( false,
- "<SwTxtNode::SetAttrListLevel()> - value of parameter <nLevel> is out of valid range" );
+ OSL_FAIL( "<SwTxtNode::SetAttrListLevel()> - value of parameter <nLevel> is out of valid range" );
return;
}
@@ -3870,15 +3629,13 @@ void SwTxtNode::SetAttrListLevel( int nLevel )
static_cast<sal_Int16>(nLevel) );
SetAttr( aNewListLevelItem );
}
-// <--
-// --> OD 2008-02-27 #refactorlists#
+
bool SwTxtNode::HasAttrListLevel() const
{
return GetpSwAttrSet() &&
GetpSwAttrSet()->GetItemState( RES_PARATR_LIST_LEVEL, sal_False ) == SFX_ITEM_SET;
}
-// <--
-// --> OD 2008-02-27 #refactorlists#
+
int SwTxtNode::GetAttrListLevel() const
{
int nAttrListLevel = 0;
@@ -3889,14 +3646,12 @@ int SwTxtNode::GetAttrListLevel() const
return nAttrListLevel;
}
-// <--
int SwTxtNode::GetActualListLevel() const
{
return GetNum() ? GetNum()->GetLevelInListTree() : -1;
}
-// --> OD 2008-02-25 #refactorlists#
void SwTxtNode::SetListRestart( bool bRestart )
{
// CreateNum()->SetRestart(bRestart);
@@ -3914,7 +3669,6 @@ void SwTxtNode::SetListRestart( bool bRestart )
}
}
-// --> OD 2008-02-25 #refactorlists#
bool SwTxtNode::IsListRestart() const
{
// return GetNum() ? GetNum()->IsRestart() : false;
@@ -3923,11 +3677,9 @@ bool SwTxtNode::IsListRestart() const
return aIsRestartItem.GetValue() ? true : false;
}
-// <--
/** Returns if the paragraph has a visible numbering or bullet.
This includes all kinds of numbering/bullet/outlines.
- OD 2008-02-28 #newlistlevelattrs#
The concrete list label string has to be checked, too.
*/
bool SwTxtNode::HasVisibleNumberingOrBullet() const
@@ -3937,7 +3689,7 @@ bool SwTxtNode::HasVisibleNumberingOrBullet() const
const SwNumRule* pRule = GetNum() ? GetNum()->GetNumRule() : 0L;
if ( pRule && IsCountedInList())
{
- // --> OD 2008-03-19 #i87154#
+ // #i87154#
// Correction of #newlistlevelattrs#:
// The numbering type has to be checked for bullet lists.
const SwNumFmt& rFmt = pRule->Get( static_cast<sal_uInt16>(GetActualListLevel() ));
@@ -3946,13 +3698,11 @@ bool SwTxtNode::HasVisibleNumberingOrBullet() const
{
bRet = true;
}
- // <--
}
return bRet;
}
-// --> OD 2008-02-25 #refactorlists#
void SwTxtNode::SetAttrListRestartValue( SwNumberTree::tSwNumTreeNumber nNumber )
{
// CreateNum()->SetStart(nNumber);
@@ -3974,18 +3724,15 @@ void SwTxtNode::SetAttrListRestartValue( SwNumberTree::tSwNumTreeNumber nNumber
}
}
}
-// <--
-// --> OD 2008-02-27 #refactorlists#
bool SwTxtNode::HasAttrListRestartValue() const
{
return GetpSwAttrSet() &&
GetpSwAttrSet()->GetItemState( RES_PARATR_LIST_RESTARTVALUE, sal_False ) == SFX_ITEM_SET;
}
-// <--
SwNumberTree::tSwNumTreeNumber SwTxtNode::GetAttrListRestartValue() const
{
- ASSERT( HasAttrListRestartValue(),
+ OSL_ENSURE( HasAttrListRestartValue(),
"<SwTxtNode::GetAttrListRestartValue()> - only ask for list restart value, if attribute is set at text node." );
const SfxInt16Item& aListRestartValueItem =
@@ -3993,7 +3740,6 @@ SwNumberTree::tSwNumTreeNumber SwTxtNode::GetAttrListRestartValue() const
return static_cast<SwNumberTree::tSwNumTreeNumber>(aListRestartValueItem.GetValue());
}
-// --> OD 2008-02-25 #refactorlists#
SwNumberTree::tSwNumTreeNumber SwTxtNode::GetActualListStartValue() const
{
// return GetNum() ? GetNum()->GetStart() : 1;
@@ -4019,7 +3765,6 @@ SwNumberTree::tSwNumTreeNumber SwTxtNode::GetActualListStartValue() const
return nListRestartValue;
}
-// <--
bool SwTxtNode::IsNotifiable() const
{
@@ -4037,7 +3782,6 @@ bool SwTxtNode::IsNotificationEnabled() const
return bResult;
}
-// --> OD 2008-02-27 #refactorlists#
void SwTxtNode::SetCountedInList( bool bCounted )
{
if ( bCounted )
@@ -4052,7 +3796,6 @@ void SwTxtNode::SetCountedInList( bool bCounted )
SetAttr( aIsCountedInListItem );
}
}
-// <--
bool SwTxtNode::IsCountedInList() const
{
@@ -4062,13 +3805,11 @@ bool SwTxtNode::IsCountedInList() const
return aIsCountedInListItem.GetValue() ? true : false;
}
-// --> OD 2008-03-13 #refactorlists#
void SwTxtNode::AddToList()
{
if ( IsInList() )
{
- ASSERT( false,
- "<SwTxtNode::AddToList()> - the text node is already added to a list. Serious defect -> please inform OD" );
+ OSL_FAIL( "<SwTxtNode::AddToList()> - the text node is already added to a list. Serious defect -> please inform OD" );
return;
}
@@ -4085,7 +3826,7 @@ void SwTxtNode::AddToList()
pList = GetDoc()->createList( sListId, GetNumRule()->GetName() );
}
}
- ASSERT( pList != 0,
+ OSL_ENSURE( pList != 0,
"<SwTxtNode::AddToList()> - no list for given list id. Serious defect -> please inform OD" );
if ( pList )
{
@@ -4110,7 +3851,6 @@ bool SwTxtNode::IsInList() const
{
return GetNum() != 0 && GetNum()->GetParent() != 0;
}
-// <--
bool SwTxtNode::IsFirstOfNumRule() const
{
@@ -4122,7 +3862,6 @@ bool SwTxtNode::IsFirstOfNumRule() const
return bResult;
}
-// --> OD 2008-02-20 #refactorlists#
void SwTxtNode::SetListId( const String sListId )
{
const SfxStringItem& rListIdItem =
@@ -4157,26 +3896,15 @@ String SwTxtNode::GetListId() const
if ( pRule )
{
sListId = pRule->GetDefaultListId();
-//#if OSL_DEBUG_LEVEL > 1
-// ASSERT( false,
-// "DEBUG ASSERTION: default list id of list style is applied." );
-//#endif
-// // setting list id directly using <SwCntntNode::SetAttr(..)>,
-// // because no handling of this attribute set is needed and to avoid
-// // recursive calls of <SwTxtNode::SetAttr(..)>
-// SfxStringItem aNewListIdItem( RES_PARATR_LIST_ID, sListId );
-// const_cast<SwTxtNode*>(this)->SwCntntNode::SetAttr( aNewListIdItem );
}
}
return sListId;
}
-// <--
/** Determines, if the list level indent attributes can be applied to the
paragraph.
- OD 2008-01-17 #newlistlevelattrs#
The list level indents can be applied to the paragraph under the one
of following conditions:
- the list style is directly applied to the paragraph and the paragraph
@@ -4237,7 +3965,7 @@ bool SwTxtNode::AreListLevelIndentsApplicable() const
}
pColl = dynamic_cast<const SwTxtFmtColl*>(pColl->DerivedFrom());
- ASSERT( pColl,
+ OSL_ENSURE( pColl,
"<SwTxtNode::AreListLevelIndentsApplicable()> - something wrong in paragraph's style hierarchy. The applied list style is not found." );
}
}
@@ -4248,8 +3976,6 @@ bool SwTxtNode::AreListLevelIndentsApplicable() const
/** Retrieves the list tab stop position, if the paragraph's list level defines
one and this list tab stop has to merged into the tap stops of the paragraph
- OD 2008-01-17 #newlistlevelattrs#
-
@author OD
@param nListTabStopPosition
@@ -4294,8 +4020,6 @@ bool SwTxtNode::GetListTabStopPosition( long& nListTabStopPosition ) const
/** Retrieves the character following the list label, if the paragraph's
list level defines one.
- OD 2008-01-17 #newlistlevelattrs#
-
@author OD
@return XubString - the list tab stop position
@@ -4331,8 +4055,7 @@ XubString SwTxtNode::GetLabelFollowedBy() const
break;
default:
{
- ASSERT( false,
- "<SwTxtNode::GetLabelFollowedBy()> - unknown SvxNumberFormat::GetLabelFollowedBy() return value" );
+ OSL_FAIL( "<SwTxtNode::GetLabelFollowedBy()> - unknown SvxNumberFormat::GetLabelFollowedBy() return value" );
}
}
}
@@ -4349,7 +4072,7 @@ void SwTxtNode::CalcHiddenCharFlags() const
SwScriptInfo::GetBoundsOfHiddenRange( *this, 0, nStartPos, nEndPos );
}
-// --> FME 2004-06-08 #i12836# enhanced pdf export
+// #i12836# enhanced pdf export
bool SwTxtNode::IsHidden() const
{
if ( HasHiddenParaField() || HasHiddenCharAttribute( true ) )
@@ -4361,9 +4084,7 @@ bool SwTxtNode::IsHidden() const
return false;
}
-// <--
-// --> OD 2008-03-13 #refactorlists#
namespace {
// Helper class for special handling of setting attributes at text node:
// In constructor an instance of the helper class recognize whose attributes
@@ -4407,9 +4128,8 @@ namespace {
bool mbUpdateListLevel;
bool mbUpdateListRestart;
bool mbUpdateListCount;
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
bool mbOutlineLevelSet;
- // <--
};
HandleSetAttrAtTxtNode::HandleSetAttrAtTxtNode( SwTxtNode& rTxtNode,
@@ -4419,9 +4139,8 @@ namespace {
mbUpdateListLevel( false ),
mbUpdateListRestart( false ),
mbUpdateListCount( false ),
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
mbOutlineLevelSet( false )
- // <--
{
switch ( pItem.Which() )
{
@@ -4435,10 +4154,9 @@ namespace {
if ( pNumRuleItem.GetValue().Len() > 0 )
{
mbAddTxtNodeToList = true;
- // --> OD 2010-05-12 #i105562#
+ // #i105562#
//
mrTxtNode.ResetEmptyListStyleDueToResetOutlineLevelAttr();
- // <--
}
}
break;
@@ -4448,7 +4166,7 @@ namespace {
{
const SfxStringItem& pListIdItem =
dynamic_cast<const SfxStringItem&>(pItem);
- ASSERT( pListIdItem.GetValue().Len() > 0,
+ OSL_ENSURE( pListIdItem.GetValue().Len() > 0,
"<HandleSetAttrAtTxtNode(..)> - empty list id attribute not excepted. Serious defect -> please inform OD." );
const String sListIdOfTxtNode = rTxtNode.GetListId();
if ( pListIdItem.GetValue() != sListIdOfTxtNode )
@@ -4513,7 +4231,7 @@ namespace {
}
break;
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
// handle RES_PARATR_OUTLINELEVEL
case RES_PARATR_OUTLINELEVEL:
{
@@ -4525,7 +4243,6 @@ namespace {
}
}
break;
- // <--
}
}
@@ -4537,9 +4254,8 @@ namespace {
mbUpdateListLevel( false ),
mbUpdateListRestart( false ),
mbUpdateListCount( false ),
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
mbOutlineLevelSet( false )
- // <--
{
const SfxPoolItem* pItem = 0;
// handle RES_PARATR_NUMRULE
@@ -4552,9 +4268,8 @@ namespace {
if ( pNumRuleItem->GetValue().Len() > 0 )
{
mbAddTxtNodeToList = true;
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
mrTxtNode.ResetEmptyListStyleDueToResetOutlineLevelAttr();
- // <--
}
}
@@ -4622,7 +4337,7 @@ namespace {
}
}
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
// handle RES_PARATR_OUTLINELEVEL
if ( rItemSet.GetItemState( RES_PARATR_OUTLINELEVEL, sal_False, &pItem ) == SFX_ITEM_SET )
{
@@ -4633,7 +4348,6 @@ namespace {
mbOutlineLevelSet = true;
}
}
- // <--
}
HandleSetAttrAtTxtNode::~HandleSetAttrAtTxtNode()
@@ -4667,7 +4381,7 @@ namespace {
}
}
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
if ( mbOutlineLevelSet )
{
if ( mrTxtNode.GetAttrOutlineLevel() == 0 )
@@ -4685,7 +4399,6 @@ namespace {
}
}
}
- // <--
}
// End of class <HandleSetAttrAtTxtNode>
}
@@ -4777,9 +4490,8 @@ namespace {
{
bRemoveFromList = mrTxtNode.GetpSwAttrSet() &&
mrTxtNode.GetpSwAttrSet()->GetItemState( RES_PARATR_LIST_ID, sal_False ) == SFX_ITEM_SET;
- // --> OD 2008-10-20 #i92898#
+ // #i92898#
mbListStyleOrIdReset = true;
- // <--
}
if ( !bRemoveFromList )
@@ -4802,13 +4514,12 @@ namespace {
!mrTxtNode.IsCountedInList() );
}
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
// RES_PARATR_OUTLINELEVEL
if ( nWhich1 <= RES_PARATR_OUTLINELEVEL && RES_PARATR_OUTLINELEVEL <= nWhich2 )
{
mrTxtNode.ResetEmptyListStyleDueToResetOutlineLevelAttr();
}
- // <--
}
else
{
@@ -4822,17 +4533,15 @@ namespace {
{
bRemoveFromList = mrTxtNode.GetpSwAttrSet() &&
mrTxtNode.GetpSwAttrSet()->GetItemState( RES_PARATR_LIST_ID, sal_False ) == SFX_ITEM_SET;
- // --> OD 2008-10-20 #i92898#
+ // #i92898#
mbListStyleOrIdReset = true;
- // <--
}
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
// RES_PARATR_OUTLINELEVEL
else if ( nWhich1 == RES_PARATR_OUTLINELEVEL )
{
mrTxtNode.ResetEmptyListStyleDueToResetOutlineLevelAttr();
}
- // <--
if ( !bRemoveFromList )
{
@@ -4883,17 +4592,15 @@ namespace {
bRemoveFromList = bRemoveFromList ||
( mrTxtNode.GetpSwAttrSet() &&
mrTxtNode.GetpSwAttrSet()->GetItemState( RES_PARATR_LIST_ID, sal_False ) == SFX_ITEM_SET );
- // --> OD 2008-10-20 #i92898#
+ // #i92898#
mbListStyleOrIdReset = true;
- // <--
}
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
// RES_PARATR_OUTLINELEVEL
else if ( rWhichArr[ n ] == RES_PARATR_OUTLINELEVEL )
{
mrTxtNode.ResetEmptyListStyleDueToResetOutlineLevelAttr();
}
- // <--
if ( !bRemoveFromList )
{
@@ -4935,9 +4642,8 @@ namespace {
{
rTxtNode.RemoveFromList();
}
- // --> OD 2008-11-19 #i70748#
+ // #i70748#
mrTxtNode.ResetEmptyListStyleDueToResetOutlineLevelAttr();
- // <--
}
HandleResetAttrAtTxtNode::~HandleResetAttrAtTxtNode()
@@ -4949,7 +4655,7 @@ namespace {
if ( mrTxtNode.GetNumRule() &&
mrTxtNode.GetListId().Len() > 0 )
{
- // --> OD 2009-01-14 #i96062#
+ // #i96062#
// If paragraph has no list level attribute set and list style
// is the outline style, apply outline level as the list level.
if ( !mrTxtNode.HasAttrListLevel() &&
@@ -4963,17 +4669,15 @@ namespace {
mrTxtNode.SetAttrListLevel( nNewListLevel );
}
}
- // <--
mrTxtNode.AddToList();
}
- // --> OD 2008-11-19 #i70748#
- // --> OD 2010-05-12 #i105562#
+ // #i70748#
+ // #i105562#
else if ( mrTxtNode.GetpSwAttrSet() &&
dynamic_cast<const SfxUInt16Item &>(mrTxtNode.GetAttr( RES_PARATR_OUTLINELEVEL, sal_False )).GetValue() > 0 )
{
mrTxtNode.SetEmptyListStyleDueToSetOutlineLevelAttr();
}
- // <--
}
if ( mrTxtNode.IsInList() )
@@ -5042,7 +4746,6 @@ sal_uInt16 SwTxtNode::ResetAllAttr()
return nRet;
}
-// <--
// sw::Metadatable
::sfx2::IXmlIdRegistry& SwTxtNode::GetRegistry()
@@ -5082,3 +4785,4 @@ SwTxtNode::MakeUnoObject()
return xMeta;
}
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */