summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorBertrand Lorentz <bertrand.lorentz@gmail.com>2012-08-03 19:23:57 +0200
committerPhilipp Riemer <ruderphilipp@gmail.com>2012-08-05 12:58:33 +0200
commitbf68634a4ee34fb465cf35e019812b3ed48787a4 (patch)
tree5f485988d877a1a893d0d2e273723e0e091b1182 /sw
parent507305afa0d826b7e3cb3cc9a4b389f0ba854638 (diff)
fdo#39468: Translate German comments in sw/source/core/docnode/ndcopy.cxx
Change-Id: I6de2586d54d3e0938e2e9701885a043c76f686ae Reviewed-by: Philipp Riemer <ruderphilipp@gmail.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/docnode/ndcopy.cxx190
1 files changed, 91 insertions, 99 deletions
diff --git a/sw/source/core/docnode/ndcopy.cxx b/sw/source/core/docnode/ndcopy.cxx
index fb4903063f0a..c15e6fc71c35 100644
--- a/sw/source/core/docnode/ndcopy.cxx
+++ b/sw/source/core/docnode/ndcopy.cxx
@@ -224,9 +224,8 @@ namespace
}
}
-// Struktur fuer das Mappen von alten und neuen Frame-Formaten an den
-// Boxen und Lines einer Tabelle
-
+// Structure for the mapping from old and new frame formats to the
+// boxes and lines of a table
struct _MapTblFrmFmt
{
const SwFrmFmt *pOld, *pNew;
@@ -246,7 +245,7 @@ SwCntntNode* SwTxtNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
SwTxtNode* pCpyTxtNd = (SwTxtNode*)this;
SwTxtNode* pCpyAttrNd = pCpyTxtNd;
- // kopiere die Formate in das andere Dokument:
+ // Copy the formats to the other document
SwTxtFmtColl* pColl = 0;
if( pDoc->IsInsOnlyTextGlossary() )
{
@@ -265,9 +264,9 @@ SwCntntNode* SwTxtNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
// METADATA: register copy
pTxtNd->RegisterAsCopyOf(*pCpyTxtNd);
- // kopiere Attribute/Text
+ // Copy Attribute/Text
if( !pCpyAttrNd->HasSwAttrSet() )
- // wurde ein AttrSet fuer die Numerierung angelegt, so loesche diesen!
+ // An AttrSet was added for numbering, so delete it
pTxtNd->ResetAllAttr();
// if Copy-Textnode unequal to Copy-Attrnode, then copy first
@@ -284,29 +283,25 @@ SwCntntNode* SwTxtNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
}
}
- // ??? reicht das ??? was ist mit PostIts/Feldern/FeldTypen ???
+ // Is that enough? What about PostIts/Fields/FieldTypes?
// #i96213# - force copy of all attributes
pCpyTxtNd->CopyText( pTxtNd, SwIndex( pCpyTxtNd ),
pCpyTxtNd->GetTxt().Len(), true );
-//FEATURE::CONDCOLL
if( RES_CONDTXTFMTCOLL == pColl->Which() )
pTxtNd->ChkCondColl();
-//FEATURE::CONDCOLL
return pTxtNd;
}
-
static bool lcl_SrchNew( const _MapTblFrmFmt& rMap, const SwFrmFmt** pPara )
{
if( rMap.pOld != *pPara )
return true;
*pPara = rMap.pNew;
- return false; // abbrechen, Pointer gefunden
+ return false;
}
-
struct _CopyTable
{
SwDoc* pDoc;
@@ -332,7 +327,7 @@ static void lcl_CopyTblBox( SwTableBox* pBox, _CopyTable* pCT )
for( _MapTblFrmFmts::const_iterator it = pCT->rMapArr.begin(); it != pCT->rMapArr.end(); ++it )
if ( !lcl_SrchNew( *it, (const SwFrmFmt**)&pBoxFmt ) )
break;
- if( pBoxFmt == pBox->GetFrmFmt() ) // ein neues anlegen ??
+ if( pBoxFmt == pBox->GetFrmFmt() ) // Create a new one?
{
const SfxPoolItem* pItem;
if( SFX_ITEM_SET == pBoxFmt->GetItemState( RES_BOXATR_FORMULA, sal_False,
@@ -369,7 +364,7 @@ static void lcl_CopyTblBox( SwTableBox* pBox, _CopyTable* pCT )
{
SwNodeIndex aNewIdx( *pCT->pTblNd,
pBox->GetSttIdx() - pCT->nOldTblSttIdx );
- OSL_ENSURE( aNewIdx.GetNode().IsStartNode(), "Index nicht auf einem StartNode" );
+ OSL_ENSURE( aNewIdx.GetNode().IsStartNode(), "Index is not on the start node" );
pNewBox = new SwTableBox( pBoxFmt, aNewIdx, pCT->pInsLine );
pNewBox->setRowSpan( pBox->getRowSpan() );
}
@@ -384,7 +379,7 @@ static void lcl_CopyTblBox( SwTableBox* pBox, _CopyTable* pCT )
lcl_CopyTblLine( pLine, &aPara );
}
else if( pNewBox->IsInHeadline( &pCT->pTblNd->GetTable() ))
- // in der HeadLine sind die Absaetze mit BedingtenVorlage anzupassen
+ // In the headline, the paragraphs must match conditional styles
pNewBox->GetSttNd()->CheckSectionCondColl();
}
@@ -394,7 +389,7 @@ static void lcl_CopyTblLine( const SwTableLine* pLine, _CopyTable* pCT )
for( _MapTblFrmFmts::const_iterator it = pCT->rMapArr.begin(); it != pCT->rMapArr.end(); ++it )
if ( !lcl_SrchNew( *it, (const SwFrmFmt**)&pLineFmt ) )
break;
- if( pLineFmt == pLine->GetFrmFmt() ) // ein neues anlegen ??
+ if( pLineFmt == pLine->GetFrmFmt() ) // Create a new one?
{
pLineFmt = pCT->pDoc->MakeTableLineFmt();
pLineFmt->CopyAttrs( *pLine->GetFrmFmt() );
@@ -402,7 +397,7 @@ static void lcl_CopyTblLine( const SwTableLine* pLine, _CopyTable* pCT )
}
SwTableLine* pNewLine = new SwTableLine( pLineFmt,
pLine->GetTabBoxes().size(), pCT->pInsBox );
- // die neue Zeile in die Tabelle eintragen
+ // Insert the new row into the table
if( pCT->pInsBox )
{
pCT->pInsBox->GetTabLines().push_back( pNewLine );
@@ -419,7 +414,7 @@ static void lcl_CopyTblLine( const SwTableLine* pLine, _CopyTable* pCT )
SwTableNode* SwTableNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
{
- // in welchen Array steht ich denn Nodes, UndoNodes ??
+ // In which array are we? Nodes? UndoNodes?
SwNodes& rNds = (SwNodes&)GetNodes();
{
@@ -428,7 +423,7 @@ SwTableNode* SwTableNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
return 0;
}
- // das TableFrmFmt kopieren
+ // Copy the TableFrmFmt
String sTblName( GetTable().GetFrmFmt()->GetName() );
if( !pDoc->IsCopyIsMove() )
{
@@ -457,22 +452,22 @@ SwTableNode* SwTableNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
SwDDEFieldType* pDDEType = 0;
if( IS_TYPE( SwDDETable, &GetTable() ))
{
- // es wird eine DDE-Tabelle kopiert
- // ist im neuen Dokument ueberhaupt der FeldTyp vorhanden ?
+ // We're copying a DDE table
+ // Is the field type available in the new document?
pDDEType = ((SwDDETable&)GetTable()).GetDDEFldType();
if( pDDEType->IsDeleted() )
pDoc->InsDeletedFldType( *pDDEType );
else
pDDEType = (SwDDEFieldType*)pDoc->InsertFldType( *pDDEType );
- OSL_ENSURE( pDDEType, "unbekannter FieldType" );
+ OSL_ENSURE( pDDEType, "unknown FieldType" );
- // tauschen am Node den Tabellen-Pointer aus
+ // Swap the table pointers in the node
SwDDETable* pNewTable = new SwDDETable( pTblNd->GetTable(), pDDEType );
pTblNd->SetNewTable( pNewTable, sal_False );
}
- // dann kopiere erstmal den Inhalt der Tabelle, die Zuordnung der
- // Boxen/Lines und das anlegen der Frames erfolgt spaeter
- SwNodeRange aRg( *this, +1, *EndOfSectionNode() ); // (wo stehe in denn nun ??)
+ // First copy the content of the tables, we will later assign the
+ // boxes/lines and create the frames
+ SwNodeRange aRg( *this, +1, *EndOfSectionNode() );
// If there is a table in this table, the table format for the outer table
// does not seem to be used, because the table does not have any contents yet
@@ -483,7 +478,7 @@ SwTableNode* SwTableNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
rNds._Copy( aRg, aInsPos, sal_False );
pTblNd->GetTable().SetTableNode( 0 );
- // Sonderbehandlung fuer eine einzelne Box
+ // Special case for a single box
if( 1 == GetTable().GetTabSortBoxes().size() )
{
aRg.aStart.Assign( *pTblNd, 1 );
@@ -491,8 +486,8 @@ SwTableNode* SwTableNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
pDoc->GetNodes().SectionDown( &aRg, SwTableBoxStartNode );
}
- // loesche alle Frames vom kopierten Bereich, diese werden beim
- // erzeugen des TableFrames angelegt !
+ // Delete all frames from the copied area, they will be created
+ // during the generation of the table frame
pTblNd->DelFrms();
_MapTblFrmFmts aMapArr;
@@ -510,16 +505,15 @@ SwTableNode* SwTableNode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
void SwTxtNode::CopyCollFmt( SwTxtNode& rDestNd )
{
- // kopiere die Formate in das andere Dokument:
-
- // Sonderbehandlung fuer PageBreak/PageDesc/ColBrk
+ // Copy the formats into the other document:
+ // Special case for PageBreak/PageDesc/ColBrk
SwDoc* pDestDoc = rDestNd.GetDoc();
SwAttrSet aPgBrkSet( pDestDoc->GetAttrPool(), aBreakSetRange );
const SwAttrSet* pSet;
if( 0 != ( pSet = rDestNd.GetpSwAttrSet() ) )
{
- // Sonderbehandlung fuer unsere Break-Attribute
+ // Special cases for Break-Attributes
const SfxPoolItem* pAttr;
if( SFX_ITEM_SET == pSet->GetItemState( RES_BREAK, sal_False, &pAttr ) )
aPgBrkSet.Put( *pAttr );
@@ -537,9 +531,8 @@ void SwTxtNode::CopyCollFmt( SwTxtNode& rDestNd )
}
-// ----- Copy-Methode vom SwDoc ------
-
- // verhinder das Kopieren in Fly's, die im Bereich verankert sind.
+// Copy method from SwDoc
+// Prevent copying in Flys that are anchored in the area
sal_Bool lcl_ChkFlyFly( SwDoc* pDoc, sal_uLong nSttNd, sal_uLong nEndNd,
sal_uLong nInsNd )
{
@@ -566,11 +559,13 @@ sal_Bool lcl_ChkFlyFly( SwDoc* pDoc, sal_uLong nSttNd, sal_uLong nEndNd,
if( pSNd->GetIndex() < nInsNd &&
nInsNd < pSNd->EndOfSectionIndex() )
- return sal_True; // nicht kopieren !!
+ // Do not copy !
+ return sal_True;
if( lcl_ChkFlyFly( pDoc, pSNd->GetIndex(),
pSNd->EndOfSectionIndex(), nInsNd ) )
- return sal_True; // nicht kopieren !!
+ // Do not copy !
+ return sal_True;
}
}
@@ -604,11 +599,13 @@ void lcl_DeleteRedlines( const SwPaM& rPam, SwPaM& rCpyPam )
switch( eCmpPos )
{
case POS_COLLIDE_END:
- case POS_BEFORE: // Pos1 liegt vor Pos2
+ case POS_BEFORE:
+ // Pos1 is before Pos2
break;
case POS_COLLIDE_START:
- case POS_BEHIND: // Pos1 liegt hinter Pos2
+ case POS_BEHIND:
+ // Pos1 is after Pos2
n = rTbl.size();
break;
@@ -667,8 +664,7 @@ void lcl_DeleteRedlines( const SwNodeRange& rRg, SwNodeRange& rCpyRg )
}
}
-// Kopieren eines Bereiches im oder in ein anderes Dokument !
-
+// Copy an area into this document or into another document
bool
SwDoc::CopyRange( SwPaM& rPam, SwPosition& rPos, const bool bCopyAll ) const
{
@@ -677,14 +673,14 @@ SwDoc::CopyRange( SwPaM& rPam, SwPosition& rPos, const bool bCopyAll ) const
SwDoc* pDoc = rPos.nNode.GetNode().GetDoc();
bool bColumnSel = pDoc->IsClipBoard() && pDoc->IsColumnSelection();
- // kein Copy abfangen.
+ // Catch if there's no copy to do
if( !rPam.HasMark() || ( *pStt >= *pEnd && !bColumnSel ) )
return false;
- // verhinder das Kopieren in Fly's, die im Bereich verankert sind.
+ // Prevent copying in Flys that are anchored in the area
if( pDoc == this )
{
- // Start-/EndNode noch korrigieren
+ // Correct the Start-/EndNode
sal_uLong nStt = pStt->nNode.GetIndex(),
nEnd = pEnd->nNode.GetIndex(),
nDiff = nEnd - nStt +1;
@@ -714,27 +710,31 @@ SwDoc::CopyRange( SwPaM& rPam, SwPosition& rPos, const bool bCopyAll ) const
{ // ordinary copy
bRet = CopyImpl( rPam, rPos, true, bCopyAll, pRedlineRange );
}
- // Copy in sich selbst (ueber mehrere Nodes wird hier gesondert
- // behandelt; in einem TextNode wird normal behandelt)
else if( ! ( *pStt <= rPos && rPos < *pEnd &&
( pStt->nNode != pEnd->nNode ||
!pStt->nNode.GetNode().IsTxtNode() )) )
- { // ordinary copy
+ {
+ // Copy to a position outside of the area, or copy a single TextNode
+ // Do an ordinary copy
bRet = CopyImpl( rPam, rPos, true, bCopyAll, pRedlineRange );
}
else
{
- OSL_ENSURE( this == pDoc, " falscher Copy-Zweig!" );
+ // Copy the area in itself
+ // Special case for handling an area with several nodes,
+ // or a single node that is not a TextNode
+ OSL_ENSURE( this == pDoc, " invalid copy branch!" );
OSL_FAIL("mst: i thought this could be dead code;"
"please tell me what you did to get here!");
pDoc->SetRedlineMode_intern((RedlineMode_t)(eOld | nsRedlineMode_t::REDLINE_IGNORE));
- // dann kopiere den Bereich im unteren DokumentBereich,
- // (mit Start/End-Nodes geklammert) und verschiebe diese
- // dann an die gewuenschte Stelle.
+ // Then copy the area to the underlying document area
+ // (with start/end nodes clamped) and move them to
+ // the desired position.
SwUndoCpyDoc* pUndo = 0;
- SwPaM aPam( rPos ); // UndoBereich sichern
+ // Save the Undo area
+ SwPaM aPam( rPos );
if (pDoc->GetIDocumentUndoRedo().DoesUndo())
{
pDoc->GetIDocumentUndoRedo().ClearRedo();
@@ -762,10 +762,10 @@ SwDoc::CopyRange( SwPaM& rPam, SwPosition& rPos, const bool bCopyAll ) const
pDoc->MoveRange( aPam, rPos, DOC_MOVEDEFAULT );
pNode = aPam.GetCntntNode();
- *aPam.GetPoint() = rPos; // Cursor umsetzen fuers Undo !
- aPam.SetMark(); // auch den Mark umsetzen !!
- aPam.DeleteMark(); // aber keinen Bereich makieren !!
- pDoc->DeleteSection( pNode ); // Bereich wieder loeschen
+ *aPam.GetPoint() = rPos; // Move the cursor for Undo
+ aPam.SetMark(); // also move the Mark
+ aPam.DeleteMark(); // But don't mark any area
+ pDoc->DeleteSection( pNode ); // Delete the area again
}
// if Undo is enabled, store the insertion range
@@ -799,9 +799,6 @@ SwDoc::CopyRange( SwPaM& rPam, SwPosition& rPos, const bool bCopyAll ) const
return bRet;
}
-// Kopieren eines Bereiches im oder in ein anderes Dokument !
-// Die Position darf nicht im Bereich liegen !!
-
bool lcl_MarksWholeNode(const SwPaM & rPam)
{
bool bResult = false;
@@ -864,7 +861,7 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
SwPosition* pStt = rPam.Start();
SwPosition* pEnd = rPam.End();
- // kein Copy abfangen.
+ // Catch when there's no copy to do.
if( !rPam.HasMark() || ( *pStt >= *pEnd && !bColumnSel ) ||
//JP 29.6.2001: 88963 - dont copy if inspos is in region of start to end
//JP 15.11.2001: don't test inclusive the end, ever exclusive
@@ -875,7 +872,7 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
const bool bEndEqualIns = pDoc == this && rPos == *pEnd;
- // falls Undo eingeschaltet, erzeuge das UndoCopy-Objekt
+ // If Undo is enabled, create the UndoCopy object
SwUndoCpyDoc* pUndo = 0;
SwPaM aCpyPam( rPos );
@@ -890,9 +887,8 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
RedlineMode_t eOld = pDoc->GetRedlineMode();
pDoc->SetRedlineMode_intern((RedlineMode_t)(eOld | nsRedlineMode_t::REDLINE_IGNORE));
-
- // bewege den Pam von der Insert-Position ein zurueck, dadurch wird
- // die Position nicht "verschoben"
+ // Move the PaM one node back from the insert position, so that
+ // the position doesn't get moved
aCpyPam.SetMark();
sal_Bool bCanMoveBack = aCpyPam.Move( fnMoveBackward, fnGoCntnt );
// If the position was shifted from more than one node, an end node has been skipped
@@ -951,11 +947,11 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
pNumRuleToPropagate = 0;
}
- // Block, damit aus diesem gesprungen werden kann !!
+ // This do/while block is only there so that we can break out of it!
do {
if( pSttTxtNd )
{
- // den Anfang nicht komplett kopieren ?
+ // Don't copy the beginning completely?
if( !bCopyCollFmt || bColumnSel || pStt->nContent.GetIndex() )
{
SwIndex aDestIdx( rPos.nContent );
@@ -983,7 +979,7 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
if( bCanMoveBack && rPos == *aCpyPam.GetPoint() )
{
- // nach dem SplitNode, den CpyPam wieder richtig aufspannen
+ // after the SplitNode, span the CpyPam correctly again
aCpyPam.Move( fnMoveBackward, fnGoCntnt );
aCpyPam.Move( fnMoveBackward, fnGoCntnt );
}
@@ -991,7 +987,7 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
pDestTxtNd = pDoc->GetNodes()[ aInsPos.GetIndex()-1 ]->GetTxtNode();
aDestIdx.Assign( pDestTxtNd, pDestTxtNd->GetTxt().Len() );
- // korrigiere den Bereich wieder !!
+ // Correct the area again
if( bEndEqualIns )
{
sal_Bool bChg = pEnd != rPam.GetPoint();
@@ -1004,8 +1000,9 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
aRg.aEnd = pEnd->nNode;
pEndTxtNd = pEnd->nNode.GetNode().GetTxtNode();
}
- else if( rPos == *pEnd ) // Wurde das Ende auch verschoben
+ else if( rPos == *pEnd )
{
+ // The end was also moved
pEnd->nNode--;
pEnd->nContent.Assign( pDestTxtNd, nCntntEnd );
aRg.aEnd = pEnd->nNode;
@@ -1099,7 +1096,6 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
{ // Insertion in the middle of a text node, it has to be split
// (and joined from undo)
bStartIsTxtNode = sal_True;
- // splitte den TextNode, bei dem Eingefuegt wird.
xub_StrLen nCntntEnd = pEnd->nContent.GetIndex();
{
@@ -1109,15 +1105,16 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
if( bCanMoveBack && rPos == *aCpyPam.GetPoint() )
{
- // nach dem SplitNode, den CpyPam wieder richtig aufspannen
+ // after the SplitNode, span the CpyPam correctly again
aCpyPam.Move( fnMoveBackward, fnGoCntnt );
aCpyPam.Move( fnMoveBackward, fnGoCntnt );
}
- // korrigiere den Bereich wieder !!
+ // Correct the area again
if( bEndEqualIns )
aRg.aEnd--;
- else if( rPos == *pEnd ) // Wurde das Ende auch verschoben
+ // The end would also be moved
+ else if( rPos == *pEnd )
{
rPos.nNode-=2;
rPos.nContent.Assign( rPos.nNode.GetNode().GetCntntNode(),
@@ -1186,7 +1183,7 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
pEndTxtNd->CopyText( pDestTxtNd, aDestIdx, SwIndex( pEndTxtNd ),
pEnd->nContent.GetIndex() );
- // auch alle FormatVorlagen kopieren
+ // Also copy all format templates
if( bCopyCollFmt && ( bOneNode || bEmptyDestNd ))
{
pEndTxtNd->CopyCollFmt( *pDestTxtNd );
@@ -1244,7 +1241,7 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
bCopyBookmarks = false;
- // harte Umbrueche wieder in den ersten Node setzen
+ // Put the breaks back into the first node
if( aBrkSet.Count() && 0 != ( pDestTxtNd = pDoc->GetNodes()[
aCpyPam.GetPoint()->nNode.GetIndex()+1 ]->GetTxtNode() ) )
{
@@ -1253,7 +1250,7 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
}
} while( sal_False );
- // Position ummelden ( falls verschoben / im anderen Node )
+ // Adjust position (in case it was moved / in another node)
rPos.nContent.Assign( rPos.nNode.GetNode().GetCntntNode(),
rPos.nContent.GetIndex() );
@@ -1282,14 +1279,14 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
}
aCpyPam.Exchange();
- // dann kopiere noch alle Bookmarks
+ // Also copy all bookmarks
if( bCopyBookmarks && getIDocumentMarkAccess()->getMarksCount() )
lcl_CopyBookmarks( rPam, aCpyPam );
if( nsRedlineMode_t::REDLINE_DELETE_REDLINES & eOld )
lcl_DeleteRedlines( rPam, aCpyPam );
- // falls Undo eingeschaltet ist, so speicher den eingefuegten Bereich
+ // If Undo is enabled, store the inserted area
if (pDoc->GetIDocumentUndoRedo().DoesUndo())
{
pUndo->SetInsertRange( aCpyPam, sal_True, bStartIsTxtNode );
@@ -1315,9 +1312,7 @@ bool SwDoc::CopyImpl( SwPaM& rPam, SwPosition& rPos,
return true;
}
-
-// ----- Copy-Methode vom SwDoc - "kopiere Fly's in Fly's" ------
-
+// Copy method from SwDoc - "copy Flys in Flys"
void SwDoc::CopyWithFlyInFly( const SwNodeRange& rRg, const xub_StrLen nEndContentIndex,
const SwNodeIndex& rInsPos, sal_Bool bMakeNewFrms,
sal_Bool bDelRedlines, sal_Bool bCopyFlyAtFly ) const
@@ -1338,8 +1333,8 @@ void SwDoc::CopyWithFlyInFly( const SwNodeRange& rRg, const xub_StrLen nEndConte
#if OSL_DEBUG_LEVEL > 0
{
//JP 17.06.99: Bug 66973 - check count only if the selection is in
- // the same (or no) section. Becaus not full selected
- // section are not copied.
+ // the same section or there's no section, because sections that are
+ // not fully selected are not copied.
const SwSectionNode* pSSectNd = rRg.aStart.GetNode().FindSectionNode();
SwNodeIndex aTmpI( rRg.aEnd, -1 );
const SwSectionNode* pESectNd = aTmpI.GetNode().FindSectionNode();
@@ -1349,7 +1344,7 @@ void SwDoc::CopyWithFlyInFly( const SwNodeRange& rRg, const xub_StrLen nEndConte
{
OSL_ENSURE( rInsPos.GetIndex() - aSavePos.GetIndex() ==
rRg.aEnd.GetIndex() - rRg.aStart.GetIndex(),
- "Es wurden zu wenig Nodes kopiert!" );
+ "An insufficient number of nodes were copied!" );
}
}
#endif
@@ -1361,7 +1356,7 @@ void SwDoc::CopyWithFlyInFly( const SwNodeRange& rRg, const xub_StrLen nEndConte
SwNodeRange aCpyRange( aSavePos, rInsPos );
- // dann kopiere noch alle Bookmarks
+ // Also copy all bookmarks
if( getIDocumentMarkAccess()->getMarksCount() )
{
SwPaM aRgTmp( rRg.aStart, rRg.aEnd );
@@ -1396,10 +1391,9 @@ void SwDoc::CopyFlyInFlyImpl( const SwNodeRange& rRg,
const xub_StrLen nEndContentIndex, const SwNodeIndex& rStartIdx,
const bool bCopyFlyAtFly ) const
{
- // Bug 22727: suche erst mal alle Flys zusammen, sortiere sie entsprechend
- // ihrer Ordnungsnummer und kopiere sie erst dann. Damit wird
- // die Ordnungsnummer (wird nur im DrawModel verwaltet)
- // beibehalten.
+ // First collect all Flys, sort them according to their ordering number,
+ // and then only copy them. This maintains the ordering numbers (which are only
+ // managed in the DrawModel).
SwDoc *const pDest = rStartIdx.GetNode().GetDoc();
::std::set< _ZSortFly > aSet;
sal_uInt16 nArrLen = GetSpzFrmFmts()->size();
@@ -1469,9 +1463,9 @@ void SwDoc::CopyFlyInFlyImpl( const SwNodeRange& rRg,
}
}
- //Alle kopierten (also die neu erzeugten) Rahmen in ein weiteres Array
- //stopfen. Dort sizten sie passend zu den Originalen, damit hinterher
- //die Chains entsprechend aufgebaut werden koennen.
+ // Store all copied (and also the newly created) frames in another array.
+ // They are stored as matching the originals, so that we will be later
+ // able to build the chains accordingly.
::std::vector< SwFrmFmt* > aVecSwFrmFmt;
for (::std::set< _ZSortFly >::const_iterator it=aSet.begin() ; it != aSet.end(); ++it )
@@ -1550,7 +1544,7 @@ void SwDoc::CopyFlyInFlyImpl( const SwNodeRange& rRg,
SwNodeIndex aIdx( rStartIdx, nOffset );
pNewPos->nNode = aIdx;
}
- // die am Zeichen Flys wieder ans das vorgegebene Zeichen setzen
+ // Set the character bound Flys back at the original character
if ((FLY_AT_CHAR == aAnchor.GetAnchorId()) &&
pNewPos->nNode.GetNode().IsTxtNode() )
{
@@ -1562,8 +1556,7 @@ void SwDoc::CopyFlyInFlyImpl( const SwNodeRange& rRg,
pNewPos->nContent.Assign( 0, 0 );
}
- // ueberpruefe Rekursion: Inhalt in "seinen eigenen" Frame
- // kopieren. Dann nicht kopieren
+ // Check recursion: copy content in its own frame, then don't copy it.
sal_Bool bMakeCpy = sal_True;
if( pDest == this )
{
@@ -1579,14 +1572,13 @@ void SwDoc::CopyFlyInFlyImpl( const SwNodeRange& rRg,
}
}
- // Format kopieren und den neuen Anker setzen
+ // Copy the format and set the new anchor
if( bMakeCpy )
aVecSwFrmFmt.push_back( pDest->CopyLayoutFmt( *(*it).GetFmt(),
aAnchor, false, true ) );
}
- //Alle chains, die im Original vorhanden sind, soweit wie moeglich wieder
- //aufbauen.
+ // Rebuild as much as possible of all chains that are available in the original,
OSL_ENSURE( aSet.size() == aVecSwFrmFmt.size(), "Missing new Flys" );
if ( aSet.size() == aVecSwFrmFmt.size() )
{