diff options
author | Philipp Weissenbacher <p.weissenbacher@gmail.com> | 2012-02-15 13:19:06 +0100 |
---|---|---|
committer | Stefan Knorr (astron) <heinzlesspam@gmail.com> | 2012-02-15 14:39:49 +0100 |
commit | 5be6008e9e13c30bee2f5c70b9de778529d128c0 (patch) | |
tree | fbadba2cea891d1c0032edf4540bf87d2b99ab37 /sw/source | |
parent | b181c48f8faf2d16d88aa56c6c17b8efb2aec642 (diff) |
Translate German comments
Diffstat (limited to 'sw/source')
-rw-r--r-- | sw/source/core/doc/ftnidx.cxx | 23 | ||||
-rw-r--r-- | sw/source/core/doc/gctable.cxx | 54 | ||||
-rw-r--r-- | sw/source/core/doc/notxtfrm.cxx | 113 | ||||
-rw-r--r-- | sw/source/core/doc/swserv.cxx | 29 | ||||
-rw-r--r-- | sw/source/core/doc/tblafmt.cxx | 65 | ||||
-rw-r--r-- | sw/source/core/doc/tblrwcl.cxx | 742 |
6 files changed, 494 insertions, 532 deletions
diff --git a/sw/source/core/doc/ftnidx.cxx b/sw/source/core/doc/ftnidx.cxx index 52f987386505..0b1288050402 100644 --- a/sw/source/core/doc/ftnidx.cxx +++ b/sw/source/core/doc/ftnidx.cxx @@ -204,8 +204,7 @@ void SwFtnIdxs::UpdateAllFtn() if( !Count() ) return; - // besorge erstmal das Nodes-Array ueber den StartIndex der - // ersten Fussnote + // Get the NodesArray via the StartIndex of the first Footnote SwDoc* pDoc = (SwDoc*) (*this)[ 0 ]->GetTxtNode().GetDoc(); SwTxtFtn* pTxtFtn; const SwEndNoteInfo& rEndInfo = pDoc->GetEndNoteInfo(); @@ -215,26 +214,25 @@ void SwFtnIdxs::UpdateAllFtn() SwRootFrm* pTmpRoot = pDoc->GetCurrentLayout();//swmod 080305 std::set<SwRootFrm*> aAllLayouts = pDoc->GetAllLayouts(); - //Fuer normale Fussnoten werden Chapter- und Dokumentweise Nummerierung - //getrennt behandelt. Fuer Endnoten gibt es nur die Dokumentweise - //Nummerierung. + // For normal Footnotes per-chapter and per-document numbering are treated separately. + // For Endnotes we only have document-wise numbering. if( FTNNUM_CHAPTER == rFtnInfo.eNum ) { const SwOutlineNodes& rOutlNds = pDoc->GetNodes().GetOutLineNds(); - sal_uInt16 nNo = 1, // Nummer fuer die Fussnoten - nFtnIdx = 0; // Index in das FtnIdx-Array + sal_uInt16 nNo = 1, // Number for the Footnotes + nFtnIdx = 0; // Index into theFtnIdx array for( sal_uInt16 n = 0; n < rOutlNds.Count(); ++n ) { if ( rOutlNds[ n ]->GetTxtNode()->GetAttrOutlineLevel() == 1 )//<-end,zhaojianwei { - sal_uLong nCapStt = rOutlNds[ n ]->GetIndex(); // Start eines neuen Kapitels + sal_uLong nCapStt = rOutlNds[ n ]->GetIndex(); // Start of a new chapter for( ; nFtnIdx < Count(); ++nFtnIdx ) { pTxtFtn = (*this)[ nFtnIdx ]; if( pTxtFtn->GetTxtNode().GetIndex() >= nCapStt ) break; - // Endnoten nur Dokumentweise + // Endnotes are per-document only const SwFmtFtn &rFtn = pTxtFtn->GetFtn(); if( !rFtn.IsEndNote() && !rFtn.GetNumStr().Len() && !SwUpdFtnEndNtAtEnd::FindSectNdWithEndAttr( *pTxtFtn )) @@ -242,14 +240,14 @@ void SwFtnIdxs::UpdateAllFtn() &rFtn.GetNumStr() ); } if( nFtnIdx >= Count() ) - break; // ok alles geupdatet + break; // ok, everything is updated nNo = 1; } } for( nNo = 1; nFtnIdx < Count(); ++nFtnIdx ) { - //Endnoten nur Dokumentweise + // Endnotes are per-document pTxtFtn = (*this)[ nFtnIdx ]; const SwFmtFtn &rFtn = pTxtFtn->GetFtn(); if( !rFtn.IsEndNote() && !rFtn.GetNumStr().Len() && @@ -260,8 +258,7 @@ void SwFtnIdxs::UpdateAllFtn() } - // sal_Bool, damit hier auch bei Chapter-Einstellung die Endnoten - // durchlaufen. + // We use sal_Bool here, so that we also iterate through the Endnotes with a chapter setting. const sal_Bool bEndNoteOnly = FTNNUM_DOC != rFtnInfo.eNum; sal_uInt16 nFtnNo = 0, nEndNo = 0; for( sal_uInt16 nPos = 0; nPos < Count(); ++nPos ) diff --git a/sw/source/core/doc/gctable.cxx b/sw/source/core/doc/gctable.cxx index 909164235aee..4764f94975b1 100644 --- a/sw/source/core/doc/gctable.cxx +++ b/sw/source/core/doc/gctable.cxx @@ -101,7 +101,7 @@ sal_Bool lcl_GCBorder_GetLastBox_B( const SwTableBox*& rpBox, void* pPara ) return sal_True; } -// suche das "Ende" der vorgegebene BorderLine. Returnt wird die "Layout"Pos! +// Find the "end" of the passed BorderLine. Returns the "Layout"Pos! sal_uInt16 lcl_FindEndPosOfBorder( const SwCollectTblLineBoxes& rCollTLB, const SvxBorderLine& rBrdLn, sal_uInt16& rStt, sal_Bool bTop ) { @@ -173,8 +173,7 @@ sal_Bool lcl_GC_Line_Border( const SwTableLine*& rpLine, void* pPara ) { _SwGCLineBorder* pGCPara = (_SwGCLineBorder*)pPara; - // zuerst die rechte Kante mit der linken Kante der naechsten Box - // innerhalb dieser Line + // First the right edge with the left edge of the succeeding Box within this Line { _SwGCBorder_BoxBrd aBPara; const SvxBorderLine* pBrd; @@ -215,7 +214,7 @@ sal_Bool lcl_GC_Line_Border( const SwTableLine*& rpLine, void* pPara ) } } - // und jetzt die eigene untere Kante mit der nachfolgenden oberen Kante + // And now the own bottom edge with the succeeding top edge if( !pGCPara->IsLastLine() ) { SwCollectTblLineBoxes aBottom( sal_False ); @@ -226,7 +225,7 @@ sal_Bool lcl_GC_Line_Border( const SwTableLine*& rpLine, void* pPara ) const SwTableLine* pNextLine = (*pGCPara->pLines)[ pGCPara->nLinePos+1 ]; ::lcl_Line_CollectBox( pNextLine, &aTop ); - // dann entferne mal alle "doppelten" gleichen Lines + // remove all "duplicated" Lines that are the same sal_uInt16 nBtmPos, nTopPos, nSttBtm = 0, nSttTop = 0, nEndBtm = aBottom.Count(), nEndTop = aTop.Count(); @@ -245,7 +244,7 @@ sal_Bool lcl_GC_Line_Border( const SwTableLine*& rpLine, void* pPara ) if( pTopLine && pBtmLine && *pTopLine == *pBtmLine ) { - // dann kann einer entfernt werden, aber welche? + // We can remove one, but which one? sal_uInt16 nSavSttBtm = nSttBtm, nSavSttTop = nSttTop; sal_uInt16 nBtmEndPos = ::lcl_FindEndPosOfBorder( aBottom, *pTopLine, nSttBtm, sal_False ); @@ -257,7 +256,7 @@ sal_Bool lcl_GC_Line_Border( const SwTableLine*& rpLine, void* pPara ) if( nTopEndPos <= nBtmEndPos ) { - // dann die TopBorder bis zur BottomEndPos loeschen + // Delete the TopBorders until BottomEndPos nSttTop = nSavSttTop; if( nTopPos <= nBtmEndPos ) lcl_GCBorder_DelBorder( aTop, --nSttTop, sal_True, @@ -268,7 +267,7 @@ sal_Bool lcl_GC_Line_Border( const SwTableLine*& rpLine, void* pPara ) } else { - // sonst die BottomBorder bis zur TopEndPos loeschen + // Else delete the BottomBorders until TopEndPos nSttBtm = nSavSttBtm; if( nBtmPos <= nTopEndPos ) lcl_GCBorder_DelBorder( aBottom, --nSttBtm, sal_False, @@ -343,7 +342,7 @@ sal_Bool lcl_MergeGCBox( const SwTableBox*& rpTblBox, void* pPara ) sal_uInt16 n, nLen = rpBox->GetTabLines().Count(); if( nLen ) { - // ACHTUNG: die Anzahl der Lines kann sich aendern! + // ATTENTION: The Line count can change! _GCLinePara aPara( rpBox->GetTabLines(), (_GCLinePara*)pPara ); for( n = 0; n < rpBox->GetTabLines().Count() && lcl_MergeGCLine( *(rpBox->GetTabLines().GetData() + n), &aPara ); @@ -352,8 +351,8 @@ sal_Bool lcl_MergeGCBox( const SwTableBox*& rpTblBox, void* pPara ) if( 1 == rpBox->GetTabLines().Count() ) { - // Box mit einer Line, dann verschiebe alle Boxen der Line - // hinter diese Box in der Parent-Line und loesche diese Box + // Box with a Line, then move all the Line's Boxes after this Box + // into the parent Line and delete this Box SwTableLine* pInsLine = rpBox->GetUpper(); SwTableLine* pCpyLine = rpBox->GetTabLines()[0]; sal_uInt16 nInsPos = pInsLine->GetTabBoxes().C40_GETPOS( SwTableBox, rpBox ); @@ -362,10 +361,10 @@ sal_Bool lcl_MergeGCBox( const SwTableBox*& rpTblBox, void* pPara ) pInsLine->GetTabBoxes().Insert( &pCpyLine->GetTabBoxes(), nInsPos+1 ); pCpyLine->GetTabBoxes().Remove( 0, n ); - // loesche alte die Box mit der Line + // Delete the old Box with the Line pInsLine->GetTabBoxes().DeleteAndDestroy( nInsPos ); - return sal_False; // neu aufsetzen + return sal_False; // set up anew } } return sal_True; @@ -380,31 +379,30 @@ sal_Bool lcl_MergeGCLine( const SwTableLine*& rpLine, void* pPara ) _GCLinePara* pGCPara = (_GCLinePara*)pPara; while( 1 == nLen ) { - // es gibt eine Box mit Lines + // We have a Box with Lines SwTableBox* pBox = pLn->GetTabBoxes()[0]; if( !pBox->GetTabLines().Count() ) break; SwTableLine* pLine = pBox->GetTabLines()[0]; - // pLine wird zu der aktuellen, also der rpLine, - // die restlichen werden ins LinesArray hinter der akt. - // verschoben. - // Das LinesArray ist im pPara! + // pLine turns into the current Line (that is rpLine), the rest is moved + // into the LinesArray past the current one. + // The LinesArray is in pPara! nLen = pBox->GetTabLines().Count(); SwTableLines& rLns = *pGCPara->pLns; const SwTableLine* pTmp = pLn; sal_uInt16 nInsPos = rLns.GetPos( pTmp ); - OSL_ENSURE( USHRT_MAX != nInsPos, "Line nicht gefunden!" ); + OSL_ENSURE( USHRT_MAX != nInsPos, "Could not find Line!" ); SwTableBox* pUpper = pLn->GetUpper(); - rLns.Remove( nInsPos, 1 ); // die Line dem aus Array loeschen + rLns.Remove( nInsPos, 1 ); // remove the Line from the array rLns.Insert( &pBox->GetTabLines(), nInsPos ); - // JP 31.03.99: Bug 60000 - die Attribute der zu loeschenden - // Line an die "eingefuegten" uebertragen + // JP 31.03.99: Bug 60000 + // Pass the attributes of the to-be-deleted Lines to the "inserted" one const SfxPoolItem* pItem; if( SFX_ITEM_SET == pLn->GetFrmFmt()->GetItemState( RES_BACKGROUND, sal_True, &pItem )) @@ -416,19 +414,19 @@ sal_Bool lcl_MergeGCLine( const SwTableLine*& rpLine, void* pPara ) pGCPara->pShareFmts->SetAttr( *rBoxLns[ nLns ], *pItem ); } - pBox->GetTabLines().Remove( 0, nLen ); // Lines aus Array loeschen + pBox->GetTabLines().Remove( 0, nLen ); // Remove Lines from the array delete pLn; - // Abhaengigkeit neu setzen + // Set the dependency anew while( nLen-- ) rLns[ nInsPos++ ]->SetUpper( pUpper ); - pLn = pLine; // und neu setzen + pLn = pLine; // and set up anew nLen = pLn->GetTabBoxes().Count(); } - // ACHTUNG: die Anzahl der Boxen kann sich aendern! + // ATTENTION: The number of boxes can change! for( nLen = 0; nLen < pLn->GetTabBoxes().Count(); ++nLen ) if( !lcl_MergeGCBox( *(pLn->GetTabBoxes().GetData() + nLen ), pPara )) --nLen; @@ -436,10 +434,10 @@ sal_Bool lcl_MergeGCLine( const SwTableLine*& rpLine, void* pPara ) return sal_True; } - // Struktur ein wenig aufraeumen +// Clean structure a bit void SwTable::GCLines() { - // ACHTUNG: die Anzahl der Lines kann sich aendern! + // ATTENTION: The Line count can change! _GCLinePara aPara( GetTabLines() ); SwShareBoxFmts aShareFmts; aPara.pShareFmts = &aShareFmts; diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx index b46220c551b4..83b2fa94c131 100644 --- a/sw/source/core/doc/notxtfrm.cxx +++ b/sw/source/core/doc/notxtfrm.cxx @@ -159,16 +159,15 @@ SwNoTxtFrm::SwNoTxtFrm(SwNoTxtNode * const pNode, SwFrm* pSib ) InitCtor(); } -// Initialisierung: z.Zt. Eintragen des Frames im Cache +// Initialization: Currently add the Frame to the Cache void SwNoTxtFrm::InitCtor() { nType = FRMC_NOTXT; - // Das Gewicht der Grafik ist 0, wenn sie noch nicht - // gelesen ist, < 0, wenn ein Lesefehler auftrat und - // Ersatzdarstellung angewendet werden musste und >0, - // wenn sie zur Verfuegung steht. + // The graphic's weight is 0 if it has not been read, + // < 0 if we had a read error and we needed to use the replacement and + // > 0 if it is available nWeight = 0; } @@ -268,7 +267,7 @@ void SwNoTxtFrm::Paint(SwRect const& rRect, SwPrintData const*const) const !pSh->GetWin() ) StopAnimation(); - SfxProgress::EnterLock(); //Keine Progress-Reschedules im Paint (SwapIn) + SfxProgress::EnterLock(); // No progress reschedules in paint (SwapIn) OutputDevice *pOut = pSh->GetOut(); pOut->Push(); @@ -303,16 +302,15 @@ void SwNoTxtFrm::Paint(SwRect const& rRect, SwPrintData const*const) const aPaintArea._Intersection( aOrigPaint ); SwRect aNormal( Frm().Pos() + Prt().Pos(), Prt().SSize() ); - aNormal.Justify(); //Normalisiertes Rechteck fuer die Vergleiche + aNormal.Justify(); // Normalized rectangle for the comparisons if( aPaintArea.IsOver( aNormal ) ) { - // berechne die 4 zu loeschenden Rechtecke + // Calculate the four to-be-deleted rectangles if( pSh->GetWin() ) ::lcl_ClearArea( *this, *pSh->GetOut(), aPaintArea, aNormal ); - // in der Schnittmenge vom PaintBereich und der Bitmap liegt - // der absolut sichtbare Bereich vom Frame + // The intersection of the PaintArea and the Bitmap contains the absolutely visible area of the Frame aPaintArea._Intersection( aNormal ); if ( bClip ) @@ -321,7 +319,7 @@ void SwNoTxtFrm::Paint(SwRect const& rRect, SwPrintData const*const) const PaintPicture( pOut, aGrfArea ); } else - // wenn nicht sichtbar, loesche einfach den angegebenen Bereich + // If it's not visible, simply delete the given Area lcl_ClearArea( *this, *pSh->GetOut(), aPaintArea, SwRect() ); if( pGrfNd ) pGrfNd->SetFrameInPaint( sal_False ); @@ -335,12 +333,12 @@ void SwNoTxtFrm::Paint(SwRect const& rRect, SwPrintData const*const) const |* void lcl_CalcRect( Point & aPt, Size & aDim, |* sal_uInt16 nMirror ) |* -|* Beschreibung Errechne die Position und die Groesse der Grafik im -|* Frame, entsprechen der aktuellen Grafik-Attribute +|* Calculate the position and the size of the graphic in the Frame, +|* corresponding to the current graphic attributes |* -|* Parameter Point& die Position im Frame ( auch Return-Wert ) -|* Size& die Groesse der Grafik ( auch Return-Wert ) -|* MirrorGrf akt. Spiegelungs-Attribut +|* Point& the position in the Frame (also returned) +|* Size& the graphic's size (also returned) +|* nMirror the current mirror attribute |* *************************************************************************/ @@ -364,19 +362,18 @@ void lcl_CalcRect( Point& rPt, Size& rDim, sal_uInt16 nMirror ) |* |* void SwNoTxtFrm::GetGrfArea() |* -|* Beschreibung Errechne die Position und die Groesse der Bitmap -|* innerhalb des uebergebenem Rechtecks. +|* Calculate the Bitmap's position and the size within the passed rectangle |* *************************************************************************/ void SwNoTxtFrm::GetGrfArea( SwRect &rRect, SwRect* pOrigRect, sal_Bool ) const { - //currently only used for scaling, cropping and mirroring the contour of graphics! - //all other is handled by the GraphicObject + // Currently only used for scaling, cropping and mirroring the contour of graphics! + // Everything else is handled by GraphicObject - //In rRect wird das sichbare Rechteck der Grafik gesteckt. - //In pOrigRect werden Pos+Size der Gesamtgrafik gesteck. + // We put the graphic's visible rectangle into rRect. + // pOrigRect contains position and size of the whole graphic. const SwAttrSet& rAttrSet = GetNode()->GetSwAttrSet(); const SwCropGrf& rCrop = rAttrSet.GetCropGrf(); @@ -396,7 +393,8 @@ void SwNoTxtFrm::GetGrfArea( SwRect &rRect, SwRect* pOrigRect, } } - //Grafik wird vom Node eingelesen falls notwendig. Kann aber schiefgehen. + // We read graphic from the Node, if needed. + // It may fail, however. long nLeftCrop, nRightCrop, nTopCrop, nBottomCrop; Size aOrigSz( ((SwNoTxtNode*)GetNode())->GetTwipSize() ); if ( !aOrigSz.Width() ) @@ -449,7 +447,7 @@ void SwNoTxtFrm::GetGrfArea( SwRect &rRect, SwRect* pOrigRect, Point aVisPt( Frm().Pos() + Prt().Pos() ); Point aGrfPt( aVisPt ); - //Erst das 'sichtbare' Rect einstellen. + // Set the "visible" rectangle first if ( nLeftCrop > 0 ) { aVisPt.X() += nLeftCrop; @@ -468,7 +466,7 @@ void SwNoTxtFrm::GetGrfArea( SwRect &rRect, SwRect* pOrigRect, rRect.Pos ( aVisPt ); rRect.SSize( aVisSz ); - //Ggf. Die Gesamtgrafik berechnen + // Calculate the whole graphic if needed if ( pOrigRect ) { Size aTmpSz( aGrfSz ); @@ -489,15 +487,14 @@ void SwNoTxtFrm::GetGrfArea( SwRect &rRect, SwRect* pOrigRect, |* |* Size SwNoTxtFrm::GetSize() |* -|* Beschreibung Gebe die Groesse des umgebenen FLys und -|* damit die der Grafik zurueck. +|* By returning the surrounding Fly's size which equals the graphic's size |* *************************************************************************/ const Size& SwNoTxtFrm::GetSize() const { - // gebe die Groesse des Frames zurueck + // Return the Frame's size const SwFrm *pFly = FindFlyFrm(); if( !pFly ) pFly = this; @@ -537,7 +534,7 @@ void SwNoTxtFrm::MakeAll() |* |* SwNoTxtFrm::Format() |* -|* Beschreibung Errechne die Groesse der Bitmap, wenn noetig +|* Calculate the Bitmap's site, if needed |* *************************************************************************/ @@ -546,7 +543,7 @@ void SwNoTxtFrm::Format( const SwBorderAttrs * ) { const Size aNewSize( GetSize() ); - // hat sich die Hoehe geaendert? + // Did the height change? SwTwips nChgHght = IsVertical() ? (SwTwips)(aNewSize.Width() - Prt().Width()) : (SwTwips)(aNewSize.Height() - Prt().Height()); @@ -577,10 +574,10 @@ sal_Bool SwNoTxtFrm::GetCharRect( SwRect &rRect, const SwPosition& rPos, rRect.Justify(); - // liegt die Bitmap ueberhaupt im sichtbaren Berich ? + // Is the Bitmap in the visible area at all? if( !aFrameRect.IsOver( rRect ) ) { - // wenn nicht dann steht der Cursor auf dem Frame + // If not, then the Cursor is on the Frame rRect = aFrameRect; rRect.Width( 1 ); } @@ -721,7 +718,7 @@ void SwNoTxtFrm::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew ) else if ( pSh->VisArea().IsOver( aRect ) && OUTDEV_WINDOW == pSh->GetOut()->GetOutDevType() ) { - //invalidate instead of painting + // invalidate instead of painting pSh->GetWin()->Invalidate( aRect.SVRect() ); } @@ -771,12 +768,12 @@ void lcl_correctlyAlignRect( SwRect& rAlignedGrfArea, const SwRect& rInArea, Out } } -// Ausgabe der Grafik. Hier wird entweder eine QuickDraw-Bmp oder -// eine Grafik vorausgesetzt. Ist nichts davon vorhanden, wird -// eine Ersatzdarstellung ausgegeben. -/// delete unused 3rd parameter. -/// use aligned rectangle for drawing graphic. -/// pixel-align coordinations for drawing graphic. +// Paint the graphic. +// We require either a QuickDraw-Bitmap or a graphic here. If we do not have +// either, we return a replacement. +// delete unused 3rd parameter. +// use aligned rectangle for drawing graphic. +// pixel-align coordinations for drawing graphic. void SwNoTxtFrm::PaintPicture( OutputDevice* pOut, const SwRect &rGrfArea ) const { ViewShell* pShell = getRootFrm()->GetCurrShell(); @@ -790,25 +787,25 @@ void SwNoTxtFrm::PaintPicture( OutputDevice* pOut, const SwRect &rGrfArea ) cons const bool bIsChart = pOLENd && ChartPrettyPainter::IsChart( pOLENd->GetOLEObj().GetObject() ); - /// calculate aligned rectangle from parameter <rGrfArea>. - /// Use aligned rectangle <aAlignedGrfArea> instead of <rGrfArea> in - /// the following code. + // calculate aligned rectangle from parameter <rGrfArea>. + // Use aligned rectangle <aAlignedGrfArea> instead of <rGrfArea> in + // the following code. SwRect aAlignedGrfArea = rGrfArea; ::SwAlignRect( aAlignedGrfArea, pShell ); if( !bIsChart ) { - /// Because for drawing a graphic left-top-corner and size coordinations are - /// used, these coordinations have to be determined on pixel level. + // Because for drawing a graphic left-top-corner and size coordinations are + // used, these coordinations have to be determined on pixel level. ::SwAlignGrfRect( &aAlignedGrfArea, *pOut ); } else //if( bIsChart ) { - //#i78025# charts own borders are not completely visible - //the above pixel correction is not correct - at least not for charts - //so a different pixel correction is choosen here - //this might be a good idea for all other OLE objects also, - //but as I cannot oversee the consequences I fix it only for charts for now + // #i78025# charts own borders are not completely visible + // the above pixel correction is not correct - at least not for charts + // so a different pixel correction is chosen here + // this might be a good idea for all other OLE objects also, + // but as I cannot oversee the consequences I fix it only for charts for now lcl_correctlyAlignRect( aAlignedGrfArea, rGrfArea, pOut ); } @@ -836,7 +833,6 @@ void SwNoTxtFrm::PaintPicture( OutputDevice* pOut, const SwRect &rGrfArea ) cons } // #i85717#, #i90395# - check, if asynchronous retrieval // if input stream for the graphic is possible -// else if( GRAPHIC_DEFAULT == rGrfObj.GetType() && else if ( ( rGrfObj.GetType() == GRAPHIC_DEFAULT || rGrfObj.GetType() == GRAPHIC_NONE ) && pGrfNd->IsLinkedFile() && @@ -893,7 +889,7 @@ void SwNoTxtFrm::PaintPicture( OutputDevice* pOut, const SwRect &rGrfArea ) cons OSL_ENSURE( OUTDEV_VIRDEV != pOut->GetOutDevType() || pShell->GetViewOptions()->IsPDFExport(), - "pOut sollte kein virtuelles Device sein" ); + "pOut should not be a virtual device" ); rGrfObj.StartAnimation( pOut, aAlignedGrfArea.Pos(), aAlignedGrfArea.SSize(), long(this), @@ -928,7 +924,7 @@ void SwNoTxtFrm::PaintPicture( OutputDevice* pOut, const SwRect &rGrfArea ) cons ::lcl_PaintReplacement( aAlignedGrfArea, aText, *pShell, this, sal_True ); } - //Beim Drucken duerfen wir nicht die Grafiken sammeln... + // When printing, we must not collect the graphics if( bSwapped && bPrn ) bForceSwap = sal_True; } @@ -940,13 +936,13 @@ void SwNoTxtFrm::PaintPicture( OutputDevice* pOut, const SwRect &rGrfArea ) cons pOut->SetAntialiasing( nFormerAntialiasingAtOutput ); } else if( bIsChart - //charts must be painted resolution dependent!! #i82893#, #i75867# + // Charts must be painted resolution dependent!! #i82893#, #i75867# && ChartPrettyPainter::ShouldPrettyPaintChartOnThisDevice( pOut ) && svt::EmbeddedObjectRef::TryRunningState( pOLENd->GetOLEObj().GetOleRef() ) && ChartPrettyPainter::DoPrettyPaintChart( uno::Reference< frame::XModel >( pOLENd->GetOLEObj().GetOleRef()->getComponent(), uno::UNO_QUERY), pOut, aAlignedGrfArea.SVRect() ) ) { - (void)(0);//all was done in if statement + (void)(0);// all was done in if statement } else if( pOLENd ) { @@ -967,8 +963,7 @@ void SwNoTxtFrm::PaintPicture( OutputDevice* pOut, const SwRect &rGrfArea ) cons Point aPosition(aAlignedGrfArea.Pos()); Size aSize(aAlignedGrfArea.SSize()); - // Im BrowseModus gibt es nicht unbedingt einen Drucker und - // damit kein JobSetup, also legen wir eines an ... + // We do not have a printer in the BrowseMode and thus no JobSetup, so we create one ... const JobSetup* pJobSetup = pOLENd->getIDocumentDeviceAccess()->getJobsetup(); sal_Bool bDummyJobSetup = 0 == pJobSetup; if( bDummyJobSetup ) @@ -995,7 +990,7 @@ void SwNoTxtFrm::PaintPicture( OutputDevice* pOut, const SwRect &rGrfArea ) cons ::svt::EmbeddedObjectRef::DrawPaintReplacement( Rectangle( aPosition, aSize ), pOLENd->GetOLEObj().GetCurrentPersistName(), pOut ); if( bDummyJobSetup ) - delete pJobSetup; // ... und raeumen wieder auf. + delete pJobSetup; // ... and clean it up again sal_Int64 nMiscStatus = pOLENd->GetOLEObj().GetOleRef()->getStatus( pOLENd->GetAspect() ); if ( !bPrn && pShell->ISA( SwCrsrShell ) && @@ -1022,14 +1017,14 @@ sal_Bool SwNoTxtFrm::IsTransparent() const if( 0 != (pNd = GetNode()->GetGrfNode()) ) return pNd->IsTransparent(); - //#29381# OLE sind immer Transparent. + //#29381# OLE are always transparent return sal_True; } void SwNoTxtFrm::StopAnimation( OutputDevice* pOut ) const { - //animierte Grafiken anhalten + // Stop animated graphics SwGrfNode* pGrfNd = (SwGrfNode*)GetNode()->GetGrfNode(); if( pGrfNd && pGrfNd->IsAnimated() ) pGrfNd->GetGrfObj().StopAnimation( pOut, long(this) ); diff --git a/sw/source/core/doc/swserv.cxx b/sw/source/core/doc/swserv.cxx index ed09579351a3..1445b2761c9a 100644 --- a/sw/source/core/doc/swserv.cxx +++ b/sw/source/core/doc/swserv.cxx @@ -76,7 +76,7 @@ sal_Bool SwServerObject::GetData( uno::Any & rData, case BOOKMARK_SERVER: if( CNTNT_TYPE.pBkmk->IsExpanded() ) { - // Bereich aufspannen + // Span area pPam = new SwPaM( CNTNT_TYPE.pBkmk->GetMarkPos(), CNTNT_TYPE.pBkmk->GetOtherMarkPos() ); } @@ -99,7 +99,7 @@ sal_Bool SwServerObject::GetData( uno::Any & rData, if( pPam ) { - // Stream anlegen + // Create stream SvMemoryStream aMemStm( 65535, 65535 ); SwWriter aWrt( aMemStm, *pPam, sal_False ); if( !IsError( aWrt.Write( xWrt )) ) @@ -128,7 +128,7 @@ sal_Bool SwServerObject::SetData( const String & , void SwServerObject::SendDataChanged( const SwPosition& rPos ) { - // ist an unseren Aenderungen jemand interessiert ? + // Is someone interested in our changes? if( HasDataLinks() ) { int bCall = sal_False; @@ -155,7 +155,7 @@ void SwServerObject::SendDataChanged( const SwPosition& rPos ) if( bCall ) { - // Recursionen erkennen und flaggen + // Recognize recursions and flag them IsLinkInServer( 0 ); SvLinkSource::NotifyDataChanged(); } @@ -165,7 +165,7 @@ void SwServerObject::SendDataChanged( const SwPosition& rPos ) void SwServerObject::SendDataChanged( const SwPaM& rRange ) { - // ist an unseren Aenderungen jemand interessiert ? + // Is someone interested in our changes? if( HasDataLinks() ) { int bCall = sal_False; @@ -187,14 +187,14 @@ void SwServerObject::SendDataChanged( const SwPaM& rRange ) } if( pNd ) { - // liegt der Start-Bereich im Node Bereich ? + // Is the start area within the node area? bCall = pStt->nNode.GetIndex() < pNd->EndOfSectionIndex() && pEnd->nNode.GetIndex() >= pNd->GetIndex(); } if( bCall ) { - // Recursionen erkennen und flaggen + // Recognize recursions and flag them IsLinkInServer( 0 ); SvLinkSource::NotifyDataChanged(); } @@ -243,10 +243,10 @@ sal_Bool SwServerObject::IsLinkInServer( const SwBaseLink* pChkLnk ) const if( nSttNd && nEndNd ) { - // LinkManager besorgen: + // Get LinkManager const ::sfx2::SvBaseLinks& rLnks = pNds->GetDoc()->GetLinkManager().GetLinks(); -// um Rekursionen zu Verhindern: ServerType umsetzen! +// To avoid recursions: convert ServerType! SwServerObject::ServerModes eSave = eType; if( !pChkLnk ) ((SwServerObject*)this)->eType = NONE_SERVER; @@ -322,8 +322,7 @@ SwDataChanged::SwDataChanged( SwDoc* pDc, const SwPosition& rPos, sal_uInt16 nTy SwDataChanged::~SwDataChanged() { - // JP 09.04.96: nur wenn das Layout vorhanden ist ( also waehrend der - // Eingabe) + // JP 09.04.96: Only if the Layout is available (thus during input) if( pDoc->GetCurrentViewShell() ) //swmod 071108//swmod 071225 { const ::sfx2::SvLinkSources& rServers = pDoc->GetLinkManager().GetServers(); @@ -331,7 +330,7 @@ SwDataChanged::~SwDataChanged() for( sal_uInt16 nCnt = rServers.Count(); nCnt; ) { ::sfx2::SvLinkSourceRef refObj( rServers[ --nCnt ] ); - // noch jemand am Object interessiert ? + // Any one else interested in the Object? if( refObj->HasDataLinks() && refObj->ISA( SwServerObject )) { SwServerObject& rObj = *(SwServerObject*)&refObj; @@ -341,11 +340,11 @@ SwDataChanged::~SwDataChanged() rObj.SendDataChanged( *pPam ); } - // sollte jetzt gar keine Verbindung mehr bestehen + // We shouldn't have a connection anymore if( !refObj->HasDataLinks() ) { - // dann raus aus der Liste (Object bleibt aber bestehen!) - // falls es noch da ist !! + // Then remove from the list + // Object is not destroyed, if it still is there! if( nCnt < rServers.Count() && &refObj == rServers[ nCnt ] ) pDoc->GetLinkManager().RemoveServer( nCnt, 1 ); } diff --git a/sw/source/core/doc/tblafmt.cxx b/sw/source/core/doc/tblafmt.cxx index 1fdb6426b8e6..266db7f5f8bc 100644 --- a/sw/source/core/doc/tblafmt.cxx +++ b/sw/source/core/doc/tblafmt.cxx @@ -41,7 +41,7 @@ #include <svx/dialmgr.hxx> #include <svx/dialogs.hrc> -#define READ_OLDVERS // erstmal noch alte Versionen lesen +#define READ_OLDVERS // read the old version for a start #include <swtypes.hxx> #include <doc.hxx> #include <poolfmt.hxx> @@ -51,13 +51,13 @@ using ::editeng::SvxBorderLine; -// bis SO5PF +// until SO5PF const sal_uInt16 AUTOFORMAT_ID_X = 9501; const sal_uInt16 AUTOFORMAT_ID_358 = 9601; const sal_uInt16 AUTOFORMAT_DATA_ID_X = 9502; -// ab SO5 -//! in nachfolgenden Versionen muss der Betrag dieser IDs groesser sein +// from SO5 +//! In follow-up versions these IDs' values need to increase const sal_uInt16 AUTOFORMAT_ID_504 = 9801; const sal_uInt16 AUTOFORMAT_DATA_ID_504 = 9802; @@ -96,11 +96,11 @@ SwBoxAutoFmt* SwTableAutoFmt::pDfltBoxAutoFmt = 0; #define sAutoTblFmtName "autotbl.fmt" -// SwTable Auto-Format-Tabelle +// SwTable AutoFormat Table SV_IMPL_PTRARR( _SwTableAutoFmtTbl, SwTableAutoFmt* ) -// Struct mit Versionsnummern der Items +// Struct with version numbers of the Items struct SwAfVersions { @@ -405,7 +405,7 @@ sal_Bool SwBoxAutoFmt::Load( SvStream& rStream, const SwAfVersions& rVersions, s rStream >> eSys >> eLge; eSysLanguage = (LanguageType) eSys; eNumFmtLanguage = (LanguageType) eLge; - if ( eSysLanguage == LANGUAGE_SYSTEM ) // von alten Versionen (Calc) + if ( eSysLanguage == LANGUAGE_SYSTEM ) // from old versions (Calc) eSysLanguage = static_cast<LanguageType>(::GetAppLanguage()); } @@ -481,7 +481,7 @@ sal_Bool SwBoxAutoFmt::Save( SvStream& rStream ) const aOrientation.Store( rStream, aOrientation.GetVersion(SOFFICE_FILEFORMAT_40) ); aMargin.Store( rStream, aMargin.GetVersion(SOFFICE_FILEFORMAT_40) ); aLinebreak.Store( rStream, aLinebreak.GetVersion(SOFFICE_FILEFORMAT_40) ); - // Calc Rotation ab SO5 + // Calc Rotation from SO5 aRotateAngle.Store( rStream, aRotateAngle.GetVersion(SOFFICE_FILEFORMAT_40) ); aRotateMode.Store( rStream, aRotateMode.GetVersion(SOFFICE_FILEFORMAT_40) ); @@ -556,9 +556,9 @@ SwTableAutoFmt& SwTableAutoFmt::operator=( const SwTableAutoFmt& rNew ) delete aBoxAutoFmt[ n ]; SwBoxAutoFmt* pFmt = rNew.aBoxAutoFmt[ n ]; - if( pFmt ) // ist gesetzt -> kopieren + if( pFmt ) // if is set -> copy aBoxAutoFmt[ n ] = new SwBoxAutoFmt( *pFmt ); - else // sonst default + else // else default aBoxAutoFmt[ n ] = 0; } @@ -586,26 +586,26 @@ SwTableAutoFmt::~SwTableAutoFmt() void SwTableAutoFmt::SetBoxFmt( const SwBoxAutoFmt& rNew, sal_uInt8 nPos ) { - OSL_ENSURE( nPos < 16, "falscher Bereich" ); + OSL_ENSURE( nPos < 16, "wrong area" ); SwBoxAutoFmt* pFmt = aBoxAutoFmt[ nPos ]; - if( pFmt ) // ist gesetzt -> kopieren + if( pFmt ) // if is set -> copy *aBoxAutoFmt[ nPos ] = rNew; - else // sonst neu setzen + else // else set anew aBoxAutoFmt[ nPos ] = new SwBoxAutoFmt( rNew ); } const SwBoxAutoFmt& SwTableAutoFmt::GetBoxFmt( sal_uInt8 nPos ) const { - OSL_ENSURE( nPos < 16, "falscher Bereich" ); + OSL_ENSURE( nPos < 16, "wrong area" ); SwBoxAutoFmt* pFmt = aBoxAutoFmt[ nPos ]; - if( pFmt ) // ist gesetzt -> kopieren + if( pFmt ) // if is set -> copy return *pFmt; - else // sonst den default returnen + else // else return the default { - // falls noch nicht vorhanden: + // If it doesn't exist yet: if( !pDfltBoxAutoFmt ) pDfltBoxAutoFmt = new SwBoxAutoFmt; return *pDfltBoxAutoFmt; @@ -619,10 +619,10 @@ SwBoxAutoFmt& SwTableAutoFmt::UpdateFromSet( sal_uInt8 nPos, UpdateFlags eFlags, SvNumberFormatter* pNFmtr ) { - OSL_ENSURE( nPos < 16, "falscher Bereich" ); + OSL_ENSURE( nPos < 16, "wrong area" ); SwBoxAutoFmt* pFmt = aBoxAutoFmt[ nPos ]; - if( !pFmt ) // ist gesetzt -> kopieren + if( !pFmt ) // if is set -> copy { pFmt = new SwBoxAutoFmt; aBoxAutoFmt[ nPos ] = pFmt; @@ -668,12 +668,12 @@ SwBoxAutoFmt& SwTableAutoFmt::UpdateFromSet( sal_uInt8 nPos, static_cast<LanguageType>(::GetAppLanguage())); else { - // defaulten + // default pFmt->SetValueFormat( aEmptyStr, LANGUAGE_SYSTEM, static_cast<LanguageType>(::GetAppLanguage() )); } } - // den Rest koennen wir nicht, StarCalc spezifisch + // we cannot handle the rest, that's specific to StarCalc return *pFmt; } @@ -763,7 +763,7 @@ void SwTableAutoFmt::UpdateToSet( sal_uInt8 nPos, SfxItemSet& rSet, } } - // den Rest koennen wir nicht, StarCalc spezifisch + // we cannot handle the rest, that's specific to StarCalc } @@ -876,9 +876,9 @@ sal_Bool SwTableAutoFmt::Save( SvStream& rStream ) const for( int i = 0; bRet && i < 16; ++i ) { SwBoxAutoFmt* pFmt = aBoxAutoFmt[ i ]; - if( !pFmt ) // nicht gesetzt -> default schreiben + if( !pFmt ) // if not set -> write default { - // falls noch nicht vorhanden: + // If it doesn't exist yet: if( !pDfltBoxAutoFmt ) pDfltBoxAutoFmt = new SwBoxAutoFmt; pFmt = pDfltBoxAutoFmt; @@ -907,13 +907,13 @@ SwTableAutoFmtTbl::SwTableAutoFmtTbl() for( i = 0; i < 4; ++i ) pNew->SetBoxFmt( aNew, i ); - // 70% Grau + // 70% gray aBrushItem.SetColor( RGB_COLORDATA( 0x4d, 0x4d, 0x4d ) ); aNew.SetBackground( aBrushItem ); for( i = 4; i <= 12; i += 4 ) pNew->SetBoxFmt( aNew, i ); - // 20% Grau + // 20% gray aBrushItem.SetColor( RGB_COLORDATA( 0xcc, 0xcc, 0xcc ) ); aNew.SetBackground( aBrushItem ); aColor.SetColor( COL_BLACK ); @@ -978,7 +978,7 @@ sal_Bool SwTableAutoFmtTbl::Load( SvStream& rStream ) sal_Bool bRet = 0 == rStream.GetError(); if (bRet) { - // Achtung hier muss ein allgemeiner Header gelesen werden + // Attention: We need to read a general Header here sal_uInt16 nVal = 0; rStream >> nVal; bRet = 0 == rStream.GetError(); @@ -998,7 +998,7 @@ sal_Bool SwTableAutoFmtTbl::Load( SvStream& rStream ) // rStream >> nFileVers; if( rStream.Tell() != sal_uLong(nPos + nCnt) ) { - OSL_ENSURE( !this, "Der Header enthaelt mehr/neuere Daten" ); + OSL_ENSURE( !this, "The Header contains more or newer Data" ); rStream.Seek( nPos + nCnt ); } rStream.SetStreamCharSet( (CharSet)nChrSet ); @@ -1008,7 +1008,7 @@ sal_Bool SwTableAutoFmtTbl::Load( SvStream& rStream ) if( nVal == AUTOFORMAT_ID_358 || nVal == AUTOFORMAT_ID_X || (AUTOFORMAT_ID_504 <= nVal && nVal <= AUTOFORMAT_ID) ) { - aVersions.Load( rStream, nVal ); // Item-Versionen + aVersions.Load( rStream, nVal ); // Item versions SwTableAutoFmt* pNew; sal_uInt16 nAnz = 0; @@ -1075,16 +1075,15 @@ sal_Bool SwTableAutoFmtTbl::Save( SvStream& rStream ) const { rStream.SetVersion( SOFFICE_FILEFORMAT_40 ); - // Achtung hier muss ein allgemeiner Header gespeichert werden + // Attention: We need to save a general Header here sal_uInt16 nVal = AUTOFORMAT_ID; rStream << nVal - << (sal_uInt8)2 // Anzahl von Zeichen des Headers incl. diesem + << (sal_uInt8)2 // Character count of the Header including this value << (sal_uInt8)GetStoreCharSet( ::osl_getThreadTextEncoding() ); bRet = 0 == rStream.GetError(); - //----------------------------------------------------------- - // die VersionsNummer fuer alle Attribute schreiben + // Write this version number for all attributes (*this)[ 0 ]->GetBoxFmt( 0 ).SaveVerionNo( rStream ); rStream << (sal_uInt16)(Count() - 1); diff --git a/sw/source/core/doc/tblrwcl.cxx b/sw/source/core/doc/tblrwcl.cxx index e3515990181d..39397ae5d679 100644 --- a/sw/source/core/doc/tblrwcl.cxx +++ b/sw/source/core/doc/tblrwcl.cxx @@ -83,13 +83,13 @@ SV_IMPL_PTRARR_SORT( SwSortTableLines, SwTableLinePtr ); SV_IMPL_PTRARR( _SwShareBoxFmts, SwShareBoxFmt* ) -// fuers setzen der Frame-Formate an den Boxen reicht es, das aktuelle -// im Array zu suchen. Ist es vorhanden, so gebe das neue zurueck +// In order to set the Frame Formats for the Boxes, it's enough to look +// up the current one in the array. If it's already there return the new one. struct _CpyTabFrm { union { - SwTableBoxFmt *pFrmFmt; // fuer CopyCol - SwTwips nSize; // fuer DelCol + SwTableBoxFmt *pFrmFmt; // for CopyCol + SwTwips nSize; // for DelCol } Value; SwTableBoxFmt *pNewFrmFmt; @@ -290,7 +290,7 @@ struct _CpyPara _CpyTabFrms& rTabFrmArr; SwTableLine* pInsLine; SwTableBox* pInsBox; - sal_uLong nOldSize, nNewSize; // zum Korrigieren der Size-Attribute + sal_uLong nOldSize, nNewSize; // in order to correct the size attributes sal_uLong nMinLeft, nMaxRight; sal_uInt16 nCpyCnt, nInsPos; sal_uInt16 nLnIdx, nBoxIdx; @@ -329,7 +329,7 @@ sal_Bool lcl_CopyCol( const _FndBox*& rpFndBox, void* pPara ) { _CpyPara* pCpyPara = (_CpyPara*)pPara; - // suche das FrmFmt im Array aller Frame-Formate + // Look up the Frame Format in the Frame Format Array SwTableBox* pBox = (SwTableBox*)rpFndBox->GetBox(); _CpyTabFrm aFindFrm( (SwTableBoxFmt*)pBox->GetFrmFmt() ); @@ -338,11 +338,10 @@ sal_Bool lcl_CopyCol( const _FndBox*& rpFndBox, void* pPara ) { if( !pCpyPara->rTabFrmArr.Seek_Entry( aFindFrm, &nFndPos )) { - // fuer das verschachtelte Kopieren sicher auch das neue Format - // als alt. + // For nested copying, also save the new Format as an old one. SwTableBoxFmt* pNewFmt = (SwTableBoxFmt*)pBox->ClaimFrmFmt(); - // suche die selektierten Boxen in der Line: + // Find the selected Boxes in the Line: _FndLine* pCmpLine = NULL; SwFmtFrmSize aFrmSz( pNewFmt->GetFrmSize() ); @@ -356,7 +355,7 @@ sal_Bool lcl_CopyCol( const _FndBox*& rpFndBox, void* pPara ) if( bDiffCount ) { - // die erste Line sollte reichen + // The first Line should be enough _FndBoxes& rFndBoxes = pCmpLine->GetBoxes(); long nSz = 0; for( sal_uInt16 n = rFndBoxes.Count(); n; ) @@ -366,7 +365,7 @@ sal_Bool lcl_CopyCol( const _FndBox*& rpFndBox, void* pPara ) pNewFmt->SetFmtAttr( aFrmSz ); aFrmSz.SetWidth( nSz / ( pCpyPara->nCpyCnt + 1 ) ); - // fuer die neue Box ein neues Format mit der Groesse anlegen! + // Create a new Format for the new Box, specifying it's size. aFindFrm.pNewFrmFmt = (SwTableBoxFmt*)pNewFmt->GetDoc()-> MakeTableLineFmt(); *aFindFrm.pNewFrmFmt = *pNewFmt; @@ -434,16 +433,15 @@ sal_Bool lcl_CopyCol( const _FndBox*& rpFndBox, void* pPara ) if( 1 == pCpyPara->nDelBorderFlag || 8 == pCpyPara->nDelBorderFlag ) { - // es wird dahinter kopiert, bei allen Boxen die - // TopBorderLine loeschen + // For all Boxes that delete TopBorderLine, we copy after that pBox = pCpyPara->pInsLine->GetTabBoxes()[ pCpyPara->nInsPos - 1 ]; } aFindFrm.pNewFrmFmt = (SwTableBoxFmt*)pBox->GetFrmFmt(); - // ansonsten wird davor kopiert und die erste Line behaelt - // die TopLine und an der originalen wird sie entfernt + // Else we copy before that and the first Line keeps the TopLine + // and we remove it at the original pBox->ClaimFrmFmt()->SetFmtAttr( aNew ); if( !pCpyPara->nCpyCnt ) @@ -480,13 +478,12 @@ sal_Bool lcl_CopyRow( const _FndLine*& rpFndLine, void* pPara ) void lcl_InsCol( _FndLine* pFndLn, _CpyPara& rCpyPara, sal_uInt16 nCpyCnt, sal_Bool bBehind ) { - // Bug 29124: nicht nur in den Grundlines kopieren. Wenns geht, so weit - // runter wie moeglich. + // Bug 29124: Not only copy in the BaseLines. If possible, we go down as far as possible _FndBox* pFBox; if( 1 == pFndLn->GetBoxes().Count() && !( pFBox = pFndLn->GetBoxes()[ 0 ] )->GetBox()->GetSttNd() ) { - // eine Box mit mehreren Lines, also in diese Lines einfuegen + // A Box with multiple Lines, so insert into these Lines for( sal_uInt16 n = 0; n < pFBox->GetLines().Count(); ++n ) lcl_InsCol( pFBox->GetLines()[ n ], rCpyPara, nCpyCnt, bBehind ); } @@ -521,7 +518,7 @@ SwRowFrm* GetRowFrm( SwTableLine& rLine ) sal_Bool SwTable::InsertCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nCnt, sal_Bool bBehind ) { - OSL_ENSURE( !rBoxes.empty() && nCnt, "keine gueltige Box-Liste" ); + OSL_ENSURE( !rBoxes.empty() && nCnt, "No valid Box List" ); SwTableNode* pTblNd = const_cast<SwTableNode*>( rBoxes.begin()->second->GetSttNd()->FindTableNode() ); if( !pTblNd ) return sal_False; @@ -531,7 +528,7 @@ sal_Bool SwTable::InsertCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 n bRes = NewInsertCol( pDoc, rBoxes, nCnt, bBehind ); else { - // suche alle Boxen / Lines + // Find all Boxes/Lines _FndBox aFndBox( 0, 0 ); { _FndPara aPara( rBoxes, &aFndBox ); @@ -540,9 +537,9 @@ sal_Bool SwTable::InsertCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 n if( !aFndBox.GetLines().Count() ) return sal_False; - SetHTMLTableLayout( 0 ); // MIB 9.7.97: HTML-Layout loeschen + SetHTMLTableLayout( 0 ); // Delete HTML Layout - //Lines fuer das Layout-Update herausuchen. + // Find Lines for the layout update aFndBox.SetTableLines( *this ); aFndBox.DelFrms( *this ); @@ -555,10 +552,10 @@ sal_Bool SwTable::InsertCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 n for( sal_uInt16 n = 0; n < aFndBox.GetLines().Count(); ++n ) lcl_InsCol( aFndBox.GetLines()[ n ], aCpyPara, nCnt, bBehind ); - // dann raeume die Struktur dieser Line noch mal auf, generell alle + // clean up this Line's structure once again, generally all of them GCLines(); - //Layout updaten + // Update Layout aFndBox.MakeFrms( *this ); CHECKBOXWIDTH; @@ -577,12 +574,12 @@ sal_Bool SwTable::InsertCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 n sal_Bool SwTable::_InsertRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nCnt, sal_Bool bBehind ) { - OSL_ENSURE( pDoc && !rBoxes.empty() && nCnt, "keine gueltige Box-Liste" ); + OSL_ENSURE( pDoc && !rBoxes.empty() && nCnt, "No valid Box List" ); SwTableNode* pTblNd = const_cast<SwTableNode*>( rBoxes.begin()->second->GetSttNd()->FindTableNode() ); if( !pTblNd ) return sal_False; - // suche alle Boxen / Lines + // Find all Boxes/Lines _FndBox aFndBox( 0, 0 ); { _FndPara aPara( rBoxes, &aFndBox ); @@ -591,7 +588,7 @@ sal_Bool SwTable::_InsertRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, if( !aFndBox.GetLines().Count() ) return sal_False; - SetHTMLTableLayout( 0 ); // MIB 9.7.97: HTML-Layout loeschen + SetHTMLTableLayout( 0 ); // Delete HTML Layout _FndBox* pFndBox = &aFndBox; { @@ -599,7 +596,7 @@ sal_Bool SwTable::_InsertRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, while( 1 == pFndBox->GetLines().Count() && 1 == ( pFndLine = pFndBox->GetLines()[ 0 ])->GetBoxes().Count() ) { - // nicht zu weit runter, eine Line mit Boxen muss nachbleiben!! + // Don't go down too far! One Line with Box needs to remain! _FndBox* pTmpBox = pFndLine->GetBoxes()[ 0 ]; if( pTmpBox->GetLines().Count() ) pFndBox = pTmpBox; @@ -608,7 +605,7 @@ sal_Bool SwTable::_InsertRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, } } - //Lines fuer das Layout-Update herausuchen. + // Find Lines for the layout update const sal_Bool bLayout = !IsNewModel() && 0 != SwIterator<SwTabFrm,SwFmt>::FirstElement( *GetFrmFmt() ); @@ -649,11 +646,11 @@ sal_Bool SwTable::_InsertRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, pFndBox->GetLines().ForEach( &lcl_CopyRow, &aCpyPara ); } - // dann raeume die Struktur dieser Line noch mal auf, generell alle + // clean up this Line's structure once again, generally all of them if( !pDoc->IsInReading() ) GCLines(); - //Layout updaten + // Update Layout if ( bLayout ) { if( pFndBox != &aFndBox ) @@ -714,12 +711,12 @@ sal_Bool SwTable::AppendRow( SwDoc* pDoc, sal_uInt16 nCnt ) if( !pTblNd ) return sal_False; - // suche alle Boxen / Lines + // Find all Boxes/Lines _FndBox aFndBox( 0, 0 ); { const SwTableLine* pLLine = GetTabLines()[ GetTabLines().Count()-1 ]; - const SwSelBoxes* pBxs = 0; // Dummy !!! + const SwSelBoxes* pBxs = 0; // Dummy!!! _FndPara aPara( *pBxs, &aFndBox ); _FndBoxAppendRowLine( pLLine, &aPara ); @@ -727,9 +724,9 @@ sal_Bool SwTable::AppendRow( SwDoc* pDoc, sal_uInt16 nCnt ) if( !aFndBox.GetLines().Count() ) return sal_False; - SetHTMLTableLayout( 0 ); // MIB 9.7.97: HTML-Layout loeschen + SetHTMLTableLayout( 0 ); // Delete HTML Layout - //Lines fuer das Layout-Update herausuchen. + // Find Lines for the Layout update bool bLayout = 0 != SwIterator<SwTabFrm,SwFmt>::FirstElement( *GetFrmFmt() ); if( bLayout ) { @@ -749,11 +746,11 @@ sal_Bool SwTable::AppendRow( SwDoc* pDoc, sal_uInt16 nCnt ) aFndBox.GetLines().ForEach( &lcl_CopyRow, &aCpyPara ); } - // dann raeume die Struktur dieser Line noch mal auf, generell alle + // Clean up this Line's structure once again, generally all of them if( !pDoc->IsInReading() ) GCLines(); - //Layout updaten + // Update Layout if ( bLayout ) { aFndBox.MakeNewFrms( *this, nCnt, sal_True ); @@ -786,7 +783,7 @@ void lcl_LastBoxSetWidth( SwTableBoxes &rBoxes, const long nOffset, ::lcl_LastBoxSetWidthLine( rBox.GetTabLines(), nOffset, bFirst, rShareFmts ); - //Die Box anpassen + // Adapt the Box const SwFrmFmt *pBoxFmt = rBox.GetFrmFmt(); SwFmtFrmSize aNew( pBoxFmt->GetFrmSize() ); aNew.SetWidth( aNew.GetWidth() + nOffset ); @@ -817,7 +814,7 @@ void _DeleteBox( SwTable& rTbl, SwTableBox* pBox, SwUndo* pUndo, sal_uInt16 nDelPos = rTblBoxes.C40_GETPOS( SwTableBox, pBox ); SwTableBox* pUpperBox = pBox->GetUpper()->GetUpper(); - // Sonderbehandlung fuer Umrandung: + // Special treatment for the border: if( bCorrBorder && 1 < rTblBoxes.Count() ) { sal_Bool bChgd = sal_False; @@ -825,8 +822,8 @@ void _DeleteBox( SwTable& rTbl, SwTableBox* pBox, SwUndo* pUndo, if( rBoxItem.GetLeft() || rBoxItem.GetRight() ) { - //JP 02.04.97: 1.Teil fuer Bug 36271 - // zuerst die linken/rechten Kanten + // JP 02.04.97: 1st part for Bug 36271 + // First the left/right edges if( nDelPos + 1 < rTblBoxes.Count() ) { SwTableBox* pNxtBox = rTblBoxes[ nDelPos + 1 ]; @@ -873,7 +870,7 @@ void _DeleteBox( SwTable& rTbl, SwTableBox* pBox, SwUndo* pUndo, } - // erst die Box, dann die Nodes loeschen!! + // Delete the Box first, then the Nodes! SwStartNode* pSttNd = (SwStartNode*)pBox->GetSttNd(); if( pShareFmts ) pShareFmts->RemoveFormat( *rTblBoxes[ nDelPos ]->GetFrmFmt() ); @@ -881,17 +878,17 @@ void _DeleteBox( SwTable& rTbl, SwTableBox* pBox, SwUndo* pUndo, if( pSttNd ) { - // ist das UndoObject zum speichern der Section vorbereitet? + // Has the UndoObject been prepared to save the Section? if( pUndo && pUndo->IsDelBox() ) ((SwUndoTblNdsChg*)pUndo)->SaveSection( pSttNd ); else pSttNd->GetDoc()->DeleteSection( pSttNd ); } - // auch die Zeile noch loeschen ?? + // Also delete the Line? if( rTblBoxes.Count() ) { - // dann passe noch die Frame-SSize an + // Then adapt the Frame-SSize sal_Bool bLastBox = nDelPos == rTblBoxes.Count(); if( bLastBox ) --nDelPos; @@ -907,8 +904,7 @@ void _DeleteBox( SwTable& rTbl, SwTableBox* pBox, SwUndo* pUndo, if( !pBox->GetSttNd() ) { - // dann muss es auch rekursiv in allen Zeilen, in allen - // Zellen erfolgen! + // We need to this recursively in all Lines in all Cells! SwShareBoxFmts aShareFmts; ::lcl_LastBoxSetWidthLine( pBox->GetTabLines(), nBoxSz, !bLastBox, @@ -916,20 +912,20 @@ void _DeleteBox( SwTable& rTbl, SwTableBox* pBox, SwUndo* pUndo, : aShareFmts ); } } - break; // nichts mehr loeschen + break; // Stop deleting } - // loesche die Line aus Tabelle/Box + // Delete the Line from the Table/Box if( !pUpperBox ) { - // dann loesche auch noch die Line aus der Tabelle + // Also delete the Line from the Table nDelPos = rTbl.GetTabLines().C40_GETPOS( SwTableLine, pLine ); if( pShareFmts ) pShareFmts->RemoveFormat( *rTbl.GetTabLines()[ nDelPos ]->GetFrmFmt() ); rTbl.GetTabLines().DeleteAndDestroy( nDelPos ); - break; // mehr kann nicht geloescht werden + break; // we cannot delete more } - // dann loesche auch noch die Line + // finally also delete the Line pBox = pUpperBox; nDelPos = pBox->GetTabLines().C40_GETPOS( SwTableLine, pLine ); if( pShareFmts ) @@ -962,7 +958,7 @@ SwTableBox* lcl_FndNxtPrvDelBox( const SwTableLines& rTblLns, GetFrmSize().GetWidth()); } - // suche die erste ContentBox + // Find the first ContentBox while( !pFndBox->GetSttNd() ) { const SwTableLines& rLowLns = pFndBox->GetTabLines(); @@ -977,13 +973,13 @@ SwTableBox* lcl_FndNxtPrvDelBox( const SwTableLines& rTblLns, pFndBox = 0; else if( pAllDelBoxes ) { - // falls der Vorganger auch geloscht wird, ist nicht zu tun + // If the predecessor will also be deleted, there's nothing to do SwSelBoxes::iterator it = pAllDelBoxes->find( pFndBox ); if( it == pAllDelBoxes->end() ) break; - // sonst noch mal weitersuchen - // Die Box muessen wir aber nicht nochmal abpruefen + // else, we keep on searching. + // We do not need to recheck the Box, however if( pFndBox->GetSttIdx() <= (*pCurPos)->second->GetSttIdx() ) --*pCurPos; pFndBox = 0; @@ -998,7 +994,7 @@ void lcl_SaveUpperLowerBorder( SwTable& rTbl, const SwTableBox& rBox, SwSelBoxes* pAllDelBoxes = 0, SwSelBoxes::iterator* pCurPos = 0 ) { -//JP 16.04.97: 2.Teil fuer Bug 36271 +//JP 16.04.97: 2. part for Bug 36271 sal_Bool bChgd = sal_False; const SwTableLine* pLine = rBox.GetUpper(); const SwTableBoxes& rTblBoxes = pLine->GetTabBoxes(); @@ -1007,7 +1003,7 @@ void lcl_SaveUpperLowerBorder( SwTable& rTbl, const SwTableBox& rBox, pUpperBox = rBox.GetUpper()->GetUpper(); const SvxBoxItem& rBoxItem = rBox.GetFrmFmt()->GetBox(); - // dann die unteren/oberen Kanten + // then the top/bottom edges if( rBoxItem.GetTop() || rBoxItem.GetBottom() ) { bChgd = sal_False; @@ -1019,20 +1015,19 @@ void lcl_SaveUpperLowerBorder( SwTable& rTbl, const SwTableBox& rBox, sal_uInt16 nLnPos = pTblLns->GetPos( pLine ); - // bestimme die Attr.Position der akt. zu loeschenden Box - // und suche dann in der unteren / oberen Line die entspr. - // Gegenstuecke + // Calculate the attribute position of the top-be-deleted Box and then + // search in the top/bottom Line of the respective counterparts. SwTwips nBoxStt = 0; for( sal_uInt16 n = 0; n < nDelPos; ++n ) nBoxStt += rTblBoxes[ n ]->GetFrmFmt()->GetFrmSize().GetWidth(); SwTwips nBoxWidth = rBox.GetFrmFmt()->GetFrmSize().GetWidth(); SwTableBox *pPrvBox = 0, *pNxtBox = 0; - if( nLnPos ) // Vorgaenger? + if( nLnPos ) // Predecessor? pPrvBox = ::lcl_FndNxtPrvDelBox( *pTblLns, nBoxStt, nBoxWidth, nLnPos, sal_False, pAllDelBoxes, pCurPos ); - if( nLnPos + 1 < pTblLns->Count() ) // Nachfolger? + if( nLnPos + 1 < pTblLns->Count() ) // Successor? pNxtBox = ::lcl_FndNxtPrvDelBox( *pTblLns, nBoxStt, nBoxWidth, nLnPos, sal_True, pAllDelBoxes, pCurPos ); @@ -1083,9 +1078,9 @@ sal_Bool SwTable::DeleteSel( return sal_False; } - SetHTMLTableLayout( 0 ); // MIB 9.7.97: HTML-Layout loeschen + SetHTMLTableLayout( 0 ); // Delete HTML Layout - //Lines fuer das Layout-Update herausuchen. + // Find Lines for the Layout update _FndBox aFndBox( 0, 0 ); if ( bDelMakeFrms ) { @@ -1098,7 +1093,7 @@ sal_Bool SwTable::DeleteSel( SwShareBoxFmts aShareFmts; - // erst die Umrandung umsetzen, dann loeschen + // First switch the Border, then delete if( bCorrBorder ) { SwSelBoxes aBoxes( rBoxes ); @@ -1110,11 +1105,10 @@ sal_Bool SwTable::DeleteSel( PrepareDelBoxes( rBoxes ); SwChartDataProvider *pPCD = pDoc->GetChartDataProvider(); - // - // delete boxes from last to first + // Delete boxes from last to first for( SwSelBoxes::const_reverse_iterator it = rBoxes.rbegin(); it != rBoxes.rend(); ++it ) { - // first adapt the data-sequence for chart if necessary + // First adapt the data-sequence for chart if necessary // (needed to move the implementation cursor properly to it's new // position which can't be done properly if the cell is already gone) if (pPCD && pTblNd) @@ -1124,7 +1118,7 @@ sal_Bool SwTable::DeleteSel( _DeleteBox( *this, it->second, pUndo, sal_True, bCorrBorder, &aShareFmts ); } - // dann raeume die Struktur aller Lines auf + // then clean up the structure of all Lines GCLines(); if( bDelMakeFrms && aFndBox.AreLinesToRestore( *this ) ) @@ -1142,7 +1136,7 @@ sal_Bool SwTable::DeleteSel( sal_Bool SwTable::OldSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nCnt, sal_Bool bSameHeight ) { - OSL_ENSURE( pDoc && !rBoxes.empty() && nCnt, "keine gueltigen Werte" ); + OSL_ENSURE( pDoc && !rBoxes.empty() && nCnt, "No valid values" ); SwTableNode* pTblNd = const_cast<SwTableNode*>(rBoxes.begin()->second->GetSttNd()->FindTableNode()); if( !pTblNd ) return sal_False; @@ -1152,7 +1146,7 @@ sal_Bool SwTable::OldSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 // Thus we tell the charts to use their own data provider and forget about this table pDoc->CreateChartInternalDataProviders( this ); - SetHTMLTableLayout( 0 ); // MIB 9.7.97: HTML-Layout loeschen + SetHTMLTableLayout( 0 ); // Delete HTML Layout // If the rows should get the same (min) height, we first have // to store the old row heights before deleting the frames @@ -1164,13 +1158,13 @@ sal_Bool SwTable::OldSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 { SwTableBox* pSelBox = it->second; const SwRowFrm* pRow = GetRowFrm( *pSelBox->GetUpper() ); - OSL_ENSURE( pRow, "wo ist der Frm von der SwTableLine?" ); + OSL_ENSURE( pRow, "Where is the SwTableLine's Frame?" ); SWRECTFN( pRow ) aRowHeights.push_back((pRow->Frm().*fnRect->fnGetHeight)()); } } - //Lines fuer das Layout-Update herausuchen. + // Find Lines for the Layout update _FndBox aFndBox( 0, 0 ); aFndBox.SetTableLines( rBoxes, *this ); aFndBox.DelFrms( *this ); @@ -1179,13 +1173,13 @@ sal_Bool SwTable::OldSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 for( SwSelBoxes::const_iterator it = rBoxes.begin(); it != rBoxes.end(); ++it, ++n ) { SwTableBox* pSelBox = it->second; - OSL_ENSURE( pSelBox, "Box steht nicht in der Tabelle" ); + OSL_ENSURE( pSelBox, "Box is not within the Table" ); - // dann fuege in die Box nCnt neue Zeilen ein + // Insert nCnt new Lines into the Box SwTableLine* pInsLine = pSelBox->GetUpper(); SwTableBoxFmt* pFrmFmt = (SwTableBoxFmt*)pSelBox->GetFrmFmt(); - // Hoehe der Line beachten, gegebenenfalls neu setzen + // Respect the Line's height, reset if needed SwFmtFrmSize aFSz( pInsLine->GetFrmFmt()->GetFrmSize() ); if ( bSameHeight && ATT_VAR_SIZE == aFSz.GetHeightSizeType() ) aFSz.SetHeightSizeType( ATT_MIN_SIZE ); @@ -1197,13 +1191,13 @@ sal_Bool SwTable::OldSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 SwTableBox* pNewBox = new SwTableBox( pFrmFmt, nCnt, pInsLine ); sal_uInt16 nBoxPos = pInsLine->GetTabBoxes().C40_GETPOS( SwTableBox, pSelBox ); - pInsLine->GetTabBoxes().Remove( nBoxPos ); // alte loeschen + pInsLine->GetTabBoxes().Remove( nBoxPos ); // delete old ones pInsLine->GetTabBoxes().C40_INSERT( SwTableBox, pNewBox, nBoxPos ); - // Hintergrund- / Rand Attribut loeschen - SwTableBox* pLastBox = pSelBox; // zum verteilen der TextNodes !! - // sollte Bereiche in der Box stehen, dann bleibt sie so bestehen - // !! FALLS DAS GEAENDERT WIRD MUSS DAS UNDO ANGEPASST WERDEN !!! + // Delete background/border attribute + SwTableBox* pLastBox = pSelBox; // To distribute the TextNodes! + // If Areas are contained in the Box, it stays as is + // !! If this is changed we need to adapt the Undo, too !!! sal_Bool bMoveNodes = sal_True; { sal_uLong nSttNd = pLastBox->GetSttIdx() + 1, @@ -1223,7 +1217,7 @@ sal_Bool SwTable::OldSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 for( sal_uInt16 i = 0; i <= nCnt; ++i ) { - // also erstmal eine neue Linie in der neuen Box + // Create a new Line in the new Box SwTableLine* pNewLine = new SwTableLine( (SwTableLineFmt*)pInsLine->GetFrmFmt(), 1, pNewBox ); if( bChgLineSz ) @@ -1232,8 +1226,8 @@ sal_Bool SwTable::OldSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 } pNewBox->GetTabLines().C40_INSERT( SwTableLine, pNewLine, i ); - // dann eine neue Box in der Line - if( !i ) // haenge die originale Box ein + // then a new Box in the Line + if( !i ) // hang up the original Box { pSelBox->SetUpper( pNewLine ); pNewLine->GetTabBoxes().C40_INSERT( SwTableBox, pSelBox, 0 ); @@ -1257,17 +1251,17 @@ sal_Bool SwTable::OldSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 const SwNode* pEndNd = pLastBox->GetSttNd()->EndOfSectionNode(); if( pLastBox->GetSttIdx()+2 != pEndNd->GetIndex() ) { - // TextNodes verschieben + // Move TextNodes SwNodeRange aRg( *pLastBox->GetSttNd(), +2, *pEndNd ); - pLastBox = pNewLine->GetTabBoxes()[0]; // neu setzen + pLastBox = pNewLine->GetTabBoxes()[0]; // reset SwNodeIndex aInsPos( *pLastBox->GetSttNd(), 1 ); pDoc->GetNodes()._MoveNodes(aRg, pDoc->GetNodes(), aInsPos, sal_False); - pDoc->GetNodes().Delete( aInsPos, 1 ); // den leeren noch loeschen + pDoc->GetNodes().Delete( aInsPos, 1 ); // delete the empty one } } } } - // in Boxen mit Lines darf es nur noch Size/Fillorder geben + // In Boxes with Lines, we can only have Size/Fillorder pFrmFmt = (SwTableBoxFmt*)pNewBox->ClaimFrmFmt(); pFrmFmt->ResetFmtAttr( RES_LR_SPACE, RES_FRMATR_END - 1 ); pFrmFmt->ResetFmtAttr( RES_BOXATR_BEGIN, RES_BOXATR_END - 1 ); @@ -1284,7 +1278,7 @@ sal_Bool SwTable::OldSplitRow( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 sal_Bool SwTable::SplitCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nCnt ) { - OSL_ENSURE( pDoc && !rBoxes.empty() && nCnt, "keine gueltigen Werte" ); + OSL_ENSURE( pDoc && !rBoxes.empty() && nCnt, "No valid values" ); SwTableNode* pTblNd = const_cast<SwTableNode*>(rBoxes.begin()->second->GetSttNd()->FindTableNode()); if( !pTblNd ) return sal_False; @@ -1294,11 +1288,11 @@ sal_Bool SwTable::SplitCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nC // Thus we tell the charts to use their own data provider and forget about this table pDoc->CreateChartInternalDataProviders( this ); - SetHTMLTableLayout( 0 ); // MIB 9.7.97: HTML-Layout loeschen + SetHTMLTableLayout( 0 ); // Delete HTML Layout SwSelBoxes aSelBoxes( rBoxes ); ExpandSelection( aSelBoxes ); - //Lines fuer das Layout-Update herausuchen. + // Find Lines for the Layout update _FndBox aFndBox( 0, 0 ); aFndBox.SetTableLines( aSelBoxes, *this ); aFndBox.DelFrms( *this ); @@ -1315,16 +1309,16 @@ sal_Bool SwTable::SplitCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nC if( pSelBox->GetFrmFmt()->GetFrmSize().GetWidth()/( nCnt + 1 ) < 10 ) continue; - // dann teile die Box nCnt in nCnt Boxen + // Then split the nCnt Box up into nCnt Boxes SwTableLine* pInsLine = pSelBox->GetUpper(); sal_uInt16 nBoxPos = pInsLine->GetTabBoxes().C40_GETPOS( SwTableBox, pSelBox ); - // suche das FrmFmt im Array aller Frame-Formate + // Find the Frame Format in the Frame Format Array SwTableBoxFmt* pLastBoxFmt; _CpyTabFrm aFindFrm( (SwTableBoxFmt*)pSelBox->GetFrmFmt() ); if( !aFrmArr.Seek_Entry( aFindFrm, &nFndPos )) { - // aender das FrmFmt + // Change the FrmFmt aFindFrm.pNewFrmFmt = (SwTableBoxFmt*)pSelBox->ClaimFrmFmt(); SwTwips nBoxSz = aFindFrm.pNewFrmFmt->GetFrmSize().GetWidth(); SwTwips nNewBoxSz = nBoxSz / ( nCnt + 1 ); @@ -1335,8 +1329,8 @@ sal_Bool SwTable::SplitCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nC pLastBoxFmt = aFindFrm.pNewFrmFmt; if( nBoxSz != ( nNewBoxSz * (nCnt + 1))) { - // es bleibt ein Rest, also muss fuer die letzte Box ein - // eigenes Format definiert werden + // We have a remainder, so we need to define an own Format + // for the last Box. pLastBoxFmt = new SwTableBoxFmt( *aFindFrm.pNewFrmFmt ); pLastBoxFmt->SetFmtAttr( SwFmtFrmSize( ATT_VAR_SIZE, nBoxSz - ( nNewBoxSz * nCnt ), 0 ) ); @@ -1351,15 +1345,15 @@ sal_Bool SwTable::SplitCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nC pLastBoxFmt = (SwTableBoxFmt*)aLastBoxArr[ nFndPos ]; } - // dann fuege mal an der Position die neuen Boxen ein + // Insert the Boxes at the Position for( sal_uInt16 i = 1; i < nCnt; ++i ) ::_InsTblBox( pDoc, pTblNd, pInsLine, aFindFrm.pNewFrmFmt, - pSelBox, nBoxPos + i ); // dahinter einfuegen + pSelBox, nBoxPos + i ); // insert after ::_InsTblBox( pDoc, pTblNd, pInsLine, pLastBoxFmt, - pSelBox, nBoxPos + nCnt ); // dahinter einfuegen + pSelBox, nBoxPos + nCnt ); // insert after - // Sonderbehandlung fuer die Umrandung: + // Special treatment for the Border: const SvxBoxItem& aSelBoxItem = aFindFrm.pNewFrmFmt->GetBox(); if( aSelBoxItem.GetRight() ) { @@ -1369,7 +1363,7 @@ sal_Bool SwTable::SplitCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nC aTmp.SetLine( 0, BOX_LINE_RIGHT ); aFindFrm.pNewFrmFmt->SetFmtAttr( aTmp ); - // und dann das Format aus dem "cache" entfernen + // Remove the Format from the "cache" for( sal_uInt16 i = aFrmArr.Count(); i; ) { const _CpyTabFrm& rCTF = aFrmArr[ --i ]; @@ -1383,7 +1377,7 @@ sal_Bool SwTable::SplitCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nC } } - //Layout updaten + // Update Layout aFndBox.MakeFrms( *this ); CHECKBOXWIDTH @@ -1393,15 +1387,15 @@ sal_Bool SwTable::SplitCol( SwDoc* pDoc, const SwSelBoxes& rBoxes, sal_uInt16 nC /* ----------------------- >> MERGE << ------------------------ - Algorithmus: - ist in der _FndBox nur eine Line angegeben, nehme die Line - und teste die Anzahl der Boxen - - ist mehr als 1 Box angegeben, so wird auf Boxenebene zusammen- - gefasst, d.H. die neue Box wird so Breit wie die alten. - - Alle Lines die ueber/unter dem Bereich liegen werden in die - Box als Line + Box mit Lines eingefuegt - - Alle Lines die vor/hinter dem Bereich liegen werden in - die Boxen Left/Right eingetragen + Algorithm: + If we only have one Line in the _FndBox, take this Line and test + the Box count: + - If we have more than one Box, we merge on Box level, meaning + the new Box will be as wide as the old ones. + - All Lines that are above/under the Area, are inserted into + the Box as Line + Box. + - All Lines that come before/after the Area, are inserted into + the Boxes Left/Right. ----------------------- >> MERGE << ------------------------ */ @@ -1433,12 +1427,12 @@ void lcl_CpyBoxes( sal_uInt16 nStt, sal_uInt16 nEnd, void lcl_CalcWidth( SwTableBox* pBox ) { - // Annahme: jede Line in der Box ist gleich gross + // Assertion: Every Line in the Box is as large SwFrmFmt* pFmt = pBox->ClaimFrmFmt(); - OSL_ENSURE( pBox->GetTabLines().Count(), "Box hat keine Lines" ); + OSL_ENSURE( pBox->GetTabLines().Count(), "Box does not have any Lines" ); SwTableLine* pLine = pBox->GetTabLines()[0]; - OSL_ENSURE( pLine, "Box steht in keiner Line" ); + OSL_ENSURE( pLine, "Box is not within a Line" ); long nWidth = 0; for( sal_uInt16 n = 0; n < pLine->GetTabBoxes().Count(); ++n ) @@ -1446,7 +1440,7 @@ void lcl_CalcWidth( SwTableBox* pBox ) pFmt->SetFmtAttr( SwFmtFrmSize( ATT_VAR_SIZE, nWidth, 0 )); - // in Boxen mit Lines darf es nur noch Size/Fillorder geben + // Boxes with Lines can only have Size/Fillorder pFmt->ResetFmtAttr( RES_LR_SPACE, RES_FRMATR_END - 1 ); pFmt->ResetFmtAttr( RES_BOXATR_BEGIN, RES_BOXATR_END - 1 ); } @@ -1456,8 +1450,8 @@ struct _InsULPara SwTableNode* pTblNd; SwTableLine* pInsLine; SwTableBox* pInsBox; - sal_Bool bUL_LR : 1; // Upper-Lower(sal_True) oder Left-Right(sal_False) ? - sal_Bool bUL : 1; // Upper-Left(sal_True) oder Lower-Right(sal_False) ? + sal_Bool bUL_LR : 1; // Upper-Lower(sal_True) or Left-Right(sal_False) ? + sal_Bool bUL : 1; // Upper-Left(sal_True) or Lower-Right(sal_False) ? SwTableBox* pLeftBox; SwTableBox* pRightBox; @@ -1494,12 +1488,12 @@ sal_Bool lcl_Merge_MoveBox( const _FndBox*& rpFndBox, void* pPara ) pBoxes = &pFndBox->GetUpper()->GetTabBoxes(); if( pULPara->bUL ) // Left ? { - // gibt es noch davor Boxen, dann move sie + // if there are Boxes before it, move them if( 0 != ( nPos = pBoxes->C40_GETPOS( SwTableBox, pFndBox )) ) lcl_CpyBoxes( 0, nPos, *pBoxes, pULPara->pInsLine ); } else // Right - // gibt es noch dahinter Boxen, dann move sie + // if there are Boxes behind it, move them if( (nPos = pBoxes->C40_GETPOS( SwTableBox, pFndBox )) +1 < pBoxes->Count() ) { nInsPos = pULPara->pInsLine->GetTabBoxes().Count(); @@ -1507,17 +1501,17 @@ sal_Bool lcl_Merge_MoveBox( const _FndBox*& rpFndBox, void* pPara ) *pBoxes, pULPara->pInsLine ); } } - // Upper/Lower und gehts noch tiefer ?? + // Upper/Lower and still deeper? else if( rpFndBox->GetLines().Count() ) { - // suche nur die Line, ab der Verschoben werden muss + // Only search the Line from which we need to move nStt = pULPara->bUL ? 0 : rpFndBox->GetLines().Count()-1; nEnd = nStt+1; } pBoxes = &pULPara->pInsLine->GetTabBoxes(); - // geht es noch eine weitere Stufe runter? + // Is there still a level to step down to? if( rpFndBox->GetBox()->GetTabLines().Count() ) { SwTableBox* pBox = new SwTableBox( @@ -1531,7 +1525,7 @@ sal_Bool lcl_Merge_MoveBox( const _FndBox*& rpFndBox, void* pPara ) if( USHRT_MAX == nInsPos ) nInsPos = pBoxes->Count(); pBoxes->C40_INSERT( SwTableBox, pBox, nInsPos ); - lcl_CalcWidth( pBox ); // bereche die Breite der Box + lcl_CalcWidth( pBox ); // calculate the Box's width } else delete pBox; @@ -1564,12 +1558,12 @@ sal_Bool lcl_Merge_MoveLine( const _FndLine*& rpFndLine, void* pPara ) { if( pULPara->bUL ) // Upper ? { - // gibt es noch davor Zeilen, dann move sie + // If there are Lines before it, move them if( 0 != ( nPos = pLines->C40_GETPOS( SwTableLine, pFndLn )) ) lcl_CpyLines( 0, nPos, *pLines, pULPara->pInsBox ); } else - // gibt es noch dahinter Zeilen, dann move sie + // If there are Lines after it, move them if( (nPos = pLines->C40_GETPOS( SwTableLine, pFndLn )) +1 < pLines->Count() ) { nInsPos = pULPara->pInsBox->GetTabLines().Count(); @@ -1579,10 +1573,10 @@ sal_Bool lcl_Merge_MoveLine( const _FndLine*& rpFndLine, void* pPara ) } else if( nLeft ) { - // es gibt links noch weitere Boxen, also setze Left- - // und Merge-Box in eine Box und Line, fuege davor/dahinter - // eine Line mit Box ein, in die die oberen/unteren Lines - // eingefuegt werden + // There are still Boxes on the left side, so put the Left- + // and Merge-Box into one Box and Line, insert before/after + // a Line with a Box, into which the upper/lower Lines are + // inserted SwTableLine* pInsLine = pULPara->pLeftBox->GetUpper(); SwTableBox* pLMBox = new SwTableBox( (SwTableBoxFmt*)pULPara->pLeftBox->GetFrmFmt(), 0, pInsLine ); @@ -1598,23 +1592,23 @@ sal_Bool lcl_Merge_MoveLine( const _FndLine*& rpFndLine, void* pPara ) if( pULPara->bUL ) // Upper ? { - // gibt es noch davor Zeilen, dann move sie + // If there are Lines before it, move them if( 0 != ( nPos = pLines->C40_GETPOS( SwTableLine, pFndLn )) ) lcl_CpyLines( 0, nPos, *pLines, pLMBox, 0 ); } else - // gibt es noch dahinter Zeilen, dann move sie + // If there are Lines after it, move them if( (nPos = pLines->C40_GETPOS( SwTableLine, pFndLn )) +1 < pLines->Count() ) lcl_CpyLines( nPos+1, pLines->Count(), *pLines, pLMBox ); - lcl_CalcWidth( pLMBox ); // bereche die Breite der Box + lcl_CalcWidth( pLMBox ); // calculate the Box's width } else if( nRight+1 < pFndLn->GetTabBoxes().Count() ) { - // es gibt rechts noch weitere Boxen, also setze Right- - // und Merge-Box in eine Box und Line, fuege davor/dahinter - // eine Line mit Box ein, in die die oberen/unteren Lines - // eingefuegt werden + // There are still Boxes on the right, so put the Right- + // and Merge-Box into one Box and Line, insert before/after + // a Line with a Box, into which the upper/lower Lines are + // inserted SwTableLine* pInsLine = pULPara->pRightBox->GetUpper(); SwTableBox* pRMBox; if( pULPara->pLeftBox->GetUpper() == pInsLine ) @@ -1632,9 +1626,7 @@ sal_Bool lcl_Merge_MoveLine( const _FndLine*& rpFndLine, void* pPara ) } else { - // Left und Merge wurden schon zusammengefuegt, also move - // Right auch mit in die Line - + // Left and Merge have been merged, so also move Right into the Line pInsLine = pULPara->pLeftBox->GetUpper(); sal_uInt16 nMvPos = pULPara->pRightBox->GetUpper()->GetTabBoxes(). C40_GETPOS( SwTableBox, pULPara->pRightBox ); @@ -1643,13 +1635,12 @@ sal_Bool lcl_Merge_MoveLine( const _FndLine*& rpFndLine, void* pPara ) pInsLine ); pRMBox = pInsLine->GetUpper(); - // sind schon Lines vorhanden, dann muessen diese in eine - // neue Line und Box + // If there are already Lines, then these need to go into a new Line and Box nMvPos = pRMBox->GetTabLines().C40_GETPOS( SwTableLine, pInsLine ); if( pULPara->bUL ? nMvPos : nMvPos+1 < pRMBox->GetTabLines().Count() ) { - // alle Lines zu einer neuen Line und Box zusammenfassen + // Merge all Lines into a new Line and Box SwTableLine* pNewLn = new SwTableLine( (SwTableLineFmt*)pInsLine->GetFrmFmt(), 1, pRMBox ); pNewLn->ClaimFrmFmt()->ResetFmtAttr( RES_FRM_SIZE ); @@ -1668,7 +1659,7 @@ sal_Bool lcl_Merge_MoveLine( const _FndLine*& rpFndLine, void* pPara ) lcl_CpyLines( nPos1, nPos2, pNewLn->GetUpper()->GetTabLines(), pRMBox ); - lcl_CalcWidth( pRMBox ); // bereche die Breite der Box + lcl_CalcWidth( pRMBox ); // calculate the Box's width pRMBox = new SwTableBox( (SwTableBoxFmt*)pRMBox->GetFrmFmt(), 0, pNewLn ); pNewLn->GetTabBoxes().C40_INSERT( SwTableBox, pRMBox, @@ -1677,25 +1668,25 @@ sal_Bool lcl_Merge_MoveLine( const _FndLine*& rpFndLine, void* pPara ) } if( pULPara->bUL ) // Upper ? { - // gibt es noch davor Zeilen, dann move sie + // If there are Lines before it, move them if( 0 != ( nPos = pLines->C40_GETPOS( SwTableLine, pFndLn )) ) lcl_CpyLines( 0, nPos, *pLines, pRMBox, 0 ); } else - // gibt es noch dahinter Zeilen, dann move sie + // If there are Lines after it, move them if( (nPos = pLines->C40_GETPOS( SwTableLine, pFndLn )) +1 < pLines->Count() ) lcl_CpyLines( nPos+1, pLines->Count(), *pLines, pRMBox ); - lcl_CalcWidth( pRMBox ); // bereche die Breite der Box + lcl_CalcWidth( pRMBox ); // calculate the Box's width } else { - OSL_FAIL( "Was denn nun" ); + OSL_FAIL( "So ... what do we do now?" ); } } // Left/Right else { - // suche nur die Line, ab der Verschoben werden muss + // Find only the Line from which we need to move nStt = pULPara->bUL ? 0 : rpFndLine->GetBoxes().Count()-1; nEnd = nStt+1; } @@ -1722,12 +1713,12 @@ sal_Bool lcl_Merge_MoveLine( const _FndLine*& rpFndLine, void* pPara ) sal_Bool SwTable::OldMerge( SwDoc* pDoc, const SwSelBoxes& rBoxes, SwTableBox* pMergeBox, SwUndoTblMerge* pUndo ) { - OSL_ENSURE( !rBoxes.empty() && pMergeBox, "keine gueltigen Werte" ); + OSL_ENSURE( !rBoxes.empty() && pMergeBox, "no valid values" ); SwTableNode* pTblNd = const_cast<SwTableNode*>(rBoxes.begin()->second->GetSttNd()->FindTableNode()); if( !pTblNd ) return sal_False; - // suche alle Boxen / Lines + // Find all Boxes/Lines _FndBox aFndBox( 0, 0 ); { _FndPara aPara( rBoxes, &aFndBox ); @@ -1741,12 +1732,12 @@ sal_Bool SwTable::OldMerge( SwDoc* pDoc, const SwSelBoxes& rBoxes, // Thus we tell the charts to use their own data provider and forget about this table pDoc->CreateChartInternalDataProviders( this ); - SetHTMLTableLayout( 0 ); // MIB 9.7.97: HTML-Layout loeschen + SetHTMLTableLayout( 0 ); // Delete HTML Layout if( pUndo ) pUndo->SetSelBoxes( rBoxes ); - //Lines fuer das Layout-Update herausuchen. + // Find Lines for the Layout update aFndBox.SetTableLines( *this ); aFndBox.DelFrms( *this ); @@ -1760,7 +1751,7 @@ sal_Bool SwTable::OldMerge( SwDoc* pDoc, const SwSelBoxes& rBoxes, !pFndBox->GetUpper() ? 0 : pFndBox->GetBox() ); pInsLine->ClaimFrmFmt()->ResetFmtAttr( RES_FRM_SIZE ); - // trage die neue Line ein + // Add the new Line SwTableLines* pLines = pFndBox->GetUpper() ? &pFndBox->GetBox()->GetTabLines() : &GetTabLines(); @@ -1777,11 +1768,11 @@ sal_Bool SwTable::OldMerge( SwDoc* pDoc, const SwSelBoxes& rBoxes, pInsLine->GetTabBoxes().C40_INSERT( SwTableBox, pRightBox, 2 ); pRightBox->ClaimFrmFmt(); - // in diese kommen alle Lines, die ueber dem selektierten Bereich stehen - // Sie bilden also eine Upper/Lower Line + // This contains all Lines that are above the selected Area, + // thus they form a Upper/Lower Line _InsULPara aPara( pTblNd, sal_True, sal_True, pLeftBox, pMergeBox, pRightBox, pInsLine ); - // move die oben/unten ueberhaengenden Lines vom selektierten Bereich + // Move the overlapping upper/lower Lines of the selected Area pFndBox->GetLines()[0]->GetBoxes().ForEach( &lcl_Merge_MoveBox, &aPara ); aPara.SetLower( pInsLine ); @@ -1789,7 +1780,7 @@ sal_Bool SwTable::OldMerge( SwDoc* pDoc, const SwSelBoxes& rBoxes, pFndBox->GetLines()[nEnd]->GetBoxes().ForEach( &lcl_Merge_MoveBox, &aPara ); - // move die links/rechts hereinreichenden Boxen vom selektierten Bereich + // Move the Boxes extending into the selected Area from left/right aPara.SetLeft( pLeftBox ); pFndBox->GetLines().ForEach( &lcl_Merge_MoveLine, &aPara ); @@ -1800,7 +1791,7 @@ sal_Bool SwTable::OldMerge( SwDoc* pDoc, const SwSelBoxes& rBoxes, _DeleteBox( *this, pLeftBox, 0, sal_False, sal_False ); else { - lcl_CalcWidth( pLeftBox ); // bereche die Breite der Box + lcl_CalcWidth( pLeftBox ); // calculate the Box's width if( pUndo && pLeftBox->GetSttNd() ) pUndo->AddNewBox( pLeftBox->GetSttIdx() ); } @@ -1808,15 +1799,14 @@ sal_Bool SwTable::OldMerge( SwDoc* pDoc, const SwSelBoxes& rBoxes, _DeleteBox( *this, pRightBox, 0, sal_False, sal_False ); else { - lcl_CalcWidth( pRightBox ); // bereche die Breite der Box + lcl_CalcWidth( pRightBox ); // calculate the Box's width if( pUndo && pRightBox->GetSttNd() ) pUndo->AddNewBox( pRightBox->GetSttIdx() ); } DeleteSel( pDoc, rBoxes, 0, 0, sal_False, sal_False ); - // dann raeume die Struktur dieser Line noch mal auf: - // generell alle Aufraeumen + // Clean up this Line's structure once again, generally all of them GCLines(); GetTabLines()[0]->GetTabBoxes().ForEach( &lcl_BoxSetHeadCondColl, 0 ); @@ -1853,13 +1843,13 @@ void lcl_CheckRowSpan( SwTable &rTbl ) sal_uInt16 lcl_GetBoxOffset( const _FndBox& rBox ) { - // suche die erste Box + // Find the first Box const _FndBox* pFirstBox = &rBox; while( pFirstBox->GetLines().Count() ) pFirstBox = pFirstBox->GetLines()[ 0 ]->GetBoxes()[ 0 ]; sal_uInt16 nRet = 0; - // dann ueber die Lines nach oben die Position bestimmen + // Calculate the position relative to above via the Lines const SwTableBox* pBox = pFirstBox->GetBox(); do { const SwTableBoxes& rBoxes = pBox->GetUpper()->GetTabBoxes(); @@ -1913,7 +1903,7 @@ void lcl_CalcNewWidths( const _FndLines& rFndLines, _CpyPara& rPara ) else break; } - // nPos is now the left border of the first selceted box + // nPos is now the left border of the first selected box if( rPara.nMinLeft > nPos ) rPara.nMinLeft = nPos; nBoxCount = pFndLine->GetBoxes().Count(); @@ -1996,7 +1986,7 @@ sal_Bool lcl_CopyBoxToDoc( const _FndBox*& rpFndBox, void* pPara ) } do { - // suche das Frame-Format in der Liste aller Frame-Formate + // Find the Frame Format in the list of all Frame Formats _CpyTabFrm aFindFrm( (SwTableBoxFmt*)rpFndBox->GetBox()->GetFrmFmt() ); SwFmtFrmSize aFrmSz; @@ -2005,7 +1995,7 @@ sal_Bool lcl_CopyBoxToDoc( const _FndBox*& rpFndBox, void* pPara ) ( aFrmSz = ( aFindFrm = pCpyPara->rTabFrmArr[ nFndPos ]).pNewFrmFmt-> GetFrmSize()).GetWidth() != (SwTwips)nSize ) { - // es ist noch nicht vorhanden, also kopiere es + // It doesn't exist yet, so copy it aFindFrm.pNewFrmFmt = pCpyPara->pDoc->MakeTableBoxFmt(); aFindFrm.pNewFrmFmt->CopyAttrs( *rpFndBox->GetBox()->GetFrmFmt() ); if( !pCpyPara->bCpyCntnt ) @@ -2022,12 +2012,12 @@ sal_Bool lcl_CopyBoxToDoc( const _FndBox*& rpFndBox, void* pPara ) rpFndBox->GetLines().Count(), pCpyPara->pInsLine ); pCpyPara->pInsLine->GetTabBoxes().C40_INSERT( SwTableBox, pBox, pCpyPara->nInsPos++ ); _CpyPara aPara( *pCpyPara, pBox ); - aPara.nNewSize = nSize; // hole die Groesse + aPara.nNewSize = nSize; // get the size ((_FndBox*)rpFndBox)->GetLines().ForEach( &lcl_CopyLineToDoc, &aPara ); } else { - // erzeuge eine leere Box + // Create an empty Box pCpyPara->pDoc->GetNodes().InsBoxen( pCpyPara->pTblNd, pCpyPara->pInsLine, aFindFrm.pNewFrmFmt, (SwTxtFmtColl*)pCpyPara->pDoc->GetDfltTxtFmtColl(), @@ -2037,11 +2027,10 @@ sal_Bool lcl_CopyBoxToDoc( const _FndBox*& rpFndBox, void* pPara ) pBox->setDummyFlag( true ); else if( pCpyPara->bCpyCntnt ) { - // dann kopiere mal den Inhalt in diese leere Box + // Copy the content into this empty Box pBox->setRowSpan( rpFndBox->GetBox()->getRowSpan() ); - // der Inhalt kopiert wird, dann koennen auch Formeln&Values - // kopiert werden. + // We can also copy formulas and values, if we copy the content { SfxItemSet aBoxAttrSet( pCpyPara->pDoc->GetAttrPool(), RES_BOXATR_FORMAT, RES_BOXATR_VALUE ); @@ -2067,7 +2056,7 @@ sal_Bool lcl_CopyBoxToDoc( const _FndBox*& rpFndBox, void* pPara ) SwNodeIndex aInsIdx( *pBox->GetSttNd(), 1 ); pFromDoc->CopyWithFlyInFly( aCpyRg, 0, aInsIdx, sal_False ); - // den initialen TextNode loeschen + // Delete the initial TextNode pCpyPara->pDoc->GetNodes().Delete( aInsIdx, 1 ); } ++pCpyPara->nInsPos; @@ -2093,12 +2082,12 @@ sal_Bool lcl_CopyLineToDoc( const _FndLine*& rpFndLine, void* pPara ) { _CpyPara* pCpyPara = (_CpyPara*)pPara; - // suche das Format in der Liste aller Formate + // Find the Frame Format in the list of all Frame Formats _CpyTabFrm aFindFrm( (SwTableBoxFmt*)rpFndLine->GetLine()->GetFrmFmt() ); sal_uInt16 nFndPos; if( !pCpyPara->rTabFrmArr.Seek_Entry( aFindFrm, &nFndPos )) { - // es ist noch nicht vorhanden, also kopiere es + // It doesn't exist yet, so copy it aFindFrm.pNewFrmFmt = (SwTableBoxFmt*)pCpyPara->pDoc->MakeTableLineFmt(); aFindFrm.pNewFrmFmt->CopyAttrs( *rpFndLine->GetLine()->GetFrmFmt() ); pCpyPara->rTabFrmArr.Insert( aFindFrm ); @@ -2128,7 +2117,7 @@ sal_Bool lcl_CopyLineToDoc( const _FndLine*& rpFndLine, void* pPara ) else if( rpFndLine->GetBoxes().Count() == rpFndLine->GetLine()->GetTabBoxes().Count() ) { - // hole die Size vom Parent + // Get the Parent's size const SwFrmFmt* pFmt; if( rpFndLine->GetLine()->GetUpper() ) @@ -2138,7 +2127,7 @@ sal_Bool lcl_CopyLineToDoc( const _FndLine*& rpFndLine, void* pPara ) aPara.nOldSize = pFmt->GetFrmSize().GetWidth(); } else - // errechne sie + // Calculate it for( sal_uInt16 n = 0; n < rpFndLine->GetBoxes().Count(); ++n ) aPara.nOldSize += rpFndLine->GetBoxes()[n] ->GetBox()->GetFrmFmt()->GetFrmSize().GetWidth(); @@ -2151,7 +2140,7 @@ sal_Bool lcl_CopyLineToDoc( const _FndLine*& rpFndLine, void* pPara ) sal_Bool SwTable::CopyHeadlineIntoTable( SwTableNode& rTblNd ) { - // suche alle Boxen / Lines + // Find all Boxes/Lines SwSelBoxes aSelBoxes; SwTableBox* pBox = GetTabSortBoxes()[ 0 ]; pBox = GetTblBox( pBox->GetSttNd()->StartOfSectionNode()->GetIndex() + 1 ); @@ -2166,7 +2155,7 @@ sal_Bool SwTable::CopyHeadlineIntoTable( SwTableNode& rTblNd ) return sal_False; { - // Tabellen-Formeln in die relative Darstellung umwandeln + // Convert Table formulas to their relative representation SwTableFmlUpdate aMsgHnt( this ); aMsgHnt.eFlags = TBL_RELBOXNAME; GetFrmFmt()->GetDoc()->UpdateTblFlds( &aMsgHnt ); @@ -2175,7 +2164,7 @@ sal_Bool SwTable::CopyHeadlineIntoTable( SwTableNode& rTblNd ) _CpyTabFrms aCpyFmt; _CpyPara aPara( &rTblNd, 1, aCpyFmt, sal_True ); aPara.nNewSize = aPara.nOldSize = rTblNd.GetTable().GetFrmFmt()->GetFrmSize().GetWidth(); - // dann kopiere mal + // Copy if( IsNewModel() ) lcl_CalcNewWidths( aFndBox.GetLines(), aPara ); aFndBox.GetLines().ForEach( &lcl_CopyLineToDoc, &aPara ); @@ -2199,7 +2188,7 @@ sal_Bool SwTable::MakeCopy( SwDoc* pInsDoc, const SwPosition& rPos, const SwSelBoxes& rSelBoxes, sal_Bool bCpyNds, sal_Bool bCpyName ) const { - // suche alle Boxen / Lines + // Find all Boxes/Lines _FndBox aFndBox( 0, 0 ); { _FndPara aPara( rSelBoxes, &aFndBox ); @@ -2208,8 +2197,8 @@ sal_Bool SwTable::MakeCopy( SwDoc* pInsDoc, const SwPosition& rPos, if( !aFndBox.GetLines().Count() ) return sal_False; - // erst die Poolvorlagen fuer die Tabelle kopieren, damit die dann - // wirklich kopiert und damit die gueltigen Werte haben. + // First copy the PoolTemplates for the Table, so that the Tables are + // actually copied and have valid values. SwDoc* pSrcDoc = GetFrmFmt()->GetDoc(); if( pSrcDoc != pInsDoc ) { @@ -2227,19 +2216,19 @@ sal_Bool SwTable::MakeCopy( SwDoc* pInsDoc, const SwPosition& rPos, SwNodeIndex aIdx( rPos.nNode, -1 ); SwTableNode* pTblNd = aIdx.GetNode().FindTableNode(); aIdx++; - OSL_ENSURE( pTblNd, "wo ist denn nun der TableNode?" ); + OSL_ENSURE( pTblNd, "Where is the TableNode now?" ); pTblNd->GetTable().SetRowsToRepeat( GetRowsToRepeat() ); if( IS_TYPE( SwDDETable, this )) { - // es wird eine DDE-Tabelle kopiert - // ist im neuen Dokument ueberhaupt der FeldTyp vorhanden ? + // A DDE-Table is being copied + // Does the new Document actually have it's FieldType? SwFieldType* pFldType = pInsDoc->InsertFldType( *((SwDDETable*)this)->GetDDEFldType() ); - OSL_ENSURE( pFldType, "unbekannter FieldType" ); + OSL_ENSURE( pFldType, "unknown FieldType" ); - // tauschen am Node den Tabellen-Pointer aus + // Change the Table Pointer at the Node pNewTbl = new SwDDETable( *pNewTbl, (SwDDEFieldType*)pFldType ); pTblNd->SetNewTable( pNewTbl, sal_False ); @@ -2248,11 +2237,11 @@ sal_Bool SwTable::MakeCopy( SwDoc* pInsDoc, const SwPosition& rPos, pNewTbl->GetFrmFmt()->CopyAttrs( *GetFrmFmt() ); pNewTbl->SetTblChgMode( GetTblChgMode() ); - //Vernichten der Frms die bereits angelegt wurden. + // Destroy the already created Frames pTblNd->DelFrms(); { - // Tabellen-Formeln in die relative Darstellung umwandeln + // Conver the Table formulas to their relative representation SwTableFmlUpdate aMsgHnt( this ); aMsgHnt.eFlags = TBL_RELBOXNAME; pSrcDoc->UpdateTblFlds( &aMsgHnt ); @@ -2260,7 +2249,7 @@ sal_Bool SwTable::MakeCopy( SwDoc* pInsDoc, const SwPosition& rPos, SwTblNumFmtMerge aTNFM( *pSrcDoc, *pInsDoc ); - // Namen auch kopieren oder neuen eindeutigen erzeugen + // Also copy Names or enforce a new unique one if( bCpyName ) pNewTbl->GetFrmFmt()->SetName( GetFrmFmt()->GetName() ); @@ -2270,10 +2259,10 @@ sal_Bool SwTable::MakeCopy( SwDoc* pInsDoc, const SwPosition& rPos, if( IsNewModel() ) lcl_CalcNewWidths( aFndBox.GetLines(), aPara ); - // dann kopiere mal + // Copy aFndBox.GetLines().ForEach( &lcl_CopyLineToDoc, &aPara ); - // dann setze oben und unten noch die "richtigen" Raender: + // Set the "right" margin above/below { _FndLine* pFndLn = aFndBox.GetLines()[ 0 ]; SwTableLine* pLn = pFndLn->GetLine(); @@ -2281,7 +2270,7 @@ sal_Bool SwTable::MakeCopy( SwDoc* pInsDoc, const SwPosition& rPos, sal_uInt16 nLnPos = GetTabLines().GetPos( pTmp ); if( USHRT_MAX != nLnPos && nLnPos ) { - // es gibt eine Line davor + // There is a Line before it SwCollectTblLineBoxes aLnPara( sal_False, HEADLINE_BORDERCOPY ); pLn = GetTabLines()[ nLnPos - 1 ]; @@ -2302,7 +2291,7 @@ sal_Bool SwTable::MakeCopy( SwDoc* pInsDoc, const SwPosition& rPos, nLnPos = GetTabLines().GetPos( pTmp ); if( nLnPos < GetTabLines().Count() - 1 ) { - // es gibt eine Line dahinter + // There is a Line following it SwCollectTblLineBoxes aLnPara( sal_True, HEADLINE_BORDERCOPY ); pLn = GetTabLines()[ nLnPos + 1 ]; @@ -2318,28 +2307,28 @@ sal_Bool SwTable::MakeCopy( SwDoc* pInsDoc, const SwPosition& rPos, } } - // die initiale Box muss noch geloescht werden + // We need to delete the initial Box _DeleteBox( *pNewTbl, pNewTbl->GetTabLines()[ pNewTbl->GetTabLines().Count() - 1 ]->GetTabBoxes()[0], 0, sal_False, sal_False ); if( pNewTbl->IsNewModel() ) lcl_CheckRowSpan( *pNewTbl ); - // Mal kurz aufraeumen: + // Clean up pNewTbl->GCLines(); - pTblNd->MakeFrms( &aIdx ); // erzeuge die Frames neu + pTblNd->MakeFrms( &aIdx ); // re-generate the Frames CHECKTABLELAYOUT return sal_True; } -// suche ab dieser Line nach der naechsten Box mit Inhalt +// Find the next Box with content from this Line SwTableBox* SwTableLine::FindNextBox( const SwTable& rTbl, const SwTableBox* pSrchBox, sal_Bool bOvrTblLns ) const { - const SwTableLine* pLine = this; // fuer M800 + const SwTableLine* pLine = this; // for M800 SwTableBox* pBox; sal_uInt16 nFndPos; if( GetTabBoxes().Count() && pSrchBox && @@ -2355,18 +2344,18 @@ SwTableBox* SwTableLine::FindNextBox( const SwTable& rTbl, if( GetUpper() ) { nFndPos = GetUpper()->GetTabLines().GetPos( pLine ); - OSL_ENSURE( USHRT_MAX != nFndPos, "Line nicht in der Tabelle" ); - // gibts eine weitere Line + OSL_ENSURE( USHRT_MAX != nFndPos, "Line is not in the Table" ); + // Is there another Line? if( nFndPos+1 >= GetUpper()->GetTabLines().Count() ) return GetUpper()->GetUpper()->FindNextBox( rTbl, GetUpper(), bOvrTblLns ); pLine = GetUpper()->GetTabLines()[nFndPos+1]; } - else if( bOvrTblLns ) // ueber die "GrundLines" einer Tabelle ? + else if( bOvrTblLns ) // Over a Table's the "BaseLines"?? { - // suche in der Tabelle nach der naechsten Line + // Search for the next Line in the Table nFndPos = rTbl.GetTabLines().GetPos( pLine ); if( nFndPos + 1 >= rTbl.GetTabLines().Count() ) - return 0; // es gibt keine weitere Box mehr + return 0; // there are no more Boxes pLine = rTbl.GetTabLines()[ nFndPos+1 ]; } @@ -2383,11 +2372,11 @@ SwTableBox* SwTableLine::FindNextBox( const SwTable& rTbl, return pLine->FindNextBox( rTbl, 0, bOvrTblLns ); } -// suche ab dieser Line nach der vorherigen Box +// Find the previous Box from this Line SwTableBox* SwTableLine::FindPreviousBox( const SwTable& rTbl, const SwTableBox* pSrchBox, sal_Bool bOvrTblLns ) const { - const SwTableLine* pLine = this; // fuer M800 + const SwTableLine* pLine = this; // for M800 SwTableBox* pBox; sal_uInt16 nFndPos; if( GetTabBoxes().Count() && pSrchBox && @@ -2406,18 +2395,18 @@ SwTableBox* SwTableLine::FindPreviousBox( const SwTable& rTbl, if( GetUpper() ) { nFndPos = GetUpper()->GetTabLines().GetPos( pLine ); - OSL_ENSURE( USHRT_MAX != nFndPos, "Line nicht in der Tabelle" ); - // gibts eine weitere Line + OSL_ENSURE( USHRT_MAX != nFndPos, "Line is not in the Table" ); + // Is there another Line? if( !nFndPos ) return GetUpper()->GetUpper()->FindPreviousBox( rTbl, GetUpper(), bOvrTblLns ); pLine = GetUpper()->GetTabLines()[nFndPos-1]; } - else if( bOvrTblLns ) // ueber die "GrundLines" einer Tabelle ? + else if( bOvrTblLns ) // Over a Table's the "BaseLines"?? { - // suche in der Tabelle nach der naechsten Line + // Search for the next Line in the Table nFndPos = rTbl.GetTabLines().GetPos( pLine ); if( !nFndPos ) - return 0; // es gibt keine weitere Box mehr + return 0; // there are no more Boxes pLine = rTbl.GetTabLines()[ nFndPos-1 ]; } @@ -2437,7 +2426,7 @@ SwTableBox* SwTableLine::FindPreviousBox( const SwTable& rTbl, return pLine->FindPreviousBox( rTbl, 0, bOvrTblLns ); } -// suche ab dieser Line nach der naechsten Box mit Inhalt +// Find the next Box with content from this Line SwTableBox* SwTableBox::FindNextBox( const SwTable& rTbl, const SwTableBox* pSrchBox, sal_Bool bOvrTblLns ) const { @@ -2448,7 +2437,7 @@ SwTableBox* SwTableBox::FindNextBox( const SwTable& rTbl, } -// suche ab dieser Line nach der naechsten Box mit Inhalt +// Find the next Box with content from this Line SwTableBox* SwTableBox::FindPreviousBox( const SwTable& rTbl, const SwTableBox* pSrchBox, sal_Bool bOvrTblLns ) const { @@ -2460,7 +2449,7 @@ SwTableBox* SwTableBox::FindPreviousBox( const SwTable& rTbl, sal_Bool lcl_BoxSetHeadCondColl( const SwTableBox*& rpBox, void* ) { - // in der HeadLine sind die Absaetze mit BedingtenVorlage anzupassen + // We need to adapt the paragraphs with conditional templates in the HeadLine const SwStartNode* pSttNd = rpBox->GetSttNd(); if( pSttNd ) pSttNd->CheckSectionCondColl(); @@ -2515,7 +2504,7 @@ sal_Bool lcl_SetSelBoxWidth( SwTableLine* pLine, CR_SetBoxWidth& rParam, nDist, sal_True )) return sal_False; - // dann noch mal alle "ContentBoxen" sammeln + // Collect all "ContentBoxes" if( ( 0 != ( bGreaterBox = TBLFIX_CHGABS != rParam.nMode && ( nDist + ( rParam.bLeft ? 0 : nWidth ) ) >= rParam.nSide)) || ( !rParam.bBigger && ( Abs( nDist + (( rParam.nMode && rParam.bLeft ) ? 0 : nWidth ) - rParam.nSide ) < COLFUZZY ) ) ) { @@ -2523,8 +2512,7 @@ sal_Bool lcl_SetSelBoxWidth( SwTableLine* pLine, CR_SetBoxWidth& rParam, SwTwips nLowerDiff; if( bGreaterBox && TBLFIX_CHGPROP == rParam.nMode ) { - // die "anderen Boxen" wurden angepasst, - // also sich um diesen Betrag aendern + // The "other Boxes" have been adapted, so change by this value nLowerDiff = (nDist + ( rParam.bLeft ? 0 : nWidth ) ) - rParam.nSide; nLowerDiff *= rParam.nDiff; nLowerDiff /= rParam.nMaxSize; @@ -2557,15 +2545,14 @@ sal_Bool lcl_SetSelBoxWidth( SwTableLine* pLine, CR_SetBoxWidth& rParam, ( Abs( nDist + ( (rParam.nMode && rParam.bLeft) ? 0 : nWidth ) - rParam.nSide ) < COLFUZZY )) { - // in dieser Spalte ist der Cursor - also verkleinern / vergroessern + // This column contains the Cursor - so decrease/increase SwFmtFrmSize aNew( rSz ); if( !nLowerDiff ) { if( bGreaterBox && TBLFIX_CHGPROP == rParam.nMode ) { - // die "anderen Boxen" wurden angepasst, - // also sich um diesen Betrag aendern + // The "other Boxes" have been adapted, so change by this value nLowerDiff = (nDist + ( rParam.bLeft ? 0 : nWidth ) ) - rParam.nSide; nLowerDiff *= rParam.nDiff; nLowerDiff /= rParam.nMaxSize; @@ -2591,7 +2578,7 @@ sal_Bool lcl_SetSelBoxWidth( SwTableLine* pLine, CR_SetBoxWidth& rParam, nDist += nWidth; - // wenns groesser wird, dann wars das + // If it gets bigger, then that's it if( ( TBLFIX_CHGABS == rParam.nMode || !rParam.bLeft ) && nDist >= rParam.nSide ) break; @@ -2624,9 +2611,9 @@ sal_Bool lcl_SetOtherBoxWidth( SwTableLine* pLine, CR_SetBoxWidth& rParam, { rParam.bAnyBoxFnd = sal_True; SwTwips nDiff; - if( TBLFIX_CHGPROP == rParam.nMode ) // Tabelle fix, proport. + if( TBLFIX_CHGPROP == rParam.nMode ) // Table fixed, proportional { - // relativ berechnen + // calculate relative nDiff = nWidth; nDiff *= rParam.nDiff; nDiff /= rParam.nMaxSize; @@ -2663,9 +2650,9 @@ sal_Bool lcl_SetOtherBoxWidth( SwTableLine* pLine, CR_SetBoxWidth& rParam, if( !nLowerDiff ) { - if( TBLFIX_CHGPROP == rParam.nMode ) // Tabelle fix, proport. + if( TBLFIX_CHGPROP == rParam.nMode ) // Table fixed, proportional { - // relativ berechnen + // calculate relative nLowerDiff = nWidth; nLowerDiff *= rParam.nDiff; nLowerDiff /= rParam.nMaxSize; @@ -2712,7 +2699,7 @@ sal_Bool lcl_InsSelBox( SwTableLine* pLine, CR_SetBoxWidth& rParam, nDist, sal_True )) return sal_False; - // dann noch mal alle "ContentBoxen" sammeln + // Collect all "ContentBoxes" if( Abs( nDist + ( rParam.bLeft ? 0 : nWidth ) - rParam.nSide ) < COLFUZZY ) nCmp = 1; @@ -2729,7 +2716,7 @@ sal_Bool lcl_InsSelBox( SwTableLine* pLine, CR_SetBoxWidth& rParam, if( rParam.bSplittBox && nWidth - rParam.nDiff <= COLFUZZY + - ( 567 / 2 /* min. 0,5 cm Platz lassen*/) ) + ( 567 / 2 /*leave room for at least 0.5 cm*/) ) return sal_False; if( pBox->GetSttNd() ) @@ -2763,12 +2750,12 @@ sal_Bool lcl_InsSelBox( SwTableLine* pLine, CR_SetBoxWidth& rParam, if( nCmp ) { - // in dieser Spalte ist der Cursor - also verkleinern / vergroessern + // This column contains the Cursor - so decrease/increase if( 1 == nCmp ) { if( !rParam.bSplittBox ) { - // die akt. Box auf + // the current Box on SwFmtFrmSize aNew( rSz ); aNew.SetWidth( nWidth + rParam.nDiff ); rParam.aShareFmts.SetSize( *pBox, aNew ); @@ -2776,7 +2763,7 @@ sal_Bool lcl_InsSelBox( SwTableLine* pLine, CR_SetBoxWidth& rParam, } else { - OSL_ENSURE( pBox->GetSttNd(), "Das muss eine EndBox sein!"); + OSL_ENSURE( pBox->GetSttNd(), "This must be an EndBox!"); if( !rParam.bLeft && 3 != nCmp ) ++n; @@ -2789,18 +2776,17 @@ sal_Bool lcl_InsSelBox( SwTableLine* pLine, CR_SetBoxWidth& rParam, aNew.SetWidth( rParam.nDiff ); rParam.aShareFmts.SetSize( *pNewBox, aNew ); - // Sonderfall: kein Platz in den anderen Boxen - // aber in der Zelle + // Special case: There is no space in the other Boxes, but in the Cell if( rParam.bSplittBox ) { - // die akt. Box auf + // the current Box on SwFmtFrmSize aNewSize( rSz ); aNewSize.SetWidth( nWidth - rParam.nDiff ); rParam.aShareFmts.SetSize( *pBox, aNewSize ); } - // Sonderbehandlung fuer Umrandung die Rechte muss - // entfernt werden + // Special treatment for the Border + // The right one needs to be removed { const SvxBoxItem& rBoxItem = pBox->GetFrmFmt()->GetBox(); if( rBoxItem.GetRight() ) @@ -2830,18 +2816,18 @@ sal_Bool lcl_InsSelBox( SwTableLine* pLine, CR_SetBoxWidth& rParam, sal_Bool lcl_InsOtherBox( SwTableLine* pLine, CR_SetBoxWidth& rParam, SwTwips nDist, sal_Bool bCheck ) { - // Sonderfall: kein Platz in den anderen Boxen aber in der Zelle + // Special case: There is no space in the other Boxes, but in the cell if( rParam.bSplittBox ) return sal_True; SwTableBoxes& rBoxes = pLine->GetTabBoxes(); sal_uInt16 n; - // Tabelle fix, proport. + // Table fixed, proportional if( !rParam.nRemainWidth && TBLFIX_CHGPROP == rParam.nMode ) { - // dann die richtige Breite suchen, auf die sich die relative - // Breitenanpassung bezieht. + // Find the right width to which the relative width adjustment + // corresponds to SwTwips nTmpDist = nDist; for( n = 0; n < rBoxes.Count(); ++n ) { @@ -2883,7 +2869,7 @@ sal_Bool lcl_InsOtherBox( SwTableLine* pLine, CR_SetBoxWidth& rParam, { rParam.bAnyBoxFnd = sal_True; SwTwips nDiff; - if( TBLFIX_CHGPROP == rParam.nMode ) // Tabelle fix, proport. + if( TBLFIX_CHGPROP == rParam.nMode ) // Table fixed, proportional { // relativ berechnen nDiff = nWidth; @@ -2897,9 +2883,8 @@ sal_Bool lcl_InsOtherBox( SwTableLine* pLine, CR_SetBoxWidth& rParam, { nDiff = rParam.nDiff; - // teste ob die linke oder rechte Box gross genug - // ist, um den Platz abzugeben! - // es wird davor oder dahinter eine Box eingefuegt! + // See if the left or right Box is big enough to give up space. + // We're inserting a Box before or after. SwTwips nTmpWidth = nWidth; if( rParam.bLeft && pBox->GetUpper()->GetUpper() ) { @@ -2947,9 +2932,9 @@ sal_Bool lcl_InsOtherBox( SwTableLine* pLine, CR_SetBoxWidth& rParam, { if( !nLowerDiff ) { - if( TBLFIX_CHGPROP == rParam.nMode ) // Tabelle fix, proport. + if( TBLFIX_CHGPROP == rParam.nMode ) // Table fixed, proportional { - // relativ berechnen + // Calculate relatively nLowerDiff = nWidth; nLowerDiff *= rParam.nDiff; nLowerDiff /= rParam.nRemainWidth; @@ -2977,18 +2962,18 @@ sal_Bool lcl_InsOtherBox( SwTableLine* pLine, CR_SetBoxWidth& rParam, return sal_True; } -// das Ergebnis des Positions Vergleiches -// POS_BEFORE, // Box liegt davor -// POS_BEHIND, // Box liegt dahinter -// POS_INSIDE, // Box liegt vollstaendig in Start/End -// POS_OUTSIDE, // Box ueberlappt Start/End vollstaendig -// POS_EQUAL, // Box und Start/End sind gleich -// POS_OVERLAP_BEFORE, // Box ueberlappt den Start -// POS_OVERLAP_BEHIND // Box ueberlappt das Ende +// The position comparison's result +// POS_BEFORE, // Box comes before +// POS_BEHIND, // Box comes after +// POS_INSIDE, // Box is completely wthin start/end +// POS_OUTSIDE, // Box overlaps start/end completely +// POS_EQUAL, // Box and start/end are the same +// POS_OVERLAP_BEFORE, // Box overlapps the start +// POS_OVERLAP_BEHIND // Box overlapps the end SwComparePosition _CheckBoxInRange( sal_uInt16 nStt, sal_uInt16 nEnd, sal_uInt16 nBoxStt, sal_uInt16 nBoxEnd ) { -// COLFUZZY noch beachten!! + // Still treat COLFUZZY! SwComparePosition nRet; if( nBoxStt + COLFUZZY < nStt ) { @@ -3024,7 +3009,7 @@ SwComparePosition _CheckBoxInRange( sal_uInt16 nStt, sal_uInt16 nEnd, void lcl_DelSelBox_CorrLowers( SwTableLine& rLine, CR_SetBoxWidth& rParam, SwTwips nWidth ) { - // 1. Schritt die eigene Breite feststellen + // 1. step: Calculate own width SwTableBoxes& rBoxes = rLine.GetTabBoxes(); SwTwips nBoxWidth = 0; sal_uInt16 n; @@ -3034,7 +3019,7 @@ void lcl_DelSelBox_CorrLowers( SwTableLine& rLine, CR_SetBoxWidth& rParam, if( COLFUZZY < Abs( nWidth - nBoxWidth )) { - // sie muessen also angepasst werden + // Thus, they need to be adjusted for( n = rBoxes.Count(); n; ) { SwTableBox* pBox = rBoxes[ --n ]; @@ -3048,7 +3033,7 @@ void lcl_DelSelBox_CorrLowers( SwTableLine& rLine, CR_SetBoxWidth& rParam, if( !pBox->GetSttNd() ) { - // hat selbst auch Lower, also auch die anpassen + // Has Lower itself, so also adjust that for( sal_uInt16 i = pBox->GetTabLines().Count(); i; ) ::lcl_DelSelBox_CorrLowers( *pBox->GetTabLines()[ --i ], rParam, nDiff ); @@ -3066,22 +3051,22 @@ void lcl_ChgBoxSize( SwTableBox& rBox, CR_SetBoxWidth& rParam, switch( rParam.nMode ) { - case TBLFIX_CHGABS: // Tabelle feste Breite, den Nachbar andern + case TBLFIX_CHGABS: // Fixed width table, change neighbor nDiff = rDelWidth + rParam.nLowerDiff; bSetSize = sal_True; break; - case TBLFIX_CHGPROP: // Tabelle feste Breite, alle Nachbarn aendern + case TBLFIX_CHGPROP: // Fixed width table, change all neighbors if( !rParam.nRemainWidth ) { - // dann kurz berechnen: + // Calculate if( rParam.bLeft ) rParam.nRemainWidth = sal_uInt16(nDist); else rParam.nRemainWidth = sal_uInt16(rParam.nTblWidth - nDist); } - // relativ berechnen + // Calculate relatively nDiff = rOldSz.GetWidth(); nDiff *= rDelWidth + rParam.nLowerDiff; nDiff /= rParam.nRemainWidth; @@ -3089,7 +3074,7 @@ void lcl_ChgBoxSize( SwTableBox& rBox, CR_SetBoxWidth& rParam, bSetSize = sal_True; break; - case TBLVAR_CHGABS: // Tabelle variable, alle Nachbarn aendern + case TBLVAR_CHGABS: // Variable table, change all neighbors if( COLFUZZY < Abs( rParam.nBoxWidth - ( rDelWidth + rParam.nLowerDiff ))) { @@ -3109,7 +3094,7 @@ void lcl_ChgBoxSize( SwTableBox& rBox, CR_SetBoxWidth& rParam, aNew.SetWidth( aNew.GetWidth() + nDiff ); rParam.aShareFmts.SetSize( rBox, aNew ); - // dann leider nochmals die Lower anpassen + // Change the Lower once again for( sal_uInt16 i = rBox.GetTabLines().Count(); i; ) ::lcl_DelSelBox_CorrLowers( *rBox.GetTabLines()[ --i ], rParam, aNew.GetWidth() ); @@ -3139,8 +3124,7 @@ sal_Bool lcl_DeleteBox_Rekursiv( CR_SetBoxWidth& rParam, SwTableBox& rBox, } else { - // die muessen leider alle sequentiel ueber die - // Contentboxen geloescht werden + // We need to delete these sequentially via the ContentBoxes for( sal_uInt16 i = rBox.GetTabLines().Count(); i; ) { SwTableLine& rLine = *rBox.GetTabLines()[ --i ]; @@ -3187,7 +3171,7 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, long nWidth = rSz.GetWidth(); sal_Bool bDelBox = sal_False, bChgLowers = sal_False; - // die Boxenbreite testen und entpsrechend reagieren + // Test the Box width and react accordingly SwComparePosition ePosType = ::_CheckBoxInRange( nBoxChkStt, nBoxChkEnd, sal_uInt16(rParam.bLeft ? nDist - nWidth : nDist), @@ -3223,13 +3207,13 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, } break; - case POS_OUTSIDE: // Box ueberlappt Start/End vollstaendig - case POS_INSIDE: // Box liegt vollstaendig in Start/End - case POS_EQUAL: // Box und Start/End sind gleich + case POS_OUTSIDE: // Box fully overlaps start/end + case POS_INSIDE: // Box is completely within start/end + case POS_EQUAL: // Box and start/end are the same bDelBox = sal_True; break; - case POS_OVERLAP_BEFORE: // Box ueberlappt den Start + case POS_OVERLAP_BEFORE: // Box overlaps the start if( nBoxChkStt <= ( nDist + (rParam.bLeft ? - nWidth / 2 : nWidth / 2 ))) { @@ -3251,10 +3235,9 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, } break; - case POS_OVERLAP_BEHIND: // Box ueberlappt das Ende + case POS_OVERLAP_BEHIND: // Box overlaps the end // JP 10.02.99: - // generell loeschen oder wie beim OVERLAP_Before nur die, die - // bis zur Haelfte in die "Loesch-"Box reicht ??? + // Delete generally or (like in OVERLAP_BEFORE) only delete the one who reaches up to the half into the delete Box? if( !pBox->GetSttNd() ) bChgLowers = sal_True; else @@ -3268,8 +3251,8 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, nDelWidth = nDelWidth + sal_uInt16(nWidth); if( bCheck ) { - // die letzte/erste Box kann nur bei Tbl-Var geloescht werden, - // wenn diese so gross ist, wie die Aenderung an der Tabelle + // The last/first Box can only be deleted for the variable Table, + // if it's as large as the change in the Table. if( (( TBLVAR_CHGABS != rParam.nMode || nDelWidth != rParam.nBoxWidth ) && COLFUZZY > Abs( rParam.bLeft @@ -3305,7 +3288,7 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, if( !::lcl_DelSelBox( pLine, rParam, nDist, bCheck )) return sal_False; - // gibt es die Box und die darin enthaltenen Lines noch?? + // Do the Box and its Lines still exist? if( n < rBoxes.Count() && pBox == rBoxes[ rParam.bLeft ? n : n-1 ] && i < pBox->GetTabLines().Count() && @@ -3315,8 +3298,8 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, COLFUZZY < Abs( nLowerDiff - rParam.nLowerDiff ) ) bCorrLowers = sal_True; - // die groesste "loesch" Breite entscheidet, aber nur wenn - // nicht die gesamte Line geloescht wurde + // The largest deletion width counts, but only if we don't + // delete the whole Line if( nLowerDiff < rParam.nLowerDiff ) nLowerDiff = rParam.nLowerDiff; @@ -3326,27 +3309,26 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, rParam.nLowerDiff = nOldLower; rParam.nRemainWidth = nOldRemain; - // wurden alle Boxen geloescht? Dann ist die DelBreite natuerlich - // die Boxenbreite + // Did we delete all Boxes? Then the deletion width = the Box width, of course if( !nLowerDiff ) nLowerDiff = nWidth; - // DelBreite anpassen!! + // Adjust deletion width! nDelWidth = nDelWidth + sal_uInt16(nLowerDiff); if( !bCheck ) { - // wurde die Box schon entfernt? + // Has the Box already been removed? if( n > rBoxes.Count() || pBox != rBoxes[ ( rParam.bLeft ? n : n-1 ) ] ) { - // dann beim Loeschen nach rechts die Laufvar. anpassen + // Then change the loop variable when deleting to the right if( !rParam.bLeft ) --n, --nCntEnd; } else { - // sonst muss die Groesse der Box angepasst werden + // Or else we need to adapt the Box's size SwFmtFrmSize aNew( rSz ); sal_Bool bCorrRel = sal_False; @@ -3354,7 +3336,7 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, { switch( ePosType ) { - case POS_OVERLAP_BEFORE: // Box ueberlappt den Start + case POS_OVERLAP_BEFORE: // Box overlaps the start if( TBLFIX_CHGPROP == rParam.nMode ) bCorrRel = rParam.bLeft; else if( rParam.bLeft ) // TBLFIX_CHGABS @@ -3365,7 +3347,7 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, } break; - case POS_OVERLAP_BEHIND: // Box ueberlappt das Ende + case POS_OVERLAP_BEHIND: // Box overlaps the end if( TBLFIX_CHGPROP == rParam.nMode ) bCorrRel = !rParam.bLeft; else if( !rParam.bLeft ) // TBLFIX_CHGABS @@ -3377,7 +3359,7 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, break; default: - OSL_ENSURE( !pBox, "hier sollte man nie hinkommen" ); + OSL_ENSURE( !pBox, "we should never reach this!" ); break; } } @@ -3386,7 +3368,7 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, { if( !rParam.nRemainWidth ) { - // dann kurz berechnen: + // Calculate if( rParam.bLeft ) rParam.nRemainWidth = sal_uInt16(nDist - nLowerDiff); else @@ -3406,7 +3388,7 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, if( bCorrLowers ) { - // dann leider nochmals die Lower anpassen + // Adapt the Lower once again for( i = pBox->GetTabLines().Count(); i; ) ::lcl_DelSelBox_CorrLowers( *pBox-> GetTabLines()[ --i ], rParam, aNew.GetWidth() ); @@ -3424,7 +3406,7 @@ sal_Bool lcl_DelSelBox( SwTableLine* pTabLine, CR_SetBoxWidth& rParam, return sal_True; } -// Dummy Funktion fuer die Methode SetColWidth +// Dummy function for the method SetColWidth sal_Bool lcl_DelOtherBox( SwTableLine* , CR_SetBoxWidth& , SwTwips , sal_Bool ) { return sal_True; @@ -3455,7 +3437,7 @@ void _CheckBoxWidth( const SwTableLine& rLine, SwTwips nSize ) const SwTableBoxes& rBoxes = rLine.GetTabBoxes(); SwTwips nAktSize = 0; - // checke doch mal ob die Tabellen korrekte Breiten haben + // See if the tables have a correct width for( sal_uInt16 n = 0; n < rBoxes.Count(); ++n ) { const SwTableBox* pBox = rBoxes[ n ]; @@ -3468,7 +3450,7 @@ void _CheckBoxWidth( const SwTableLine& rLine, SwTwips nSize ) if( Abs( nAktSize - nSize ) > ( COLFUZZY * rBoxes.Count() ) ) { - OSL_FAIL( "Boxen der Line zu klein/gross" ); + OSL_FAIL( "Line's Boxes are too small or too large" ); } } #endif @@ -3476,12 +3458,12 @@ void _CheckBoxWidth( const SwTableLine& rLine, SwTwips nSize ) _FndBox* lcl_SaveInsDelData( CR_SetBoxWidth& rParam, SwUndo** ppUndo, SwTableSortBoxes& rTmpLst, SwTwips nDistStt ) { - // suche alle Boxen / Lines + // Find all Boxes/Lines SwTable& rTbl = rParam.pTblNd->GetTable(); if( rParam.aBoxes.empty() ) { - // erstmal die Boxen besorgen ! + // Get the Boxes if( rParam.bBigger ) for( sal_uInt16 n = 0; n < rTbl.GetTabLines().Count(); ++n ) ::lcl_DelSelBox( rTbl.GetTabLines()[ n ], rParam, nDistStt, sal_True ); @@ -3490,7 +3472,7 @@ _FndBox* lcl_SaveInsDelData( CR_SetBoxWidth& rParam, SwUndo** ppUndo, ::lcl_InsSelBox( rTbl.GetTabLines()[ n ], rParam, nDistStt, sal_True ); } - // loeschen der gesamten Tabelle verhindern + // Prevent deleting the whole Table if( rParam.bBigger && rParam.aBoxes.size() == rTbl.GetTabSortBoxes().Count() ) return 0; @@ -3501,14 +3483,14 @@ _FndBox* lcl_SaveInsDelData( CR_SetBoxWidth& rParam, SwUndo** ppUndo, { _FndPara aPara( rParam.aBoxes, pFndBox ); rTbl.GetTabLines().ForEach( &_FndLineCopyCol, &aPara ); - OSL_ENSURE( pFndBox->GetLines().Count(), "Wo sind die Boxen" ); + OSL_ENSURE( pFndBox->GetLines().Count(), "Where are the Boxes" ); pFndBox->SetTableLines( rTbl ); if( ppUndo ) rTmpLst.Insert( &rTbl.GetTabSortBoxes(), 0, rTbl.GetTabSortBoxes().Count() ); } - //Lines fuer das Layout-Update herausuchen. + // Find Lines for the Layout update pFndBox->DelFrms( rTbl ); // TL_CHART2: this function gest called from SetColWidth exclusively, @@ -3521,13 +3503,13 @@ _FndBox* lcl_SaveInsDelData( CR_SetBoxWidth& rParam, SwUndo** ppUndo, sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, SwTwips nAbsDiff, SwTwips nRelDiff, SwUndo** ppUndo ) { - SetHTMLTableLayout( 0 ); // MIB 9.7.97: HTML-Layout loeschen + SetHTMLTableLayout( 0 ); // Delete HTML Layout const SwFmtFrmSize& rSz = GetFrmFmt()->GetFrmSize(); const SvxLRSpaceItem& rLR = GetFrmFmt()->GetLRSpace(); - _FndBox* pFndBox = 0; // fuers Einfuegen/Loeschen - SwTableSortBoxes aTmpLst( 0 ); // fuers Undo + _FndBox* pFndBox = 0; // for insertion/deletion + SwTableSortBoxes aTmpLst( 0 ); // for Undo sal_Bool bBigger, bRet = sal_False, bLeft = nsTblChgWidthHeightType::WH_COL_LEFT == ( eType & 0xff ) || @@ -3536,8 +3518,8 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, sal_uInt16 n; sal_uLong nBoxIdx = rAktBox.GetSttIdx(); - // bestimme die akt. Kante der Box - // wird nur fuer die Breitenmanipulation benoetigt! + // Get the current Box's edge + // Only needed for manipulating the width const SwTwips nDist = ::lcl_GetDistance( &rAktBox, bLeft ); SwTwips nDistStt = 0; CR_SetBoxWidth aParam( eType, nRelDiff, nDist, rSz.GetWidth(), @@ -3578,7 +3560,7 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, if( bInsDel ) bBigger = !bBigger; - // erstmal testen, ob ueberhaupt Platz ist + // First test if we have room at all sal_Bool bChgLRSpace = sal_True; if( bBigger ) { @@ -3594,7 +3576,7 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, : rLR.GetRight() >= nAbsDiff; if( !bRet && bInsDel && - // auf der anderen Seite Platz? + // Is the room on the other side? ( bLeft ? rLR.GetRight() >= nAbsDiff : rLR.GetLeft() >= nAbsDiff )) { @@ -3603,8 +3585,7 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, if( !bRet ) { - // dann sich selbst rekursiv aufrufen; nur mit - // einem anderen Mode -> proprotional + // Then call itself recursively; only with another mode (proportional) TblChgMode eOld = eTblChgMode; eTblChgMode = TBLFIX_CHGPROP; @@ -3636,7 +3617,7 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, aTmpLst, nDistStt ); if( aParam.bBigger && aParam.aBoxes.size() == aSortCntBoxes.Count() ) { - // dies gesamte Tabelle soll geloescht werden!! + // This whole Table is to be deleted! GetFrmFmt()->GetDoc()->DeleteRowCol( aParam.aBoxes ); return sal_False; } @@ -3655,11 +3636,10 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, SvxLRSpaceItem aLR( rLR ); if( bBigger ) { - // falls die Tabelle keinen Platz zum Wachsen hat, dann - // muessen wir welchen schaffen! + // If the Table does not have any room to grow, we need to create some! if( aSz.GetWidth() + nRelDiff > USHRT_MAX ) { - // dann mal herunterbrechen auf USHRT_MAX / 2 + // Break down to USHRT_MAX / 2 CR_SetBoxWidth aTmpPara( 0, aSz.GetWidth() / 2, 0, aSz.GetWidth(), aSz.GetWidth(), aParam.pTblNd ); for( sal_uInt16 nLn = 0; nLn < aLines.Count(); ++nLn ) @@ -3691,9 +3671,9 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, aHOri.SetHoriOrient( text::HoriOrientation::NONE ); GetFrmFmt()->SetFmtAttr( aHOri ); - // sollte die Tabelle noch auf relativen Werten - // (USHRT_MAX) stehen dann muss es jetzt auf absolute - // umgerechnet werden. Bug 61494 + // If the Table happens to contain relative values (USHORT_MAX), + // we need to convert them to absolute ones now. + // Bug 61494 if( GetFrmFmt()->getIDocumentSettingAccess()->get(IDocumentSettingAccess::BROWSE_MODE) && !rSz.GetWidthPercent() ) { @@ -3731,9 +3711,9 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, (*fnSelBox)( aLines[ n ], aParam, nDistStt, sal_False ); } - // sollte die Tabelle noch auf relativen Werten - // (USHRT_MAX) stehen dann muss es jetzt auf absolute - // umgerechnet werden. Bug 61494 + // If the Table happens to contain relative values (USHORT_MAX), + // we need to convert them to absolute ones now. + // Bug 61494 if( LONG_MAX != nFrmWidth ) { SwFmtFrmSize aAbsSz( aSz ); @@ -3749,7 +3729,7 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, if( bLeft && TBLFIX_CHGABS == eTblChgMode && !bInsDel ) aParam.bBigger = !bBigger; - // erstmal testen, ob ueberhaupt Platz ist + // First test if we have room at all if( bInsDel ) { if( aParam.bBigger ) @@ -3784,11 +3764,11 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, if( !bRet && rAktBox.GetFrmFmt()->GetFrmSize().GetWidth() - nRelDiff > COLFUZZY + - ( 567 / 2 /* min. 0,5 cm Platz lassen*/) ) + ( 567 / 2 /*leave room for at least 0.5 cm*/) ) { - // dann den Platz von der akt. Zelle nehmen + // Consume the space from the current Cell aParam.bSplittBox = sal_True; - // aber das muss auch mal getestet werden! + // We also need to test this! bRet = sal_True; for( n = 0; n < aLines.Count(); ++n ) @@ -3828,7 +3808,7 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, } } - // wenn ja, dann setzen + // If true, set it if( bRet ) { CR_SetBoxWidth aParam1( aParam ); @@ -3875,8 +3855,7 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, case nsTblChgWidthHeightType::WH_CELL_LEFT: if( TBLVAR_CHGABS == eTblChgMode ) { - // dann sich selbst rekursiv aufrufen; nur mit - // einem anderen Mode -> Nachbarn + // Then call itself recursively; only with another mode (proportional) TblChgMode eOld = eTblChgMode; eTblChgMode = TBLFIX_CHGABS; @@ -3891,7 +3870,7 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, if( bLeft && TBLFIX_CHGABS == eTblChgMode && !bInsDel ) aParam.bBigger = !bBigger; - // erstmal testen, ob ueberhaupt Platz ist + // First, see if there is enough room at all SwTableBox* pBox = &rAktBox; SwTableLine* pLine = rAktBox.GetUpper(); while( pLine->GetUpper() ) @@ -3906,7 +3885,7 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, if( pLine->GetUpper() ) { - // dann muss die Distanz wieder korriegiert werden! + // We need to correct the distance once again! aParam.nSide -= ::lcl_GetDistance( pLine->GetUpper(), sal_True ); if( bLeft ) @@ -3916,7 +3895,7 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, GetFrmSize().GetWidth() - aParam.nSide; } - // erstmal testen, ob ueberhaupt Platz ist + // First, see if there is enough room at all if( bInsDel ) { if( 0 != ( bRet = bLeft ? nDist != 0 @@ -3930,9 +3909,9 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, if( !bRet && !aParam.bBigger && rAktBox.GetFrmFmt()-> GetFrmSize().GetWidth() - nRelDiff > COLFUZZY + - ( 567 / 2 /* min. 0,5 cm Platz lassen*/) ) + ( 567 / 2 /*leave room for at least 0.5 cm*/) ) { - // dann den Platz von der akt. Zelle nehmen + // Consume the room from the current Cell aParam.bSplittBox = sal_True; bRet = sal_True; } @@ -3943,7 +3922,7 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, bRet = (*fnTmp)( pLine, aParam, nDistStt, sal_True ); } - // wenn ja, dann setzen + // If true, set it if( bRet ) { CR_SetBoxWidth aParam1( aParam ); @@ -3979,10 +3958,10 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, if( pFndBox ) { - // dann raeume die Struktur aller Lines auf + // Clean up the structure of all Lines GCLines(); - //Layout updaten + // Update Layout if( !bBigger || pFndBox->AreLinesToRestore( *this ) ) pFndBox->MakeFrms( *this ); @@ -4013,12 +3992,12 @@ sal_Bool SwTable::SetColWidth( SwTableBox& rAktBox, sal_uInt16 eType, _FndBox* lcl_SaveInsDelData( CR_SetLineHeight& rParam, SwUndo** ppUndo, SwTableSortBoxes& rTmpLst ) { - // suche alle Boxen / Lines + // Find all Boxes/Lines SwTable& rTbl = rParam.pTblNd->GetTable(); - OSL_ENSURE( !rParam.aBoxes.empty(), "ohne Boxen ist nichts zu machen!" ); + OSL_ENSURE( !rParam.aBoxes.empty(), "We can't go on without Boxes!" ); - // loeschen der gesamten Tabelle verhindern + // Prevent deleting the whole Table if( !rParam.bBigger && rParam.aBoxes.size() == rTbl.GetTabSortBoxes().Count() ) return 0; @@ -4029,14 +4008,14 @@ _FndBox* lcl_SaveInsDelData( CR_SetLineHeight& rParam, SwUndo** ppUndo, { _FndPara aPara( rParam.aBoxes, pFndBox ); rTbl.GetTabLines().ForEach( &_FndLineCopyCol, &aPara ); - OSL_ENSURE( pFndBox->GetLines().Count(), "Wo sind die Boxen" ); + OSL_ENSURE( pFndBox->GetLines().Count(), "Where are the Boxes?" ); pFndBox->SetTableLines( rTbl ); if( ppUndo ) rTmpLst.Insert( &rTbl.GetTabSortBoxes(), 0, rTbl.GetTabSortBoxes().Count() ); } - //Lines fuer das Layout-Update heraussuchen. + // Find Lines for the Layout update pFndBox->DelFrms( rTbl ); // TL_CHART2: it is currently unclear if sth has to be done here. @@ -4048,19 +4027,19 @@ void SetLineHeight( SwTableLine& rLine, SwTwips nOldHeight, SwTwips nNewHeight, sal_Bool bMinSize ) { SwLayoutFrm* pLineFrm = GetRowFrm( rLine ); - OSL_ENSURE( pLineFrm, "wo ist der Frm von der SwTableLine?" ); + OSL_ENSURE( pLineFrm, "Where is the Frame from the SwTableLine?" ); SwFrmFmt* pFmt = rLine.ClaimFrmFmt(); SwTwips nMyNewH, nMyOldH = pLineFrm->Frm().Height(); - if( !nOldHeight ) // die BaseLine und absolut + if( !nOldHeight ) // the BaseLine and absolute nMyNewH = nMyOldH + nNewHeight; else { - // moeglichst genau rechnen + // Calculate as exactly as possible Fraction aTmp( nMyOldH ); aTmp *= Fraction( nNewHeight, nOldHeight ); - aTmp += Fraction( 1, 2 ); // ggfs. aufrunden + aTmp += Fraction( 1, 2 ); // round up if needed nMyNewH = aTmp; } @@ -4071,7 +4050,7 @@ void SetLineHeight( SwTableLine& rLine, SwTwips nOldHeight, SwTwips nNewHeight, pFmt->SetFmtAttr( SwFmtFrmSize( eSize, 0, nMyNewH ) ); - // erst alle inneren anpassen + // First adapt all internal ones SwTableBoxes& rBoxes = rLine.GetTabBoxes(); for( sal_uInt16 n = 0; n < rBoxes.Count(); ++n ) { @@ -4087,15 +4066,15 @@ sal_Bool lcl_SetSelLineHeight( SwTableLine* pLine, CR_SetLineHeight& rParam, sal_Bool bRet = sal_True; if( !bCheck ) { - // Zeilenhoehe einstellen + // Set line height SetLineHeight( *pLine, 0, rParam.bBigger ? nDist : -nDist, rParam.bBigger ); } else if( !rParam.bBigger ) { - // anhand der alten Size die neue relative errechnen + // Calculate the new relative size by means of the old one SwLayoutFrm* pLineFrm = GetRowFrm( *pLine ); - OSL_ENSURE( pLineFrm, "wo ist der Frm von der SwTableLine?" ); + OSL_ENSURE( pLineFrm, "Where is the Frame from the SwTableLine?" ); SwTwips nRstHeight = CalcRowRstHeight( pLineFrm ); if( (nRstHeight + ROWFUZZY) < nDist ) bRet = sal_False; @@ -4111,9 +4090,9 @@ sal_Bool lcl_SetOtherLineHeight( SwTableLine* pLine, CR_SetLineHeight& rParam, { if( rParam.bBigger ) { - // anhand der alten Size die neue relative errechnen + // Calculate the new relative size by means of the old one SwLayoutFrm* pLineFrm = GetRowFrm( *pLine ); - OSL_ENSURE( pLineFrm, "wo ist der Frm von der SwTableLine?" ); + OSL_ENSURE( pLineFrm, "Where is the Frame from the SwTableLine?" ); if( TBLFIX_CHGPROP == rParam.nMode ) { @@ -4125,16 +4104,16 @@ sal_Bool lcl_SetOtherLineHeight( SwTableLine* pLine, CR_SetLineHeight& rParam, } else { - // Zeilenhoehe einstellen - // pLine ist die nachfolgende / vorhergehende -> also anpassen + // Set line height + // pLine is the following/preceeding, thus adjust it if( TBLFIX_CHGPROP == rParam.nMode ) { SwLayoutFrm* pLineFrm = GetRowFrm( *pLine ); - OSL_ENSURE( pLineFrm, "wo ist der Frm von der SwTableLine?" ); + OSL_ENSURE( pLineFrm, "Where is the Frame from the SwTableLine??" ); - // aus der alten Size die neue relative errechnen - // Wird die selektierte Box groesser ueber den MaxSpace anpassen, - // sonst ueber die MaxHeight + // Calculate the new relative size by means of the old one + // If the selected Box get bigger, adjust via the max space else + // via the max height. if( 1 /*!rParam.bBigger*/ ) { nDist *= pLineFrm->Frm().Height(); @@ -4142,7 +4121,7 @@ sal_Bool lcl_SetOtherLineHeight( SwTableLine* pLine, CR_SetLineHeight& rParam, } else { - // aus der alten Size die neue relative errechnen + // Calculate the new relative size by means of the old one nDist *= CalcRowRstHeight( pLineFrm ); nDist /= rParam.nMaxSpace; } @@ -4176,7 +4155,7 @@ sal_Bool lcl_InsDelSelLine( SwTableLine* pLine, CR_SetLineHeight& rParam, } else { - // Zeile einfuegen + // Insert Line SwTableLine* pNewLine = new SwTableLine( (SwTableLineFmt*)pLine->GetFrmFmt(), rBoxes.Count(), pLine->GetUpper() ); SwTableLines* pLines; @@ -4192,7 +4171,7 @@ sal_Bool lcl_InsDelSelLine( SwTableLine* pLine, CR_SetLineHeight& rParam, SwFrmFmt* pNewFmt = pNewLine->ClaimFrmFmt(); pNewFmt->SetFmtAttr( SwFmtFrmSize( ATT_MIN_SIZE, 0, nDist ) ); - // und noch mal die Anzahl Boxen erzeugen + // And once again calculate the Box count SwTableBoxes& rNewBoxes = pNewLine->GetTabBoxes(); for( sal_uInt16 n = 0; n < rBoxes.Count(); ++n ) { @@ -4200,8 +4179,7 @@ sal_Bool lcl_InsDelSelLine( SwTableLine* pLine, CR_SetLineHeight& rParam, SwTableBox* pOld = rBoxes[ n ]; if( !pOld->GetSttNd() ) { - // keine normale "Content"-Box also auf die 1. naechste - // Box zurueckfallen + // Not a normal content Box, so fall back to the 1st next Box nWidth = pOld->GetFrmFmt()->GetFrmSize().GetWidth(); while( !pOld->GetSttNd() ) pOld = pOld->GetTabLines()[ 0 ]->GetTabBoxes()[ 0 ]; @@ -4209,8 +4187,8 @@ sal_Bool lcl_InsDelSelLine( SwTableLine* pLine, CR_SetLineHeight& rParam, ::_InsTblBox( pDoc, rParam.pTblNd, pNewLine, (SwTableBoxFmt*)pOld->GetFrmFmt(), pOld, n ); - // Sonderbehandlung fuer Umrandung die Obere muss - // entfernt werden + // Special treatment for the border: + // The top one needs to be removed const SvxBoxItem& rBoxItem = pOld->GetFrmFmt()->GetBox(); if( rBoxItem.GetTop() ) { @@ -4229,7 +4207,7 @@ sal_Bool lcl_InsDelSelLine( SwTableLine* pLine, CR_SetLineHeight& rParam, } else { - // Boxen einsammeln! + // Collect Boxes! SwTableBoxes& rBoxes = pLine->GetTabBoxes(); for( sal_uInt16 n = rBoxes.Count(); n; ) { @@ -4259,8 +4237,8 @@ sal_Bool SwTable::SetRowHeight( SwTableBox& rAktBox, sal_uInt16 eType, while( pBaseLine->GetUpper() ) pBaseLine = pBaseLine->GetUpper()->GetUpper(); - _FndBox* pFndBox = 0; // fuers Einfuegen/Loeschen - SwTableSortBoxes aTmpLst( 0 ); // fuers Undo + _FndBox* pFndBox = 0; // for insertion/deletion + SwTableSortBoxes aTmpLst( 0 ); // for Undo sal_Bool bBigger, bRet = sal_False, bTop = nsTblChgWidthHeightType::WH_ROW_TOP == ( eType & 0xff ) || @@ -4281,40 +4259,38 @@ sal_Bool SwTable::SetRowHeight( SwTableBox& rAktBox, sal_uInt16 eType, SwTableLines* pLines = &aLines; - // wie kommt man an die Hoehen heran? + // How do we get to the height? switch( eType & 0xff ) { case nsTblChgWidthHeightType::WH_CELL_TOP: case nsTblChgWidthHeightType::WH_CELL_BOTTOM: if( pLine == pBaseLine ) - break; // dann geht es nicht! + break; // it doesn't work then! - // ist eine verschachtelte Line (Box!) + // Is a nested Line (Box!) pLines = &pLine->GetUpper()->GetTabLines(); nBaseLinePos = pLines->C40_GETPOS( SwTableLine, pLine ); pBaseLine = pLine; - // kein break! + // no break! case nsTblChgWidthHeightType::WH_ROW_TOP: case nsTblChgWidthHeightType::WH_ROW_BOTTOM: { - if( bInsDel && !bBigger ) // um wieviel wird es Hoeher? + if( bInsDel && !bBigger ) // By how much does it get higher? { nAbsDiff = GetRowFrm( *pBaseLine )->Frm().Height(); } if( TBLVAR_CHGABS == eTblChgMode ) { - // erstmal testen, ob ueberhaupt Platz ist + // First test if we have room at all if( bBigger ) { bRet = sal_True; -// was ist mit Top, was ist mit Tabelle im Rahmen oder in Kopf-/Fusszeile -// mit fester Hoehe ?? +// What's up with Top, Table in a Frame or Header/Footer with fixed width?? if( !bRet ) { - // dann sich selbst rekursiv aufrufen; nur mit - // einem anderen Mode -> proprotional + // Then call itself recursively; only with another mode (proportional) TblChgMode eOld = eTblChgMode; eTblChgMode = TBLFIX_CHGPROP; @@ -4369,13 +4345,13 @@ sal_Bool SwTable::SetRowHeight( SwTableBox& rAktBox, sal_uInt16 eType, else nStt = nBaseLinePos + 1, nEnd = pLines->Count(); - // die akt. Hoehe der Lines besorgen + // Get the current Lines' height if( TBLFIX_CHGPROP == eTblChgMode ) { for( n = nStt; n < nEnd; ++n ) { SwLayoutFrm* pLineFrm = GetRowFrm( *(*pLines)[ n ] ); - OSL_ENSURE( pLineFrm, "wo ist der Frm von der SwTableLine?" ); + OSL_ENSURE( pLineFrm, "Where is the Frame from the SwTableLine??" ); aParam.nMaxSpace += CalcRowRstHeight( pLineFrm ); aParam.nMaxHeight += pLineFrm->Frm().Height(); } @@ -4416,7 +4392,7 @@ sal_Bool SwTable::SetRowHeight( SwTableBox& rAktBox, sal_uInt16 eType, if( bRet ) { - // dann mal anpassen + // Adjust if( bInsDel ) { if( aParam.aBoxes.empty() ) @@ -4435,9 +4411,8 @@ sal_Bool SwTable::SetRowHeight( SwTableBox& rAktBox, sal_uInt16 eType, if( TBLFIX_CHGPROP == eTblChgMode && !bBigger && !aParam.nMaxSpace ) { - // dann muss der gesamte Platz auf alle Lines - // gleichmaessig verteilt werden. Dafuer wird die - // Anzahl benoetigt + // We need to distribute the space evenly among all the Lines. + // That's why we need their count. aParam1.nLines = nEnd - nStt; } @@ -4460,8 +4435,7 @@ sal_Bool SwTable::SetRowHeight( SwTableBox& rAktBox, sal_uInt16 eType, } else { - // dann sich selbst rekursiv aufrufen; nur mit - // einem anderen Mode -> proprotional + // Then call itself recursively; only with another mode (proportional) TblChgMode eOld = eTblChgMode; eTblChgMode = TBLVAR_CHGABS; @@ -4478,10 +4452,10 @@ sal_Bool SwTable::SetRowHeight( SwTableBox& rAktBox, sal_uInt16 eType, if( pFndBox ) { - // dann raeume die Struktur aller Lines auf + // then clean up the structure of all Lines GCLines(); - //Layout updaten + // Update Layout if( bBigger || pFndBox->AreLinesToRestore( *this ) ) pFndBox->MakeFrms( *this ); @@ -4541,7 +4515,7 @@ void SwShareBoxFmt::AddFormat( const SwFrmFmt& rNew ) sal_Bool SwShareBoxFmt::RemoveFormat( const SwFrmFmt& rFmt ) { - // returnt sal_True, wenn geloescht werden kann + // returns sal_True, if we can delete if( pOldFmt == &rFmt ) return sal_True; |