[Libreoffice-commits] .: sw/source

Thorsten Behrens thorsten at kemper.freedesktop.org
Fri Aug 10 06:44:55 PDT 2012


 sw/source/core/table/swtable.cxx |  369 +++++++++++++++++----------------------
 1 file changed, 169 insertions(+), 200 deletions(-)

New commits:
commit f2f3703740f65b76e891ecc3591d7e60d5b7caef
Author: Tim Janik <tim.janik at lanedo.com>
Date:   Fri Aug 10 15:42:44 2012 +0200

    Translate German comments in Writer.
    
    Change-Id: Ia8179d4333434324dd4b5239691402d0e48da5a1

diff --git a/sw/source/core/table/swtable.cxx b/sw/source/core/table/swtable.cxx
index 3d1371b..5ea5db3 100644
--- a/sw/source/core/table/swtable.cxx
+++ b/sw/source/core/table/swtable.cxx
@@ -30,7 +30,7 @@
 #include <ctype.h>
 #include <float.h>
 #include <hintids.hxx>
-#include <hints.hxx>    // fuer SwAttrSetChg
+#include <hints.hxx>    // for SwAttrSetChg
 #include <editeng/lrspitem.hxx>
 #include <editeng/shaditem.hxx>
 #include <editeng/adjitem.hxx>
@@ -44,7 +44,7 @@
 #include <fmtfld.hxx>
 #include <frmatr.hxx>
 #include <doc.hxx>
-#include <docary.hxx>   // fuer RedlineTbl()
+#include <docary.hxx>   // for RedlineTbl()
 #include <frame.hxx>
 #include <swtable.hxx>
 #include <ndtxt.hxx>
@@ -296,19 +296,17 @@ SwTable::~SwTable()
         refObj->Closed();
     }
 
-    // ist die Tabelle der letzte Client im FrameFormat, kann dieses
-    // geloescht werden
+    // the table can be deleted if it's the last client of the FrameFormat
     SwTableFmt* pFmt = (SwTableFmt*)GetFrmFmt();
-    pFmt->Remove( this );               // austragen,
+    pFmt->Remove( this );               // remove
 
     if( !pFmt->GetDepends() )
-        pFmt->GetDoc()->DelTblFrmFmt( pFmt );   // und loeschen
+        pFmt->GetDoc()->DelTblFrmFmt( pFmt );   // and delete
 
-    // Loesche die Pointer aus dem SortArray der Boxen, die
-    // Objecte bleiben erhalten und werden vom DTOR der Lines/Boxes
-    // Arrays geloescht.
-    //JP: reicht leider nicht, es muessen die Pointer auf den StartNode
-    //  der Section geloescht werden
+    // Delete the pointers from the SortArray of the boxes. The objects
+    // are preserved and are deleted by the lines/boxes arrays dtor.
+    // Note: unfortunately not enough, pointers to the StartNode of the
+    // section need deletion.
     DelBoxNode( aSortCntBoxes );
     aSortCntBoxes.clear();
     delete pHTMLLayout;
@@ -363,7 +361,7 @@ static void lcl_ModifyBoxes( SwTableBoxes &rBoxes, const long nOld,
             // For SubTables the rounding problem will not be solved :-(
             ::lcl_ModifyLines( rBox.GetTabLines(), nOld, nNew, rFmtArr, false );
         }
-        //Die Box anpassen
+        // Adjust the box
         SwFrmFmt *pFmt = rBox.GetFrmFmt();
         sal_uInt64 nBox = pFmt->GetFrmSize().GetWidth();
         nOriginalSum += nBox;
@@ -396,7 +394,7 @@ static void lcl_ModifyBoxes( SwTableBoxes &rBoxes, const long nOld,
 
 void SwTable::Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew )
 {
-    // fange SSize Aenderungen ab, um die Lines/Boxen anzupassen
+    // catch SSize changes, to adjust the lines/boxes
     sal_uInt16 nWhich = pOld ? pOld->Which() : pNew ? pNew->Which() : 0 ;
     const SwFmtFrmSize* pNewSize = 0, *pOldSize = 0;
 
@@ -420,7 +418,7 @@ void SwTable::Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew )
         {
             OSL_ENSURE( pOldSize && pOldSize->Which() == RES_FRM_SIZE &&
                     pNewSize && pNewSize->Which() == RES_FRM_SIZE,
-                    "Kein Old oder New fuer FmtFrmSize-Modify der SwTable." );
+                    "No Old or New for FmtFrmSize-Modify of the SwTable." );
             AdjustWidths( pOldSize->GetWidth(), pNewSize->GetWidth() );
         }
     }
@@ -458,8 +456,8 @@ void lcl_SortedTabColInsert( SwTabCols &rToFill, const SwTableBox *pBox,
     OSL_ENSURE(nWish, "weird <= 0 width frmfrm");
     const long nAct  = rToFill.GetRight() - rToFill.GetLeft();  // +1 why?
 
-    //Der Wert fuer die linke Kante der Box errechnet sich aus den
-    //Breiten der vorhergehenden Boxen.
+    // The value for the left edge of the box is calculated from the
+    // widths of the previous boxes.
     sal_uInt16 nPos = 0;
     sal_uInt16 nSum = 0;
     sal_uInt16 nLeftMin = 0;
@@ -505,7 +503,7 @@ void lcl_SortedTabColInsert( SwTabCols &rToFill, const SwTableBox *pBox,
         if ( (nPos >= ((nCmp >= COLFUZZY) ? nCmp - COLFUZZY : nCmp)) &&
              (nPos <= (nCmp + COLFUZZY)) )
         {
-            bInsert = sal_False;        //Hat ihn schon.
+            bInsert = sal_False;        // Already has it.
         }
         else if ( nPos < nCmp )
         {
@@ -593,8 +591,7 @@ void lcl_ProcessLineGet( const SwTableLine *pLine, SwTabCols &rToFill,
 void SwTable::GetTabCols( SwTabCols &rToFill, const SwTableBox *pStart,
               sal_Bool bRefreshHidden, sal_Bool bCurRowOnly ) const
 {
-    //MA 30. Nov. 95: Opt: wenn bHidden gesetzt ist, wird nur das Hidden
-    //Array aktualisiert.
+    // Optimization: if bHidden is set, we only update the Hidden Array.
     if ( bRefreshHidden )
     {
         // remove corrections
@@ -607,7 +604,7 @@ void SwTable::GetTabCols( SwTabCols &rToFill, const SwTableBox *pStart,
             rEntry.nMax -= rToFill.GetLeft();
         }
 
-        //Alle sind hidden, dann die sichtbaren eintragen.
+        // All are hidden, so add the visible ones.
         for ( i = 0; i < rToFill.Count(); ++i )
             rToFill.SetHidden( i, sal_True );
     }
@@ -616,34 +613,30 @@ void SwTable::GetTabCols( SwTabCols &rToFill, const SwTableBox *pStart,
         rToFill.Remove( 0, rToFill.Count() );
     }
 
-    //Eingetragen werden:
-    //1. Alle Boxen unterhalb der dem Start uebergeordneten Line sowie
-    //   deren untergeordnete Boxen falls vorhanden.
-    //2. Ausgehend von der Line die uebergeordnete Box sowie deren Nachbarn;
-    //   nicht aber deren untergeordnete.
-    //3. Mit der der Boxenkette uebergeordneten Line wieder wie 2. bis einer
-    //   Line keine Box (sondern die Table) uebergeordnet ist.
-    //Es werden nur diejenigen Boxen eingetragen, die keine weiteren Zeilen
-    //enhalten. Die eintragende Funktion sorgt dafuer, dass keine doppelten
-    //eingetragen werden. Um dies zu gewaehrleisten wird mit einer gewissen
-    //Unschaerfe gearbeitet (um Rundungsfehler auszuschalten).
-    //Es werden nur die linken Kanten der Boxen eingetragen.
-    //Am Schluss wird der Erste wieder ausgetragen denn er ist bereits vom
-    //Rand abgedeckt.
-
-    //4. Nochmalige abscannen der Tabelle und eintragen _aller_ Boxen,
-    //   jetzt aber als Hidden.
+    // Insertion cases:
+    // 1. All boxes which are inferior to Line which is superior to the Start,
+    //    as well as their inferior boxes if present.
+    // 2. Starting from the Line, the superior box plus its neighbours; but no inferiors.
+    // 3. Apply 2. to the Line superior to the chain of boxes,
+    //    until the Line's superior is not a box but the table.
+    // Only those boxes are inserted that don't contain further rows. The insertion
+    // function takes care to avoid duplicates. In order to achieve this, we work
+    // with some degree of fuzzyness (to avoid rounding errors).
+    // Only the left edge of the boxes are inserted.
+    // Finally, the first entry is removed again, because it's already
+    // covered by the border.
+    // 4. Scan the table again and insert _all_ boxes, this time as hidden.
 
     const SwFrmFmt *pTabFmt = GetFrmFmt();
 
-    //1.
+    // 1.
     const SwTableBoxes &rBoxes = pStart->GetUpper()->GetTabBoxes();
 
     sal_uInt16 i;
     for ( i = 0; i < rBoxes.size(); ++i )
         ::lcl_ProcessBoxGet( rBoxes[i], rToFill, pTabFmt, bRefreshHidden );
 
-    //2. und 3.
+    // 2. and 3.
     const SwTableLine *pLine = pStart->GetUpper()->GetUpper() ?
                                 pStart->GetUpper()->GetUpper()->GetUpper() : 0;
     while ( pLine )
@@ -657,7 +650,7 @@ void SwTable::GetTabCols( SwTabCols &rToFill, const SwTableBox *pStart,
 
     if ( !bRefreshHidden )
     {
-        //4.
+        // 4.
         if ( !bCurRowOnly )
         {
             for ( i = 0; i < aLines.size(); ++i )
@@ -667,10 +660,10 @@ void SwTable::GetTabCols( SwTabCols &rToFill, const SwTableBox *pStart,
         rToFill.Remove( 0, 1 );
     }
 
-    //Die Koordinaten sind jetzt relativ zum linken Rand der Tabelle - also
-    //relativ zum nLeft vom SwTabCols. Die Werte werden aber relativ zum
-    //linken Rand - also nLeftMin vom SwTabCols - erwartet.
-    //Alle Werte muessen also um nLeft erweitert werden.
+    // Now the coordinates are relative to the left table border - i.e.
+    // relative to SwTabCols.nLeft. However, they are expected
+    // relative to the left document border, i.e. SwTabCols.nLeftMin.
+    // So all values need to be extended by nLeft.
     for ( i = 0; i < rToFill.Count(); ++i )
     {
         SwTabColsEntry& rEntry = rToFill.GetEntry( i );
@@ -685,7 +678,7 @@ void SwTable::GetTabCols( SwTabCols &rToFill, const SwTableBox *pStart,
 |*  SwTable::SetTabCols()
 |*
 |*************************************************************************/
-//Struktur zur Parameteruebergabe
+// Structure for parameter passing
 struct Parm
 {
     const SwTabCols &rNew;
@@ -718,17 +711,16 @@ void lcl_ProcessBoxSet( SwTableBox *pBox, Parm &rParm )
     }
     else
     {
-        //Aktuelle Position (linke und rechte Kante berechnen) und im
-        //alten TabCols suchen. Im neuen TabCols die Werte vergleichen und
-        //wenn es Unterschiede gibt die Box entsprechend anpassen.
-        //Wenn an der veraenderten Kante kein Nachbar existiert werden auch
-        //alle uebergeordneten Boxen angepasst.
+        // Search the old TabCols for the current position (calculate from
+        // left and right edge). Adjust the box if the values differ from
+        // the new TabCols. If the adjusted edge has no neighbour we also
+        // adjust all superior boxes.
 
         const long nOldAct = rParm.rOld.GetRight() -
                              rParm.rOld.GetLeft(); // +1 why?
 
-        //Der Wert fuer die linke Kante der Box errechnet sich aus den
-        //Breiten der vorhergehenden Boxen plus dem linken Rand
+        // The value for the left edge of the box is calculated from the
+        // widths of the previous boxes plus the left edge.
         long nLeft = rParm.rOld.GetLeft();
         const  SwTableBox  *pCur  = pBox;
         const  SwTableLine *pLine = pBox->GetUpper();
@@ -748,9 +740,9 @@ void lcl_ProcessBoxSet( SwTableBox *pBox, Parm &rParm )
         }
         long nLeftDiff;
         long nRightDiff = 0;
-        if ( nLeft != rParm.rOld.GetLeft() ) //Es gibt noch Boxen davor.
+        if ( nLeft != rParm.rOld.GetLeft() ) // There are still boxes before this.
         {
-            //Rechte Kante ist linke Kante plus Breite.
+            // Right edge is left edge plus width.
             sal_uInt64 nWidth = pBox->GetFrmFmt()->GetFrmSize().GetWidth();
             nWidth *= nOldAct;
             nWidth /= rParm.nOldWish;
@@ -771,13 +763,12 @@ void lcl_ProcessBoxSet( SwTableBox *pBox, Parm &rParm )
             nRightDiff= nRightPos!= USHRT_MAX ?
                     (int)rParm.rNew[nRightPos] - (int)rParm.rOld[nRightPos] : 0;
         }
-        else    //Die erste Box.
+        else    // The first box.
         {
             nLeftDiff = (long)rParm.rOld.GetLeft() - (long)rParm.rNew.GetLeft();
             if ( rParm.rOld.Count() )
             {
-                //Differnz zu der Kante berechnen, von der die erste Box
-                //beruehrt wird.
+                // Calculate the difference to the edge touching the first box.
                 sal_uInt64 nWidth = pBox->GetFrmFmt()->GetFrmSize().GetWidth();
                 nWidth *= nOldAct;
                 nWidth /= rParm.nOldWish;
@@ -812,10 +803,10 @@ void lcl_ProcessBoxSet( SwTableBox *pBox, Parm &rParm )
 
         if ( nLeftDiff || nRightDiff )
         {
-            //Die Differenz ist der tatsaechliche Differenzbetrag; die
-            //Attribute der Boxen um diesen Betrag anzupassen macht keinen
-            //Sinn wenn die Tabelle gestrecht ist. Der Differenzbetrag muss
-            //entsprechend umgerechnet werden.
+            // The difference is the actual difference amount. For stretched
+            // tables, it does not make sense to adjust the attributes of the
+            // boxes by this amount. The difference amount needs to be converted
+            // accordingly.
             long nTmp = rParm.rNew.GetRight() - rParm.rNew.GetLeft(); // +1 why?
             nLeftDiff *= rParm.nNewWish;
             nLeftDiff /= nTmp;
@@ -823,7 +814,7 @@ void lcl_ProcessBoxSet( SwTableBox *pBox, Parm &rParm )
             nRightDiff /= nTmp;
             long nDiff = nLeftDiff + nRightDiff;
 
-            //Box und alle uebergeordneten um den Differenzbetrag anpassen.
+            // Adjust the box and all superiors by the difference amount.
             while ( pBox )
             {
                 SwFmtFrmSize aFmtFrmSize( pBox->GetFrmFmt()->GetFrmSize() );
@@ -891,7 +882,7 @@ void lcl_AdjustBox( SwTableBox *pBox, const long nDiff, Parm &rParm )
     if ( !pBox->GetTabLines().empty() )
         ::lcl_AdjustLines( pBox->GetTabLines(), nDiff, rParm );
 
-    //Groesse der Box anpassen.
+    // Adjust the size of the box.
     SwFmtFrmSize aFmtFrmSize( pBox->GetFrmFmt()->GetFrmSize() );
     aFmtFrmSize.SetWidth( aFmtFrmSize.GetWidth() + nDiff );
 
@@ -903,7 +894,7 @@ void SwTable::SetTabCols( const SwTabCols &rNew, const SwTabCols &rOld,
 {
     CHECK_TABLE( *this )
 
-    SetHTMLTableLayout( 0 );    // MIB 9.7.97: HTML-Layout loeschen
+    SetHTMLTableLayout( 0 );    // delete HTML-Layout
 
     // FME: Made rOld const. The caller is responsible for passing correct
     // values of rOld. Therefore we do not have to call GetTabCols anymore:
@@ -913,10 +904,9 @@ void SwTable::SetTabCols( const SwTabCols &rNew, const SwTabCols &rOld,
 
     OSL_ENSURE( rOld.Count() == rNew.Count(), "Columnanzahl veraendert.");
 
-    //Raender verarbeiten. Groesse der Tabelle und ein paar Boxen mussen
-    //angepasst werden. Bei der Groesseneinstellung darf allerdings das
-    //Modify nicht verarbeitet werden - dieses wuerde alle Boxen anpassen
-    //und das koennen wir ueberhaupt nicht gebrauchen.
+    // Convert the edges. We need to adjust the size of the table and some boxes.
+    // For the size adjustment, we must not make use of the Modify, since that'd
+    // adjust all boxes, which we really don't want.
     SwFrmFmt *pFmt = GetFrmFmt();
     aParm.nOldWish = aParm.nNewWish = pFmt->GetFrmSize().GetWidth();
     if ( (rOld.GetLeft() != rNew.GetLeft()) ||
@@ -934,9 +924,9 @@ void SwTable::SetTabCols( const SwTabCols &rNew, const SwTabCols &rOld,
             aLR.SetRight( rNew.GetRightMax() - rNew.GetRight() - nShRight );
             pFmt->SetFmtAttr( aLR );
 
-            //Die Ausrichtung der Tabelle muss entsprechend angepasst werden,
-            //das geschieht so, dass die Tabelle genauso stehenbleibt wie der
-            //Anwender sie gerade hingezuppelt hat.
+            // The alignment of the table needs to be adjusted accordingly.
+            // This is done by preserving the exact positions that have been
+            // set by the user.
             SwFmtHoriOrient aOri( pFmt->GetHoriOrient() );
             if(text::HoriOrientation::NONE != aOri.GetHoriOrient())
             {
@@ -972,13 +962,12 @@ void SwTable::SetTabCols( const SwTabCols &rNew, const SwTabCols &rOld,
                 ::lcl_AdjustLines( GetTabLines(), nDiff, aParm );
         }
 
-        //Groesse der Tabelle anpassen. Es muss beachtet werden, das die
-        //Tabelle gestrecht sein kann.
+        // Adjust the size of the table, watch out for stretched tables.
         if ( nTabDiff )
         {
             aParm.nNewWish += nTabDiff;
             if ( aParm.nNewWish < 0 )
-                aParm.nNewWish = USHRT_MAX; //Uuups! Eine Rolle rueckwaerts.
+                aParm.nNewWish = USHRT_MAX; // Oops! Have to roll back.
             SwFmtFrmSize aSz( pFmt->GetFrmSize() );
             if ( aSz.GetWidth() != aParm.nNewWish )
             {
@@ -996,14 +985,12 @@ void SwTable::SetTabCols( const SwTabCols &rNew, const SwTabCols &rOld,
     {
         if ( bCurRowOnly )
         {
-            //Um die aktuelle Zeile anzupassen muessen wir analog zu dem
-            //Verfahren zum fuellen der TabCols (siehe GetTabCols()) die
-            //Boxen der aktuellen Zeile abklappern.
-            //Leider muessen wir auch hier dafuer sorgen, dass die Boxen von
-            //hinten nach vorne bzw. von innen nach aussen veraendert werden.
-            //Der beste Weg hierzu scheint mir darin zu liegen die
-            //entsprechenden Boxen in einem PtrArray vorzumerken.
-
+            // To adjust the current row, we need to process all its boxes,
+            // similar to the filling of the TabCols (see GetTabCols()).
+            // Unfortunately we again have to take care to adjust the boxes
+            // from back to front, respectively from outer to inner.
+            // The best way to achieve this is probably to track the boxes
+            // in a PtrArray.
             const SwTableBoxes &rBoxes = pStart->GetUpper()->GetTabBoxes();
             for ( sal_uInt16 i = 0; i < rBoxes.size(); ++i )
                 ::lcl_ProcessBoxPtr( rBoxes[i], aParm.aBoxArr, sal_False );
@@ -1025,9 +1012,8 @@ void SwTable::SetTabCols( const SwTabCols &rNew, const SwTabCols &rOld,
                 pExcl = pLine->GetUpper();
                 pLine = pLine->GetUpper() ? pLine->GetUpper()->GetUpper() : 0;
             }
-            //Nachdem wir haufenweise Boxen (hoffentlich alle und in der richtigen
-            //Reihenfolge) eingetragen haben, brauchen diese nur noch rueckwaerts
-            //verarbeitet zu werden.
+            // After we've inserted a bunch of boxes (hopefully all and in
+            // correct order), we just need to process them in reverse order.
             for ( int j = aParm.aBoxArr.size()-1; j >= 0; --j )
             {
                 SwTableBox *pBox = aParm.aBoxArr[j];
@@ -1035,11 +1021,10 @@ void SwTable::SetTabCols( const SwTabCols &rNew, const SwTabCols &rOld,
             }
         }
         else
-        {   //Die gesamte Tabelle anzupassen ist 'einfach'.
-            //Es werden alle Boxen, die keine Lines mehr enthalten angepasst.
-            //Diese Boxen passen alle uebergeordneten Boxen entsprechend mit an.
-            //Um uns nicht selbst hereinzulegen muss natuerlich rueckwaerst
-            //gearbeitet werden!
+        {
+            // Adjusting the entire table is 'easy'. All boxes without lines are
+            // adjusted, as are their superiors. Of course we need to process
+            // in reverse order to prevent fooling ourselves!
             SwTableLines &rLines = GetTabLines();
             for ( int i = rLines.size()-1; i >= 0; --i )
                 ::lcl_ProcessLine( rLines[ static_cast< sal_uInt16 >(i) ], aParm );
@@ -1048,9 +1033,9 @@ void SwTable::SetTabCols( const SwTabCols &rNew, const SwTabCols &rOld,
 
 #ifdef DBG_UTIL
     {
-// steht im tblrwcl.cxx
+// to be found in tblrwcl.cxx
 extern void _CheckBoxWidth( const SwTableLine&, SwTwips );
-        // checke doch mal ob die Tabellen korrekte Breiten haben
+        // do some checking for correct table widths
         SwTwips nSize = GetFrmFmt()->GetFrmSize().GetWidth();
         for (size_t n = 0; n < aLines.size(); ++n)
         {
@@ -1358,7 +1343,7 @@ void SwTable::NewSetTabCols( Parm &rParm, const SwTabCols &rNew,
 /*************************************************************************
 |*
 |*  const SwTableBox* SwTable::GetTblBox( const Strn?ng& rName ) const
-|*      gebe den Pointer auf die benannte Box zurueck.
+|*      return the pointer of the box specified.
 |*
 |*************************************************************************/
 
@@ -1384,7 +1369,7 @@ sal_uInt16 SwTable::_GetBoxNum( String& rStr, sal_Bool bFirstPart,
     xub_StrLen nPos = 0;
     if( bFirstPart )   // sal_True == column; sal_False == row
     {
-        // die 1. ist mit Buchstaben addressiert!
+        // the first one uses letters for addressing!
         sal_Unicode cChar;
         sal_Bool bFirst = sal_True;
         while( 0 != ( cChar = rStr.GetChar( nPos )) &&
@@ -1400,7 +1385,7 @@ sal_uInt16 SwTable::_GetBoxNum( String& rStr, sal_Bool bFirstPart,
             nRet = nRet * 52 + cChar;
             ++nPos;
         }
-        rStr.Erase( 0, nPos );      // Zeichen aus dem String loeschen
+        rStr.Erase( 0, nPos );      // Remove char from String
     }
     else if( STRING_NOTFOUND == ( nPos = rStr.Search( aDotStr ) ))
     {
@@ -1439,7 +1424,7 @@ const SwTableBox* SwTable::GetTblBox( const String& rName,
     while( aNm.Len() )
     {
         nBox = SwTable::_GetBoxNum( aNm, 0 == pBox, bPerformValidCheck );
-        // erste Box ?
+        // first box ?
         if( !pBox )
             pLines = &GetTabLines();
         else
@@ -1451,24 +1436,23 @@ const SwTableBox* SwTable::GetTblBox( const String& rName,
 
         nLine = SwTable::_GetBoxNum( aNm, sal_False, bPerformValidCheck );
 
-        // bestimme die Line
+        // determine line
         if( !nLine || nLine > pLines->size() )
             return 0;
         pLine = (*pLines)[ nLine-1 ];
 
-        // bestimme die Box
+        // determine box
         pBoxes = &pLine->GetTabBoxes();
         if( nBox >= pBoxes->size() )
             return 0;
         pBox = (*pBoxes)[ nBox ];
     }
 
-    // abpruefen, ob die gefundene Box auch wirklich eine Inhaltstragende
-    // Box ist ??
+    // check if the box found has any contents
     if( pBox && !pBox->GetSttNd() )
     {
-        OSL_FAIL( "Box ohne Inhalt, suche die naechste !!" );
-        // "herunterfallen lassen" bis zur ersten Box
+        OSL_FAIL( "Box without content, looking for the next one!" );
+        // "drop this" until the first box
         while( !pBox->GetTabLines().empty() )
             pBox = pBox->GetTabLines().front()->GetTabBoxes().front();
     }
@@ -1477,8 +1461,8 @@ const SwTableBox* SwTable::GetTblBox( const String& rName,
 
 SwTableBox* SwTable::GetTblBox( sal_uLong nSttIdx )
 {
-    //MA: Zur Optimierung nicht immer umstaendlich das ganze SortArray abhuenern.
-    //OS: #102675# converting text to table tries und certain conditions
+    // For optimizations, don't always process the entire SortArray.
+    // Converting text to table, tries certain conditions
     // to ask for a table box of a table that is not yet having a format
     if(!GetFrmFmt())
         return 0;
@@ -1515,7 +1499,7 @@ SwTableBox* SwTable::GetTblBox( sal_uLong nSttIdx )
             pRet = (SwTableBox*)((SwCellFrm*)pFrm)->GetTabBox();
     }
 
-    //Falls es das Layout noch nicht gibt oder sonstwie etwas schieft geht.
+    // In case the layout doesn't exist yet or anything else goes wrong.
     if ( !pRet )
     {
         for( sal_uInt16 n = aSortCntBoxes.size(); n; )
@@ -1527,9 +1511,9 @@ SwTableBox* SwTable::GetTblBox( sal_uLong nSttIdx )
 
 sal_Bool SwTable::IsTblComplex() const
 {
-    // returnt sal_True wenn sich in der Tabelle Verschachtelungen befinden
-    // steht eine Box nicht in der obersten Line, da wurde gesplittet/
-    // gemergt und die Struktur ist komplexer.
+    // Returns sal_True for complex tables, i.e. tables that contain nestings,
+    // like containing boxes not part of the first line, e.g. results of
+    // splits/merges which lead to more complex structures.
     for( sal_uInt16 n = 0; n < aSortCntBoxes.size(); ++n )
         if( aSortCntBoxes[ n ]->GetUpper()->GetUpper() )
             return sal_True;
@@ -1558,12 +1542,11 @@ SwTableLine::~SwTableLine()
     {
         delete aBoxes[i];
     }
-    // ist die TabelleLine der letzte Client im FrameFormat, kann dieses
-    // geloescht werden
+    // the TabelleLine can be deleted if it's the last client of the FrameFormat
     SwModify* pMod = GetFrmFmt();
-    pMod->Remove( this );               // austragen,
+    pMod->Remove( this );               // remove,
     if( !pMod->GetDepends() )
-        delete pMod;    // und loeschen
+        delete pMod;    // and delete
 }
 
 /*************************************************************************
@@ -1609,7 +1592,7 @@ void SwTableLine::ChgFrmFmt( SwTableLineFmt *pNewFmt )
     SwFrmFmt *pOld = GetFrmFmt();
     SwIterator<SwRowFrm,SwFmt> aIter( *pOld );
 
-    //Erstmal die Frms ummelden.
+    // First, re-register the Frms.
     for( SwRowFrm* pRow = aIter.First(); pRow; pRow = aIter.Next() )
     {
         if( pRow->GetTabLine() == this )
@@ -1641,7 +1624,7 @@ void SwTableLine::ChgFrmFmt( SwTableLineFmt *pNewFmt )
         }
     }
 
-    //Jetzt noch mich selbst ummelden.
+    // Now, re-register self.
     pNewFmt->Add( this );
 
     if ( !pOld->GetDepends() )
@@ -1714,13 +1697,13 @@ SwTableBox::SwTableBox( SwTableBoxFmt* pFmt, const SwNodeIndex &rIdx,
 
     pSttNd = rIdx.GetNode().GetStartNode();
 
-    // an der Table eintragen
+    // insert into the table
     const SwTableNode* pTblNd = pSttNd->FindTableNode();
-    OSL_ENSURE( pTblNd, "in welcher Tabelle steht denn die Box?" );
+    OSL_ENSURE( pTblNd, "In which table is that box?" );
     SwTableSortBoxes& rSrtArr = (SwTableSortBoxes&)pTblNd->GetTable().
                                 GetTabSortBoxes();
     SwTableBox* p = this;   // error: &this
-    rSrtArr.insert( p );        // eintragen
+    rSrtArr.insert( p );        // insert
 }
 
 SwTableBox::SwTableBox( SwTableBoxFmt* pFmt, const SwStartNode& rSttNd, SwTableLine *pUp ) :
@@ -1732,43 +1715,42 @@ SwTableBox::SwTableBox( SwTableBoxFmt* pFmt, const SwStartNode& rSttNd, SwTableL
 {
     CheckBoxFmt( pFmt )->Add( this );
 
-    // an der Table eintragen
+    // insert into the table
     const SwTableNode* pTblNd = pSttNd->FindTableNode();
     OSL_ENSURE( pTblNd, "In which table is the box?" );
     SwTableSortBoxes& rSrtArr = (SwTableSortBoxes&)pTblNd->GetTable().
                                 GetTabSortBoxes();
     SwTableBox* p = this;   // error: &this
-    rSrtArr.insert( p );        // eintragen
+    rSrtArr.insert( p );        // insert
 }
 
 SwTableBox::~SwTableBox()
 {
-    // Inhaltstragende Box ?
+    // box containing contents?
     if( !GetFrmFmt()->GetDoc()->IsInDtor() && pSttNd )
     {
-        // an der Table austragen
+        // remove from table
         const SwTableNode* pTblNd = pSttNd->FindTableNode();
-        OSL_ENSURE( pTblNd, "in welcher Tabelle steht denn die Box?" );
+        OSL_ENSURE( pTblNd, "In which table is that box?" );
         SwTableSortBoxes& rSrtArr = (SwTableSortBoxes&)pTblNd->GetTable().
                                     GetTabSortBoxes();
         SwTableBox *p = this;   // error: &this
-        rSrtArr.erase( p );        // austragen
+        rSrtArr.erase( p );        // remove
     }
 
-    // ist die TabelleBox der letzte Client im FrameFormat, kann dieses
-    // geloescht werden
+    // the TabelleBox can be deleted if it's the last client of the FrameFormat
     SwModify* pMod = GetFrmFmt();
-    pMod->Remove( this );               // austragen,
+    pMod->Remove( this );               // remove,
     if( !pMod->GetDepends() )
-        delete pMod;    // und loeschen
+        delete pMod;    // and delete
 
     delete pImpl;
 }
 
 SwTableBoxFmt* SwTableBox::CheckBoxFmt( SwTableBoxFmt* pFmt )
 {
-    // sollte das Format eine Formel oder einen Value tragen, dann muss die
-    // Box alleine am Format haengen. Ggfs. muss ein neues angelegt werden.
+    // We might need to create a new format here, because the box must be
+    // added to the format solely if pFmt has a value or formular.
     if( SFX_ITEM_SET == pFmt->GetItemState( RES_BOXATR_VALUE, sal_False ) ||
         SFX_ITEM_SET == pFmt->GetItemState( RES_BOXATR_FORMULA, sal_False ) )
     {
@@ -1779,7 +1761,7 @@ SwTableBoxFmt* SwTableBox::CheckBoxFmt( SwTableBoxFmt* pFmt )
             pNewFmt->LockModify();
             *pNewFmt = *pFmt;
 
-            // Values und Formeln entfernen
+            // Remove values and formulars
             pNewFmt->ResetFmtAttr( RES_BOXATR_FORMULA, RES_BOXATR_VALUE );
             pNewFmt->UnlockModify();
 
@@ -1835,7 +1817,7 @@ void SwTableBox::ChgFrmFmt( SwTableBoxFmt* pNewFmt )
     SwFrmFmt *pOld = GetFrmFmt();
     SwIterator<SwCellFrm,SwFmt> aIter( *pOld );
 
-    //Erstmal die Frms ummelden.
+    // First, re-register the Frms.
     for( SwCellFrm* pCell = aIter.First(); pCell; pCell = aIter.Next() )
     {
         if( pCell->GetTabBox() == this )
@@ -1861,7 +1843,7 @@ void SwTableBox::ChgFrmFmt( SwTableBoxFmt* pNewFmt )
         }
     }
 
-    //Jetzt noch mich selbst ummelden.
+    // Now, re-register self.
     pNewFmt->Add( this );
 
     if( !pOld->GetDepends() )
@@ -1871,8 +1853,8 @@ void SwTableBox::ChgFrmFmt( SwTableBoxFmt* pNewFmt )
 /*************************************************************************
 |*
 |*  String SwTableBox::GetName() const
-|*      gebe den Namen dieser Box zurueck. Dieser wird dynamisch bestimmt
-|*      und ergibt sich aus der Position in den Lines/Boxen/Tabelle
+|*      Return the name of this box. This is determined dynamically
+|*      resulting from the position in the lines/boxes/tables.
 |*
 |*************************************************************************/
 void lcl_GetTblBoxColStr( sal_uInt16 nCol, String& rNm )
@@ -1896,9 +1878,9 @@ void lcl_GetTblBoxColStr( sal_uInt16 nCol, String& rNm )
 
 String SwTableBox::GetName() const
 {
-    if( !pSttNd )       // keine Content Box ??
+    if( !pSttNd )       // box without content?
     {
-        // die naechste erste Box suchen ??
+        // search for the next first box?
         return aEmptyStr;
     }
 
@@ -1909,7 +1891,7 @@ String SwTableBox::GetName() const
     do {
         const SwTableBoxes* pBoxes = &pBox->GetUpper()->GetTabBoxes();
         const SwTableLine* pLine = pBox->GetUpper();
-        // auf oberstere Ebene ?
+        // at the first level?
         const SwTableLines* pLines = pLine->GetUpper()
                 ? &pLine->GetUpper()->GetTabLines() : &rTbl.GetTabLines();
 
@@ -1931,7 +1913,7 @@ String SwTableBox::GetName() const
 
 sal_Bool SwTableBox::IsInHeadline( const SwTable* pTbl ) const
 {
-    if( !GetUpper() )           // sollte nur beim Merge vorkommen.
+    if( !GetUpper() )           // should only happen upon merge.
         return sal_False;
 
     if( !pTbl )
@@ -1950,7 +1932,7 @@ sal_uLong SwTableBox::GetSttIdx() const
     return pSttNd ? pSttNd->GetIndex() : 0;
 }
 
-    // erfrage vom Client Informationen
+    // retrieve informations from the client
 sal_Bool SwTable::GetInfo( SfxPoolItem& rInfo ) const
 {
     switch( rInfo.Which() )
@@ -2033,7 +2015,7 @@ void ChgTextToNum( SwTableBox& rBox, const String& rTxt, const Color* pCol,
         SwTxtNode* pTNd = pDoc->GetNodes()[ nNdPos ]->GetTxtNode();
         const SfxPoolItem* pItem;
 
-        // Ausrichtung umsetzen
+        // assign adjustment
         if( bChgAlign )
         {
             pItem = &pTNd->SwCntntNode::GetAttr( RES_PARATR_ADJUST );
@@ -2046,7 +2028,7 @@ void ChgTextToNum( SwTableBox& rBox, const String& rTxt, const Color* pCol,
             }
         }
 
-        // Farbe umsetzen oder "Benutzer Farbe" sichern
+        // assign color or save "user color"
         if( !pTNd->GetpSwAttrSet() || SFX_ITEM_SET != pTNd->GetpSwAttrSet()->
             GetItemState( RES_CHRATR_COLOR, sal_False, &pItem ))
             pItem = 0;
@@ -2058,10 +2040,9 @@ void ChgTextToNum( SwTableBox& rBox, const String& rTxt, const Color* pCol,
                 *pNewUserColor == *pOldNumFmtColor ) ||
             ( !pNewUserColor && !pOldNumFmtColor ))
         {
-            // User Color nicht veraendern aktuellen Werte setzen
-            // ggfs. die alte NumFmtColor loeschen
+            // Keep the user color, set updated values, delete old NumFmtColor if needed
             if( pCol )
-                // ggfs. die Farbe setzen
+                // if needed, set the color
                 pTNd->SetAttr( SvxColorItem( *pCol, RES_CHRATR_COLOR ));
             else if( pItem )
             {
@@ -2074,12 +2055,11 @@ void ChgTextToNum( SwTableBox& rBox, const String& rTxt, const Color* pCol,
         }
         else
         {
-            // User Color merken, ggfs. die NumFormat Color setzen, aber
-            // nie die Farbe zurueck setzen
+            // Save user color, set NumFormat color if needed, but never reset the color
             rBox.SetSaveUserColor( pNewUserColor );
 
             if( pCol )
-                // ggfs. die Farbe setzen
+                // if needed, set the color
                 pTNd->SetAttr( SvxColorItem( *pCol, RES_CHRATR_COLOR ));
 
         }
@@ -2087,8 +2067,7 @@ void ChgTextToNum( SwTableBox& rBox, const String& rTxt, const Color* pCol,
 
         if( pTNd->GetTxt() != rTxt )
         {
-            // Text austauschen
-            //JP 15.09.98: Bug 55741 - Tabs beibehalten (vorne und hinten!)
+            // Exchange text. Bugfix to keep Tabs (front and back!)
             const String& rOrig = pTNd->GetTxt();
             xub_StrLen n;
 
@@ -2101,8 +2080,7 @@ void ChgTextToNum( SwTableBox& rBox, const String& rTxt, const Color* pCol,
                 ;
             n -= aIdx.GetIndex() - 1;
 
-            //JP 06.04.99: Bug 64321 - DontExpand-Flags vorm Austauschen
-            //             zuruecksetzen, damit sie wieder aufgespannt werden
+            // Reset DontExpand-Flags before exchange, to retrigger expansion
             {
                 SwIndex aResetIdx( aIdx, n );
                 pTNd->DontExpandFmt( aResetIdx, sal_False, sal_False );
@@ -2126,7 +2104,7 @@ void ChgTextToNum( SwTableBox& rBox, const String& rTxt, const Color* pCol,
             }
         }
 
-        // vertikale Ausrichtung umsetzen
+        // assign vertical orientation
         if( bChgAlign &&
             ( SFX_ITEM_SET != rBox.GetFrmFmt()->GetItemState(
                 RES_VERT_ORIENT, sal_True, &pItem ) ||
@@ -2150,15 +2128,14 @@ void ChgNumToText( SwTableBox& rBox, sal_uLong nFmt )
         Color* pCol = 0;
         if( NUMBERFORMAT_TEXT != nFmt )
         {
-            // speziellen Textformat:
+            // special text format:
             String sTmp, sTxt( pTNd->GetTxt() );
             pDoc->GetNumberFormatter()->GetOutputString( sTxt, nFmt, sTmp, &pCol );
             if( sTxt != sTmp )
             {
-                // Text austauschen
+                // exchange text
                 SwIndex aIdx( pTNd, sTxt.Len() );
-                //JP 06.04.99: Bug 64321 - DontExpand-Flags vorm Austauschen
-                //             zuruecksetzen, damit sie wieder aufgespannt werden
+                // Reset DontExpand-Flags before exchange, to retrigger expansion
                 pTNd->DontExpandFmt( aIdx, sal_False, sal_False );
                 aIdx = 0;
                 pTNd->EraseText( aIdx, STRING_LEN,
@@ -2170,7 +2147,7 @@ void ChgNumToText( SwTableBox& rBox, sal_uLong nFmt )
 
         const SfxItemSet* pAttrSet = pTNd->GetpSwAttrSet();
 
-        // Ausrichtung umsetzen
+        // assign adjustment
         if( bChgAlign && pAttrSet && SFX_ITEM_SET == pAttrSet->GetItemState(
             RES_PARATR_ADJUST, sal_False, &pItem ) &&
                 SVX_ADJUST_RIGHT == ((SvxAdjustItem*)pItem)->GetAdjust() )
@@ -2178,7 +2155,7 @@ void ChgNumToText( SwTableBox& rBox, sal_uLong nFmt )
             pTNd->SetAttr( SvxAdjustItem( SVX_ADJUST_LEFT, RES_PARATR_ADJUST ) );
         }
 
-        // Farbe umsetzen oder "Benutzer Farbe" sichern
+        // assign color or save "user color"
         if( !pAttrSet || SFX_ITEM_SET != pAttrSet->
             GetItemState( RES_CHRATR_COLOR, sal_False, &pItem ))
             pItem = 0;
@@ -2190,10 +2167,9 @@ void ChgNumToText( SwTableBox& rBox, sal_uLong nFmt )
                 *pNewUserColor == *pOldNumFmtColor ) ||
             ( !pNewUserColor && !pOldNumFmtColor ))
         {
-            // User Color nicht veraendern aktuellen Werte setzen
-            // ggfs. die alte NumFmtColor loeschen
+            // Keep the user color, set updated values, delete old NumFmtColor if needed
             if( pCol )
-                // ggfs. die Farbe setzen
+                // if needed, set the color
                 pTNd->SetAttr( SvxColorItem( *pCol, RES_CHRATR_COLOR ));
             else if( pItem )
             {
@@ -2206,19 +2182,18 @@ void ChgNumToText( SwTableBox& rBox, sal_uLong nFmt )
         }
         else
         {
-            // User Color merken, ggfs. die NumFormat Color setzen, aber
-            // nie die Farbe zurueck setzen
+            // Save user color, set NumFormat color if needed, but never reset the color
             rBox.SetSaveUserColor( pNewUserColor );
 
             if( pCol )
-                // ggfs. die Farbe setzen
+                // if needed, set the color
                 pTNd->SetAttr( SvxColorItem( *pCol, RES_CHRATR_COLOR ));
 
         }
         rBox.SetSaveNumFmtColor( pCol );
 
 
-        // vertikale Ausrichtung umsetzen
+        // assign vertical orientation
         if( bChgAlign &&
             SFX_ITEM_SET == rBox.GetFrmFmt()->GetItemState(
             RES_VERT_ORIENT, sal_False, &pItem ) &&
@@ -2229,7 +2204,7 @@ void ChgNumToText( SwTableBox& rBox, sal_uLong nFmt )
     }
 }
 
-// zum Erkennen von Veraenderungen (haupts. TableBoxAttribute)
+// for detection of modifications (mainly TableBoxAttribute)
 void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
 {
     if( !IsModifyLocked() && !IsInDocDTOR() )
@@ -2267,8 +2242,7 @@ void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
             break;
         }
 
-        // es hat sich etwas getan und im Set ist noch irgendein BoxAttribut
-        // vorhanden!
+        // something changed and some BoxAttribut remained in the set!
         if( pNewFmt || pNewFml || pNewVal )
         {
             GetDoc()->SetFieldsDirty(true, NULL, 0);
@@ -2277,32 +2251,32 @@ void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
                 SFX_ITEM_SET == GetItemState( RES_BOXATR_VALUE, sal_False ) ||
                 SFX_ITEM_SET == GetItemState( RES_BOXATR_FORMULA, sal_False ) )
             {
-                // die Box holen
+                // fetch the box
                 SwIterator<SwTableBox,SwFmt> aIter( *this );
                 SwTableBox* pBox = aIter.First();
                 if( pBox )
                 {
-                    OSL_ENSURE( !aIter.Next(), "keine Box oder mehrere am Format" );
+                    OSL_ENSURE( !aIter.Next(), "zeor or more than one box at format" );
 
                     sal_uLong nNewFmt;
                     if( pNewFmt )
                     {
                         nNewFmt = pNewFmt->GetValue();
-                        // neu Formatieren
-                        // ist es neuer oder wurde der akt. entfernt?
+                        // new formatting
+                        // is it newer or has the current been removed?
                         if( SFX_ITEM_SET != GetItemState( RES_BOXATR_VALUE, sal_False ))
                             pNewFmt = 0;
                     }
                     else
                     {
-                        // das akt. Item besorgen
+                        // fetch the current Item
                         GetItemState( RES_BOXATR_FORMAT, sal_False,
                                             (const SfxPoolItem**)&pNewFmt );
                         nOldFmt = GetTblBoxNumFmt().GetValue();
                         nNewFmt = pNewFmt ? pNewFmt->GetValue() : nOldFmt;
                     }
 
-                    // ist es neuer oder wurde der akt. entfernt?
+                    // is it newer or has the current been removed?
                     if( pNewVal )
                     {
                         if( NUMBERFORMAT_TEXT != nNewFmt )
@@ -2317,18 +2291,16 @@ void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
                             nOldFmt = 0;
                     }
 
-                    // Logik:
-                    // ValueAenderung:  -> "simuliere" eine FormatAenderung!
-                    // FormatAenderung:
-                    // Text -> !Text oder FormatAenderung:
-                    //          - Ausrichtung auf RECHTS, wenn LINKS oder Blocksatz
-                    //          - vertikale Ausrichtung auf UNTEN wenn OBEN oder nicht
-                    //              gesetzt ist.
-                    //          - Text ersetzen (Farbe?? neg. Zahlen ROT??)
+                    // Logic:
+                    // Value change: -> "simulate" a format change!
+                    // Format change:
+                    // Text -> !Text or format change:
+                    //          - align right for horizontal alignment, if LEFT or JUSTIFIED
+                    //          - align bottom for vertical alignment, if TOP is set, or default
+                    //          - replace text (color? negative numbers RED?)
                     // !Text -> Text:
-                    //          - Ausrichtung auf LINKS, wenn RECHTS
-                    //          - vertikale Ausrichtung auf OEBN, wenn UNTEN gesetzt ist
-
+                    //          - align left for horizontal alignment, if RIGHT
+                    //          - align top for vertical alignment, if BOTTOM is set
                     SvNumberFormatter* pNumFmtr = GetDoc()->GetNumberFormatter();
                     sal_Bool bNewIsTxtFmt = pNumFmtr->IsTextFormat( nNewFmt ) ||
                                         NUMBERFORMAT_TEXT == nNewFmt;
@@ -2340,8 +2312,7 @@ void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
                         if( !pNewVal && SFX_ITEM_SET != GetItemState(
                             RES_BOXATR_VALUE, sal_False, (const SfxPoolItem**)&pNewVal ))
                         {
-                            // es wurde noch nie ein Wert gesetzt, dann versuche
-                            // doch mal den Inhalt auszuwerten
+                            // so far, no value has been set, so try to evaluate the content
                             sal_uLong nNdPos = pBox->IsValidNumTxtNd( sal_True );
                             if( ULONG_MAX != nNdPos )
                             {
@@ -2352,11 +2323,11 @@ void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
                                     bChgTxt = sal_False;
                                 else
                                 {
-                                    //JP 15.09.98: Bug 55741 - Tabs beibehalten
+                                    // Keep Tabs
                                     lcl_TabToBlankAtSttEnd( aTxt );
 
                                     // JP 22.04.98: Bug 49659 -
-                                    //          Sonderbehandlung fuer Prozent
+                                    //  Special casing for percent
                                     sal_Bool bIsNumFmt = sal_False;
                                     if( NUMBERFORMAT_PERCENT ==
                                         pNumFmtr->GetType( nNewFmt ))
@@ -2379,8 +2350,7 @@ void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
 
                                     if( bIsNumFmt )
                                     {
-                                        // dann setze den Value direkt in den Set -
-                                        // ohne Modify
+                                        // directly assign value - without Modify
                                         int bIsLockMod = IsModifyLocked();
                                         LockModify();
                                         SetFmtAttr( SwTblBoxValue( fVal ));
@@ -2393,8 +2363,7 @@ void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
                         else
                             fVal = pNewVal->GetValue();
 
-                        // den Inhalt mit dem neuen Wert Formtieren und in den Absatz
-                        // schbreiben
+                        // format contents with the new value assigned and write to paragraph
                         Color* pCol = 0;
                         String sNewTxt;
                         if( DBL_MAX == fVal )
@@ -2407,7 +2376,7 @@ void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
                                 sNewTxt.Erase();
                         }
 
-                        // ueber alle Boxen
+                        // across all boxes
                         ChgTextToNum( *pBox, sNewTxt, pCol,
                                         GetDoc()->IsInsTblAlignNum() );
 
@@ -2420,7 +2389,7 @@ void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
             }
         }
     }
-    // Und die Basis-Klasse rufen
+    // call base class
     SwFrmFmt::Modify( pOld, pNew );
 }
 
@@ -2433,7 +2402,7 @@ sal_Bool SwTableBox::HasNumCntnt( double& rNum, sal_uInt32& rFmtIndex,
     {
         String aTxt( pSttNd->GetNodes()[ nNdPos ]->GetTxtNode()->
                             GetRedlineTxt() );
-        //JP 15.09.98: Bug 55741 - Tabs beibehalten
+        // Keep Tabs
         lcl_TabToBlankAtSttEnd( aTxt );
         rIsEmptyTxtNd = 0 == aTxt.Len();
         SvNumberFormatter* pNumFmtr = GetFrmFmt()->GetDoc()->GetNumberFormatter();
@@ -2443,7 +2412,7 @@ sal_Bool SwTableBox::HasNumCntnt( double& rNum, sal_uInt32& rFmtIndex,
                 sal_False, &pItem ))
         {
             rFmtIndex = ((SwTblBoxNumFormat*)pItem)->GetValue();
-            // JP 22.04.98: Bug 49659 - Sonderbehandlung fuer Prozent
+            // Special casing for percent
             if( !rIsEmptyTxtNd &&
                 NUMBERFORMAT_PERCENT == pNumFmtr->GetType( rFmtIndex ))
             {
@@ -2537,8 +2506,8 @@ sal_uLong SwTableBox::IsValidNumTxtNd( sal_Bool bCheckAttr ) const
             {
                 const SwpHints* pHts = pTextNode->GetpSwpHints();
                 const String& rTxt = pTextNode->GetTxt();
-                // dann teste doch mal, ob das wirklich nur Text im Node steht!
-                // Flys/Felder/..
+                // do some tests if there's only text in the node!
+                // Flys/fields/...
                 if( pHts )
                 {
                     xub_StrLen nNextSetField = 0;
@@ -2580,7 +2549,7 @@ sal_uLong SwTableBox::IsValidNumTxtNd( sal_Bool bCheckAttr ) const
     return nPos;
 }
 
-// ist das eine FormelBox oder eine Box mit numerischen Inhalt (AutoSum)
+// is this a Formula box or one with numeric content (AutoSum)
 sal_uInt16 SwTableBox::IsFormulaOrValueBox() const
 {
     sal_uInt16 nWhich = 0;


More information about the Libreoffice-commits mailing list