summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorStefan Heinemann <stefan.heinemann@codedump.ch>2012-02-16 12:01:24 +0100
committerThorsten Behrens <tbehrens@suse.com>2012-02-18 02:21:51 +0100
commitb1392364a52dfc0f5cdbbad463079fd5ae04763e (patch)
treef0697c8b784cbd0916d5e0cec84d4e171a0a53cc /sw
parent600c27470380f80445fecb4b5691e0d11060494d (diff)
Translated German comments to English
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/layout/sectfrm.cxx421
1 files changed, 206 insertions, 215 deletions
diff --git a/sw/source/core/layout/sectfrm.cxx b/sw/source/core/layout/sectfrm.cxx
index 3f2ea287d9ec..ef1f3793fcb5 100644
--- a/sw/source/core/layout/sectfrm.cxx
+++ b/sw/source/core/layout/sectfrm.cxx
@@ -157,9 +157,10 @@ SwSectionFrm::~SwSectionFrm()
{
PROTOCOL( this, PROT_SECTION, ACT_DEL_FOLLOW, pMaster )
pMaster->SetFollow( GetFollow() );
- // Ein Master greift sich immer den Platz bis zur Unterkante seines
- // Uppers. Wenn er keinen Follow mehr hat, kann er diesen ggf. wieder
- // freigeben, deshalb wird die Size des Masters invalidiert.
+ // A Master always grabs the space until the lower edge of his
+ // Upper. If he doesn't have a Follow anymore, he can
+ // release it, which is why the Size of the Master is
+ // invalidated.
if( !GetFollow() )
pMaster->InvalidateSize();
}
@@ -208,9 +209,10 @@ void SwSectionFrm::DelEmpty( sal_Bool bRemove )
{
SwSectionFrm *pMaster = FindMaster();
pMaster->SetFollow( GetFollow() );
- // Ein Master greift sich immer den Platz bis zur Unterkante seines
- // Uppers. Wenn er keinen Follow mehr hat, kann er diesen ggf. wieder
- // freigeben, deshalb wird die Size des Masters invalidiert.
+ // A Master always grabs the space until the lower edge of his
+ // Upper. If he doesn't have a Follow anymore, he can
+ // release it, which is why the Size of the Master is
+ // invalidated.
if( !GetFollow() && !pMaster->IsColLocked() )
pMaster->InvalidateSize();
}
@@ -218,18 +220,18 @@ void SwSectionFrm::DelEmpty( sal_Bool bRemove )
if( pUp )
{
Frm().Height( 0 );
- // Wenn wir sowieso sofort zerstoert werden, brauchen/duerfen wir
- // uns gar nicht erst in die Liste eintragen
+ // If we are destroyed immediately anyway, we don't need
+ // to put us into the list
if( bRemove )
- { // Wenn wir bereits halbtot waren vor diesem DelEmpty, so
- // stehen wir vermutlich auch in der Liste und muessen uns
- // dort austragen
+ { // If we already were half dead before this DelEmpty,
+ // we are likely in the list and have to remove us from
+ // it
if( !pSection && getRootFrm() )
getRootFrm()->RemoveFromList( this );
}
else if( getRootFrm() )
getRootFrm()->InsertEmptySct( this ); //swmod 071108//swmod 071225
- pSection = NULL; // damit ist allerdings eine Reanimierung quasi ausgeschlossen
+ pSection = NULL; // like this a reanimation is virtually impossible though
}
}
@@ -256,8 +258,8 @@ void SwSectionFrm::_Cut( sal_Bool bRemove )
while( pFrm && pFrm->IsSctFrm() && !((SwSectionFrm*)pFrm)->GetSection() )
pFrm = pFrm->GetNext();
if( pFrm )
- { //Der alte Nachfolger hat evtl. einen Abstand zum Vorgaenger
- //berechnet der ist jetzt wo er der erste wird obsolete
+ { // The former successor might have calculated a gap to the predecessor
+ // which is now obsolete since he becomes the first
pFrm->_InvalidatePrt();
pFrm->_InvalidatePos();
if( pFrm->IsSctFrm() )
@@ -272,23 +274,23 @@ void SwSectionFrm::_Cut( sal_Bool bRemove )
else
{
InvalidateNextPos();
- //Einer muss die Retusche uebernehmen: Vorgaenger oder Upper
+ // Someone has to take over the retouching: predecessor or Upper
if ( 0 != (pFrm = GetPrev()) )
{ pFrm->SetRetouche();
pFrm->Prepare( PREP_WIDOWS_ORPHANS );
if ( pFrm->IsCntntFrm() )
pFrm->InvalidatePage( pPage );
}
- //Wenn ich der einzige FlowFrm in meinem Upper bin (war), so muss
- //er die Retouche uebernehmen.
- //Ausserdem kann eine Leerseite entstanden sein.
+ // If I am (was) the only FlowFrm in my Upper, then he has to take over
+ // the retouching.
+ // Furthermore a blank page could have emerged
else
{ SwRootFrm *pRoot = (SwRootFrm*)pPage->GetUpper();
pRoot->SetSuperfluous();
GetUpper()->SetCompletePaint();
}
}
- //Erst removen, dann Upper Shrinken.
+ // First remove, then shrink Upper
SwLayoutFrm *pUp = GetUpper();
if( bRemove )
{
@@ -336,7 +338,7 @@ void SwSectionFrm::Paste( SwFrm* pParent, SwFrm* pSibling )
PROTOCOL( this, PROT_PASTE, 0, GetUpper() )
- //In den Baum einhaengen.
+ // Add to the tree
SwSectionFrm* pSect = pParent->FindSctFrm();
// #156927#
// Assure that parent is not inside a table frame, which is inside the found section frame.
@@ -353,20 +355,20 @@ void SwSectionFrm::Paste( SwFrm* pParent, SwFrm* pSibling )
SWRECTFN( pParent )
if( pSect && HasToBreak( pSect ) )
{
- if( pParent->IsColBodyFrm() ) // handelt es sich um einen spaltigen Bereich
+ if( pParent->IsColBodyFrm() ) // dealing with a single-column area
{
- // Falls wir zufaellig am Ende einer Spalte stehen, muss pSibling
- // auf den ersten Frame der naechsten Spalte zeigen, damit
- // der Inhalt der naechsten Spalte von InsertGroup richtig in den
- // neu angelegten pSect umgehaengt wird.
+ // If we are coincidentally at the end of a column, pSibling
+ // has to point to the first frame of the next column in order
+ // for the content of the next column to be moved correctly to the
+ // newly created pSect by the InsertGroup
SwColumnFrm *pCol = (SwColumnFrm*)pParent->GetUpper();
while( !pSibling && 0 != ( pCol = (SwColumnFrm*)pCol->GetNext() ) )
pSibling = ((SwLayoutFrm*)((SwColumnFrm*)pCol)->Lower())->Lower();
if( pSibling )
{
- // Schlimmer noch: alle folgenden Spalteninhalte muessen
- // an die pSibling-Kette angehaengt werden, damit sie
- // mitgenommen werden.
+ // Even worse: every following column content has to
+ // be attached to the pSibling-chain in order to be
+ // taken along
SwFrm *pTmp = pSibling;
while ( 0 != ( pCol = (SwColumnFrm*)pCol->GetNext() ) )
{
@@ -379,8 +381,8 @@ void SwSectionFrm::Paste( SwFrm* pParent, SwFrm* pSibling )
}
pParent = pSect;
pSect = new SwSectionFrm( *((SwSectionFrm*)pParent)->GetSection(), pParent );
- // Wenn pParent in zwei Teile zerlegt wird, so muss sein Follow am
- // neuen, zweiten Teil angebracht werden.
+ // if pParent is decomposed into two parts, its Follow has to be attached
+ // to the new second part
pSect->SetFollow( ((SwSectionFrm*)pParent)->GetFollow() );
((SwSectionFrm*)pParent)->SetFollow( NULL );
if( pSect->GetFollow() )
@@ -430,10 +432,10 @@ void SwSectionFrm::Paste( SwFrm* pParent, SwFrm* pSibling )
|*
|* SwSectionFrm::HasToBreak()
|*
-|* Hier wird entschieden, ob der this-SectionFrm den uebergebenen
-|* (Section)Frm aufbrechen soll oder nicht.
-|* Zunaechst werden uebergeordnete Bereiche immer aufgebrochen,
-|* spaeter koennte man es einstellbar machen.
+|* Here it's decided whether the this-SectionFrm should break up
+|* the passed (Section)frm (or not).
+|* Initiall, all superior sections are broken up. Later on that could
+|* be made configurable.
|*
|*************************************************************************/
@@ -461,10 +463,9 @@ sal_Bool SwSectionFrm::HasToBreak( const SwFrm* pFrm ) const
|*
|* SwSectionFrm::MergeNext()
|*
-|* Verschmilzt zwei SectionFrms, falls es sich um den
-|* gleichen Bereich handelt.
-|* Notwendig kann dies sein, wenn ein (Unter-)Bereich geloescht wird, der
-|* einen anderen in zwei Teile zerlegt hatte.
+|* Merges two SectionFrms, in case it's about the same section.
+|* This can be necessary when a (sub)section is deleted that had
+|* divided another part into two.
|*
|*************************************************************************/
@@ -484,7 +485,7 @@ void SwSectionFrm::MergeNext( SwSectionFrm* pNxt )
while( pLast->GetNext() )
pLast = pLast->GetNext();
if( pLast->IsColumnFrm() )
- { // Spalten jetzt mit BodyFrm
+ { // Columns now with BodyFrm
pLay = (SwLayoutFrm*)((SwLayoutFrm*)pLast)->Lower();
pLast = pLay->Lower();
if( pLast )
@@ -506,11 +507,10 @@ void SwSectionFrm::MergeNext( SwSectionFrm* pNxt )
|*
|* SwSectionFrm::SplitSect()
|*
-|* Zerteilt einen SectionFrm in zwei Teile, der zweite Teil beginnt mit dem
-|* uebergebenen Frame.
-|* Benoetigt wird dies beim Einfuegen eines inneren Bereichs, weil innerhalb
-|* von Rahmen oder Tabellenzellen das MoveFwd nicht den erwuenschten Effekt
-|* haben kann.
+|* Divides a SectionFrm into two parts. The second one starts with the
+|* passed frame.
+|* This is required when inserting an inner section, because the MoveFwd
+|* cannot have the desired effect within a frame or a table cell.
|*
|*************************************************************************/
@@ -523,11 +523,11 @@ sal_Bool SwSectionFrm::SplitSect( SwFrm* pFrm, sal_Bool bApres )
SwSectionFrm* pSect = pOther->FindSctFrm();
if( pSect != this )
return sal_False;
- // Den Inhalt zur Seite stellen
+ // Put the content aside
SwFrm* pSav = ::SaveCntnt( this, bApres ? pOther : pFrm );
OSL_ENSURE( pSav, "SplitSect: What's on?" );
- if( pSav ) // Robust
- { // Einen neuen SctFrm anlegen, nicht als Follow/Master
+ if( pSav ) // be robust
+ { // Create a new SctFrm, not as a Follower/master
SwSectionFrm* pNew = new SwSectionFrm( *pSect->GetSection(), pSect );
pNew->InsertBehind( pSect->GetUpper(), pSect );
pNew->Init();
@@ -559,15 +559,15 @@ sal_Bool SwSectionFrm::SplitSect( SwFrm* pFrm, sal_Bool bApres )
|*
|* SwSectionFrm::MoveCntntAndDelete()
|*
-|* MoveCntnt wird zur Zerstoerung eines SectionFrms wg. Aufhebung oder
-|* Verstecken des Bereichs gerufen, um den Inhalt umzuhaengen.
-|* Wenn der SectionFrm keinen anderen aufbrach, so wird der Inhalt in
-|* den Upper bewegt. Anderfalls wird der Inhalt in den anderen SectionFrm
-|* umgehaengt, dieser muss ggf. gemergt werden.
+|* MoveCntnt is called for destroying a SectionFrms, due to
+|* the cancellation or hiding of a section, to handle the content.
+|* If the SectionFrm hasn't broken up another one, then the content
+|* is moved to the Upper. Otherwise the content is moved to another
+|* SectionFrm, which has to be potentially merged.
|*
|*************************************************************************/
-// Wenn ein mehrspaltiger Bereich aufgehoben wird, muessen die ContentFrms
-// invalidiert werden
+// If a multi-column section is cancelled, the ContentFrms have to be
+// invalidated
void lcl_InvalidateInfFlags( SwFrm* pFrm, sal_Bool bInva )
{
@@ -653,16 +653,15 @@ void SwSectionFrm::MoveCntntAndDelete( SwSectionFrm* pDel, sal_Bool bSave )
if( pDel->IsInTab() && pParent )
{
SwTabFrm *pTab = pDel->FindTabFrm();
- // Wenn wir innerhalb einer Tabelle liegen, koennen wir nur Bereiche
- // aufgebrochen haben, die ebenfalls innerhalb liegen, nicht etwa
- // einen Bereich, der die gesamte Tabelle umfasst.
+ // If we are within a table, we can only have broken up sections that
+ // are inside as well, but not a section that contains the whole table.
if( pTab->IsInSct() && pParent == pTab->FindSctFrm()->GetFmt() )
pParent = NULL;
}
- // Wenn unser Format einen Parent besitzt, so haben wir vermutlich
- // einen anderen SectionFrm aufgebrochen, dies muss geprueft werden,
- // dazu besorgen wir uns zunaechst den vorhergehende und den nach-
- // folgenden CntntFrm, mal sehen, ob diese in SectionFrms liegen.
+ // If our Format has a parent, we have probably broken up another
+ // SectionFrm, which has to be checked. To do so we first acquire the
+ // succeeding and the preceding CntntFrm, let's see if they
+ // lay in the SectionFrms.
// OD 27.03.2003 #i12711# - check, if previous and next section belonging
// together and can be joined, *not* only if deleted section contains content.
if ( pParent )
@@ -678,7 +677,7 @@ void SwSectionFrm::MoveCntntAndDelete( SwSectionFrm* pDel, sal_Bool bSave )
pPrvSct = pNxtSct = NULL;
}
- // Jetzt wird der Inhalt beseite gestellt und der Frame zerstoert
+ // Now the content is put aside and the frame is destroyed
SwFrm *pSave = bSave ? ::SaveCntnt( pDel ) : NULL;
sal_Bool bOldFtn = sal_True;
if( pSave && pUp->IsFtnFrm() )
@@ -689,36 +688,36 @@ void SwSectionFrm::MoveCntntAndDelete( SwSectionFrm* pDel, sal_Bool bSave )
pDel->DelEmpty( sal_True );
delete pDel;
if( pParent )
- { // Hier wird die geeignete Einfuegeposition gesucht
+ { // Search for the appropriate insert position
if( pNxtSct && pNxtSct->GetFmt() == pParent )
- { // Hier koennen wir uns am Anfang einfuegen
+ { // Here we can insert outselves at the beginning
pUp = FIRSTLEAF( pNxtSct );
pPrv = NULL;
if( pPrvSct && !( pPrvSct->GetFmt() == pParent ) )
- pPrvSct = NULL; // damit nicht gemergt wird
+ pPrvSct = NULL; // In order that nothing is merged
}
else if( pPrvSct && pPrvSct->GetFmt() == pParent )
- { // Wunderbar, hier koennen wir uns am Ende einfuegen
+ { // Wonderful, here we can insert ourselves at the end
pUp = pPrvSct;
if( pUp->Lower() && pUp->Lower()->IsColumnFrm() )
{
pUp = static_cast<SwLayoutFrm*>(pUp->GetLastLower());
- // Der Body der letzten Spalte
+ // The body of the last column
pUp = static_cast<SwLayoutFrm*>(pUp->Lower());
}
- // damit hinter dem letzten eingefuegt wird
+ // In order to perform the insertion after the last one
pPrv = pUp->GetLastLower();
- pPrvSct = NULL; // damit nicht gemergt wird
+ pPrvSct = NULL; // Such that nothing is merged
}
else
{
if( pSave )
- { // Folgende Situationen: Vor und hinter dem zu loeschenden Bereich
- // ist entweder die Bereichsgrenze des umfassenden Bereichs oder
- // es schliesst ein anderer (Geschwister-)Bereich direkt an, der
- // vom gleichen Parent abgeleitet ist.
- // Dann gibt es (noch) keinen Teil unseres Parents, der den Inhalt
- // aufnehmen kann,also bauen wir ihn uns.
+ { // Following situations: before and after the section-to-be
+ // deleted there is the section boundary of the enclosing
+ // section, or another (sibling) section connects subsequently,
+ // that derives from the same Parent.
+ // In that case, there's not (yet) a part of our parent available
+ // that can store the content, so we create it here.
pPrvSct = new SwSectionFrm( *pParent->GetSection(), pUp );
pPrvSct->InsertBehind( pUp, pPrv );
pPrvSct->Init();
@@ -727,10 +726,10 @@ void SwSectionFrm::MoveCntntAndDelete( SwSectionFrm* pDel, sal_Bool bSave )
pUp = FIRSTLEAF( pPrvSct );
pPrv = NULL;
}
- pPrvSct = NULL; // damit nicht gemergt wird
+ pPrvSct = NULL; // Such that nothing will be merged
}
}
- // Der Inhalt wird eingefuegt..
+ // The content is going to be inserted..
if( pSave )
{
lcl_InvalidateInfFlags( pSave, bSize );
@@ -739,7 +738,7 @@ void SwSectionFrm::MoveCntntAndDelete( SwSectionFrm* pDel, sal_Bool bSave )
if( !bOldFtn )
((SwFtnFrm*)pUp)->ColUnlock();
}
- // jetzt koennen eventuell zwei Teile des uebergeordneten Bereich verschmelzen
+ // Now two parts of the superior section could possibly be merged
if( pPrvSct && !pPrvSct->IsJoinLocked() )
{
OSL_ENSURE( pNxtSct, "MoveCntnt: No Merge" );
@@ -751,7 +750,7 @@ void SwSectionFrm::MakeAll()
{
if ( IsJoinLocked() || IsColLocked() || StackHack::IsLocked() || StackHack::Count() > 50 )
return;
- if( !pSection ) // Durch DelEmpty
+ if( !pSection ) // Via DelEmpty
{
#ifdef DBG_UTIL
OSL_ENSURE( getRootFrm()->IsInDelList( this ), "SectionFrm without Section" );
@@ -767,7 +766,7 @@ void SwSectionFrm::MakeAll()
bValidSize = bValidPos = bValidPrtArea = sal_True;
return;
}
- LockJoin(); //Ich lass mich nicht unterwegs vernichten.
+ LockJoin(); // I don't let myself to be destroyed on the way
while( GetNext() && GetNext() == GetFollow() )
{
@@ -792,8 +791,8 @@ void SwSectionFrm::MakeAll()
}
}
- // Ein Bereich mit Follow nimmt allen Platz bis zur Unterkante des Uppers
- // in Anspruch. Bewegt er sich, so kann seine Groesse zu- oder abnehmen...
+ // A section with Follow uses all the space until the lower edge of the
+ // Upper. If it moves, its size can grow or decrease...
if( !bValidPos && ToMaximize( sal_False ) )
bValidSize = sal_False;
@@ -1012,12 +1011,12 @@ void SwSectionFrm::CollectEndnotes( SwLayouter* pLayouter )
|*
|* SwSectionFrm::_CheckClipping( sal_Bool bGrow, sal_Bool bMaximize )
|*
-|* Beschreibung: Passt die Groesse an die Umgebung an.
-|* Wer einen Follow oder Fussnoten besitzt, soll bis zur Unterkante
-|* des Uppers gehen (bMaximize).
-|* Niemand darf ueber den Upper hinausgehen, ggf. darf man versuchen (bGrow)
-|* seinen Upper zu growen.
-|* Wenn die Groesse veraendert werden musste, wird der Inhalt kalkuliert.
+|* Description: Fits the size to the surroundings.
+|* Those that have a Follow or foot notes, have to extend until
+|* the lower edge of a upper (bMaximize)
+|* They must not extend above the Upper, as the case may be one can
+|* try to grow its upper (bGrow)
+|* If the size had to be changed, the content is calculated.
|*
|*************************************************************************/
@@ -1090,9 +1089,8 @@ void SwSectionFrm::_CheckClipping( sal_Bool bGrow, sal_Bool bMaximize )
bool bHeightChanged = bVert ?
(aOldSz.Width() != Prt().Width()) :
(aOldSz.Height() != Prt().Height());
- // Wir haben zu guter Letzt noch einmal die Hoehe geaendert,
- // dann wird das innere Layout (Columns) kalkuliert und
- // der Inhalt ebenfalls.
+ // Last but not least we have changed the height again, thus the inner
+ // layout (columns) is calculated and the content as well.
// OD 18.09.2002 #100522#
// calculate content, only if height has changed.
// OD 03.11.2003 #i19737# - restriction of content calculation too strong.
@@ -1285,13 +1283,13 @@ class ExtraFormatToPositionObjs
|*
|* SwSectionFrm::Format()
|*
-|* Beschreibung: "Formatiert" den Frame; Frm und PrtArea.
+|* Description: "formats" the frame; Frm and PrtArea
|*
|*************************************************************************/
void SwSectionFrm::Format( const SwBorderAttrs *pAttr )
{
- if( !pSection ) // Durch DelEmpty
+ if( !pSection ) // via DelEmpty
{
#ifdef DBG_UTIL
OSL_ENSURE( getRootFrm()->IsInDelList( this ), "SectionFrm without Section" );
@@ -1329,10 +1327,9 @@ void SwSectionFrm::Format( const SwBorderAttrs *pAttr )
bValidSize = sal_True;
- //die Groesse wird nur dann vom Inhalt bestimmt, wenn der SectFrm
- //keinen Follow hat. Anderfalls fuellt er immer den Upper bis
- //zur Unterkante aus. Fuer den Textfluss ist nicht er, sondern sein
- //Inhalt selbst verantwortlich.
+ // The size is only determined by the content, if the SectFrm does not have a
+ // Follow. Otherwise it fills (occupies) the Upper down to the lower edge.
+ // It is not responsible for the text flow, but the content is.
sal_Bool bMaximize = ToMaximize( sal_False );
// OD 2004-05-17 #i28701# - If the wrapping style has to be considered
@@ -1376,7 +1373,7 @@ void SwSectionFrm::Format( const SwBorderAttrs *pAttr )
bValidSize = sal_True;
}
- //Breite der Spalten pruefen und ggf. einstellen.
+ // Check the width of the columns and adjust if necessary
if ( bHasColumns && ! Lower()->GetNext() && bMaximize )
((SwColumnFrm*)Lower())->Lower()->Calc();
@@ -1417,9 +1414,8 @@ void SwSectionFrm::Format( const SwBorderAttrs *pAttr )
pFrm = ((SwLayoutFrm*)pFrm)->Lower();
CalcFtnCntnt();
}
- // Wenn wir in einem spaltigen Rahmen stehen und dieser
- // gerade im FormatWidthCols ein CalcCntnt ruft, muss
- // unser Inhalt ggf. kalkuliert werden.
+ // If we are in a columned frame which calls a CalcCntnt
+ // in the FormatWidthCols, the content might need calculating
if( pFrm && !pFrm->IsValid() && IsInFly() &&
FindFlyFrm()->IsColLocked() )
::CalcCntnt( this );
@@ -1457,10 +1453,9 @@ void SwSectionFrm::Format( const SwBorderAttrs *pAttr )
InvalidateNextPos();
if( pLower && ( !pLower->IsColumnFrm() || !pLower->GetNext() ) )
{
- // Wenn ein einspaltiger Bereich gerade den Platz geschaffen
- // hat, den sich die "undersized" Absaetze gewuenscht haben,
- // muessen diese invalidiert und kalkuliert werden, damit
- // sie diesen ausfuellen.
+ // If a single-column section just created the space that
+ // was requested by the "undersized" paragraphs, then they
+ // have to be invalidated and calculated, so they fully cover it
pFrm = pLower;
if( pFrm->IsColumnFrm() )
{
@@ -1488,8 +1483,8 @@ void SwSectionFrm::Format( const SwBorderAttrs *pAttr )
}
}
- //Unterkante des Uppers nicht ueberschreiten. Fuer Sections mit
- //Follows die Unterkante auch nicht unterschreiten.
+ // Do not exceed the lower edge of the Upper.
+ // Do not extend below the lower edge with Sections with Follows
if ( GetUpper() )
_CheckClipping( sal_True, bMaximize );
if( !bOldLock )
@@ -1498,7 +1493,7 @@ void SwSectionFrm::Format( const SwBorderAttrs *pAttr )
if( nDiff > 0 )
{
if( !GetNext() )
- SetRetouche(); // Dann muessen wir die Retusche selbst uebernehmen
+ SetRetouche(); // Take over the retouching ourselves
if( GetUpper() && !GetUpper()->IsFooterFrm() )
GetUpper()->Shrink( nDiff );
}
@@ -1511,42 +1506,42 @@ void SwSectionFrm::Format( const SwBorderAttrs *pAttr )
|*
|* SwFrm::GetNextSctLeaf()
|*
-|* Beschreibung Liefert das naechste Layoutblatt in das der Frame
-|* gemoved werden kann.
-|* Neue Seiten werden nur dann erzeugt, wenn der Parameter sal_True ist.
+|* Description: Returns the next layout sheet where the frame
+|* can be moved in.
+|* New pages are created only if the parameter sal_True is set
|*
|*************************************************************************/
SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
{
- //Achtung: Geschachtelte Bereiche werden zur Zeit nicht unterstuetzt.
+ // Attention: Nested sections are currently not supported
PROTOCOL_ENTER( this, PROT_LEAF, ACT_NEXT_SECT, GetUpper()->FindSctFrm() )
- // Abkuerzungen fuer spaltige Bereiche, wenn wir noch nicht in der letzten Spalte sind.
- // Koennen wir in die naechste Spalte des Bereichs rutschen?
+ // Shortcuts for "columned" sections, if we're not in the last column
+ // Can we slide to the next column of the section?
if( IsColBodyFrm() && GetUpper()->GetNext() )
return (SwLayoutFrm*)((SwLayoutFrm*)GetUpper()->GetNext())->Lower();
if( GetUpper()->IsColBodyFrm() && GetUpper()->GetUpper()->GetNext() )
return (SwLayoutFrm*)((SwLayoutFrm*)GetUpper()->GetUpper()->GetNext())->Lower();
- // Innerhalb von Bereichen in Tabellen oder Bereichen in Kopf/Fusszeilen kann
- // nur ein Spaltenwechsel erfolgen, eine der oberen Abkuerzungen haette zuschlagen muessen
+ // Inside a section, in tables, or sections of headers/footers, there can be only
+ // one column shift be made, one of the above shortcuts should have applied!
if( GetUpper()->IsInTab() || FindFooterOrHeader() )
return 0;
-//MA 03. Feb. 99: Warum GetUpper()? Das knallt mit Buch.sgl weil im
-//FlyAtCnt::MakeFlyPos ein Orient der SectionFrm ist und auf diesen ein
-//GetLeaf gerufen wird.
+// Why GetUpper()? This crashes sometimes, because in
+// FlyAtCnt::MakeFlyPos there is an Orient of the SectionFrm and on this a
+// GetLeaf is called
// SwSectionFrm *pSect = GetUpper()->FindSctFrm();
SwSectionFrm *pSect = FindSctFrm();
sal_Bool bWrongPage = sal_False;
OSL_ENSURE( pSect, "GetNextSctLeaf: Missing SectionFrm" );
- // Hier eine Abkuerzung fuer Bereiche mit Follows,
- // dieser kann akzeptiert werden, wenn keine Spalten oder Seiten (ausser Dummyseiten)
- // dazwischen liegen.
- // Bei verketteten Rahmen und ind Fussnoten wuerde die Abkuerzung noch aufwendiger
+ // Shortcut for sections with Follows. That's ok,
+ // if no columns or pages (except dummy pages) lie in between.
+ // In case of linked frames and in footnotes the shortcut would get
+ // even more costly
if( pSect->HasFollow() && pSect->IsInDocBody() )
{
if( pSect->GetFollow() == pSect->GetNext() )
@@ -1563,19 +1558,19 @@ SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
if( !pSect->GetUpper()->IsColBodyFrm() ||
0 == ( pTmp = pSect->GetUpper()->GetUpper()->GetNext() ) )
pTmp = pSect->FindPageFrm()->GetNext();
- if( pTmp ) // ist jetzt die naechste Spalte oder Seite
+ if( pTmp ) // is now the next column or page
{
SwFrm* pTmpX = pTmp;
if( pTmp->IsPageFrm() && ((SwPageFrm*)pTmp)->IsEmptyPage() )
- pTmp = pTmp->GetNext(); // Dummyseiten ueberspringen
+ pTmp = pTmp->GetNext(); // skip dummy pages
SwFrm *pUp = pSect->GetFollow()->GetUpper();
- // pUp wird die Spalte, wenn der Follow in einer "nicht ersten" Spalte
- // liegt, ansonsten die Seite:
+ // pUp becomes the next column if the Follow lies in a column
+ // that is not a "not first" one, otherwise the page
if( !pUp->IsColBodyFrm() ||
!( pUp = pUp->GetUpper() )->GetPrev() )
pUp = pUp->FindPageFrm();
- // Jetzt muessen pUp und pTmp die gleiche Seite/Spalte sein,
- // sonst liegen Seiten oder Spalten zwischen Master und Follow.
+ // Now pUp and pTmp have to be the same page/column, otherwise
+ // pages or columns lie between Master and Follow
if( pUp == pTmp || pUp->GetNext() == pTmpX )
{
SwPageFrm* pNxtPg = pUp->IsPageFrm() ?
@@ -1589,12 +1584,12 @@ SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
}
}
- // Immer im gleichen Bereich landen: Body wieder in Body etc.
+ // Always end up in the same section: Body again inside Body etc.
const sal_Bool bBody = IsInDocBody();
const sal_Bool bFtnPage = FindPageFrm()->IsFtnPage();
SwLayoutFrm *pLayLeaf;
- // Eine Abkuerzung fuer TabFrms, damit nicht alle Zellen abgehuehnert werden
+ // A shortcut for TabFrms such that not all cells need to be visited
if( bWrongPage )
pLayLeaf = 0;
else if( IsTabFrm() )
@@ -1612,32 +1607,31 @@ SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
}
}
- SwLayoutFrm *pOldLayLeaf = 0; //Damit bei neu erzeugten Seiten
- //nicht wieder vom Anfang gesucht
- //wird.
+ SwLayoutFrm *pOldLayLeaf = 0; // Such that in case of newly
+ // created pages, the search is
+ // not started over at the beginning
while( sal_True )
{
if( pLayLeaf )
{
- // Ein Layoutblatt wurde gefunden, mal sehen, ob er mich aufnehmen kann,
- // ob hier ein weiterer SectionFrm eingefuegt werden kann
- // oder ob wir weitersuchen muessen.
+ // A layout leaf was found, let's see whether it can store me or
+ // another SectionFrm can be inserted here, or we have to continue
+ // searching
SwPageFrm* pNxtPg = pLayLeaf->FindPageFrm();
if ( !bFtnPage && pNxtPg->IsFtnPage() )
- { //Wenn ich bei den Endnotenseiten angelangt bin hat sichs.
+ { // If I reached the end note pages it's over
pLayLeaf = 0;
continue;
}
- // Einmal InBody, immer InBody, nicht in Tabellen hinein
- // und nicht in fremde Bereiche hinein
+ // Once inBody always inBody, don't step into tables and not into other sections
if ( (bBody && !pLayLeaf->IsInDocBody()) ||
(IsInFtn() != pLayLeaf->IsInFtn() ) ||
pLayLeaf->IsInTab() ||
( pLayLeaf->IsInSct() && ( !pSect->HasFollow()
|| pSect->GetFollow() != pLayLeaf->FindSctFrm() ) ) )
{
- //Er will mich nicht; neuer Versuch, neues Glueck
+ // Rejected - try again.
pOldLayLeaf = pLayLeaf;
pLayLeaf = pLayLeaf->GetNextLayoutLeaf();
continue;
@@ -1652,15 +1646,14 @@ SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
continue;
}
}
- //Es gibt keinen passenden weiteren LayoutFrm, also muss eine
- //neue Seite her, allerdings nuetzen uns innerhalb eines Rahmens
- //neue Seiten nichts.
+ // There is no further LayoutFrm that fits, so a new page
+ // has to be created, although new pages are worthless within a frame
else if( !pSect->IsInFly() &&
( eMakePage == MAKEPAGE_APPEND || eMakePage == MAKEPAGE_INSERT ) )
{
InsertPage(pOldLayLeaf ? pOldLayLeaf->FindPageFrm() : FindPageFrm(),
sal_False );
- //und nochmal das ganze
+ // and again the whole thing
pLayLeaf = pOldLayLeaf ? pOldLayLeaf : GetNextLayoutLeaf();
continue;
}
@@ -1669,14 +1662,14 @@ SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
if( pLayLeaf )
{
- // Das passende Layoutblatt haben wir gefunden, wenn es dort bereits einen
- // Follow unseres Bereichs gibt, nehmen wir dessen erstes Layoutblatt,
- // andernfalls wird es Zeit, einen Bereichsfollow zu erzeugen
+ // We have found the suitable layout sheet. If there (in the sheet) is
+ // already a Follow of our section, we take its first layout sheet,
+ // otherwise it is time to create a section follow
SwSectionFrm* pNew;
- //Dies kann entfallen, wenn bei existierenden Follows bereits abgekuerzt wurde
+ // This can be omitted if existing Follows were cut short
SwFrm* pFirst = pLayLeaf->Lower();
- // Auch hier muessen zum Loeschen angemeldete SectionFrms ignoriert werden
+ // Here SectionFrms that are to be deleted must be ignored
while( pFirst && pFirst->IsSctFrm() && !((SwSectionFrm*)pFirst)->GetSection() )
pFirst = pFirst->GetNext();
if( pFirst && pFirst->IsSctFrm() && pSect->GetFollow() == pFirst )
@@ -1691,8 +1684,8 @@ SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
SWRECTFN( pNew )
(pNew->*fnRect->fnMakePos)( pLayLeaf, NULL, sal_True );
- // Wenn unser Bereichsframe einen Nachfolger hat, so muss dieser
- // umgehaengt werden hinter den neuen Follow der Bereichsframes.
+ // If our section frame has a successor then that has to be
+ // moved behind the new Follow of the section frames
SwFrm* pTmp = pSect->GetNext();
if( pTmp && pTmp != pSect->GetFollow() )
{
@@ -1737,7 +1730,7 @@ SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
if( pNew->GetFollow() )
pNew->SimpleFormat();
}
- // Das gesuchte Layoutblatt ist jetzt das erste des ermittelten SctFrms:
+ // The wanted layout sheet is now the first of the determined SctFrms:
pLayLeaf = FIRSTLEAF( pNew );
}
return pLayLeaf;
@@ -1747,8 +1740,8 @@ SwLayoutFrm *SwFrm::GetNextSctLeaf( MakePageType eMakePage )
|*
|* SwFrm::GetPrevSctLeaf()
|*
-|* Beschreibung Liefert das vorhergehende LayoutBlatt in das der
-|* Frame gemoved werden kann.
+|* Description Returns the preceding layout sheet where the frame
+|* can be moved into
|*
|*************************************************************************/
@@ -1758,7 +1751,7 @@ SwLayoutFrm *SwFrm::GetPrevSctLeaf( MakePageType )
PROTOCOL_ENTER( this, PROT_LEAF, ACT_PREV_SECT, GetUpper()->FindSctFrm() )
SwLayoutFrm* pCol;
- // ColumnFrm beinhalten jetzt stets einen BodyFrm
+ // ColumnFrm always contain a BodyFrm now
if( IsColBodyFrm() )
pCol = GetUpper();
else if( GetUpper()->IsColBodyFrm() )
@@ -1773,31 +1766,32 @@ SwLayoutFrm *SwFrm::GetPrevSctLeaf( MakePageType )
do
{
pCol = (SwLayoutFrm*)pCol->GetPrev();
+ // Is there any content?
// Gibt es dort Inhalt?
if( ((SwLayoutFrm*)pCol->Lower())->Lower() )
{
- if( bJump ) // Haben wir eine leere Spalte uebersprungen?
+ if( bJump ) // Did we skip a blank page?
SwFlowFrm::SetMoveBwdJump( sal_True );
- return (SwLayoutFrm*)pCol->Lower(); // Der Spaltenbody
+ return (SwLayoutFrm*)pCol->Lower(); // The columnm body
}
bJump = sal_True;
} while( pCol->GetPrev() );
- // Hier landen wir, wenn alle Spalten leer sind,
- // pCol ist jetzt die erste Spalte, wir brauchen aber den Body:
+ // We get here when all columns are empty, pCol is now the
+ // first column, we need the body though
pCol = (SwLayoutFrm*)pCol->Lower();
}
else
pCol = NULL;
}
- if( bJump ) // Haben wir eine leere Spalte uebersprungen?
+ if( bJump ) // Did we skip a blank page?
SwFlowFrm::SetMoveBwdJump( sal_True );
- // Innerhalb von Bereichen in Tabellen oder Bereichen in Kopf/Fusszeilen kann
- // nur ein Spaltenwechsel erfolgen, eine der oberen Abkuerzungen haette
- // zuschlagen muessen, ebenso wenn der Bereich einen pPrev hat.
- // Jetzt ziehen wir sogar eine leere Spalte in Betracht...
+ // Within sections in tables or section in headers/footers there can
+ // be only one column change be made, one of the above shortcuts should
+ // have applied, also when the section has a pPrev.
+ // Now we even consider an empty column...
OSL_ENSURE( FindSctFrm(), "GetNextSctLeaf: Missing SectionFrm" );
if( ( IsInTab() && !IsTabFrm() ) || FindFooterOrHeader() )
return pCol;
@@ -1822,7 +1816,7 @@ SwLayoutFrm *SwFrm::GetPrevSctLeaf( MakePageType )
SwFrm *pPrv;
if( 0 != ( pPrv = pSect->GetIndPrev() ) )
{
- // Herumlungernde, halbtote SectionFrms sollen uns nicht beirren
+ // Mooching, half dead SectionFrms shouldn't confuse us
while( pPrv && pPrv->IsSctFrm() && !((SwSectionFrm*)pPrv)->GetSection() )
pPrv = pPrv->GetPrev();
if( pPrv )
@@ -1838,7 +1832,7 @@ SwLayoutFrm *SwFrm::GetPrevSctLeaf( MakePageType )
while ( pLayLeaf )
{
- //In Tabellen oder Bereiche geht's niemals hinein.
+ // Never step into tables or sections
if ( pLayLeaf->IsInTab() || pLayLeaf->IsInSct() )
{
pLayLeaf = pLayLeaf->GetPrevLayoutLeaf();
@@ -1872,7 +1866,7 @@ SwLayoutFrm *SwFrm::GetPrevSctLeaf( MakePageType )
SwFlowFrm::SetMoveBwdJump( sal_True );
}
else if ( bFly )
- break; //Cntnts in Flys sollte jedes Layout-Blatt recht sein. Warum?
+ break; // Cntnts in Flys every layout sheet should be right. Why?
else
pLayLeaf = pLayLeaf->GetPrevLayoutLeaf();
}
@@ -1884,7 +1878,7 @@ SwLayoutFrm *SwFrm::GetPrevSctLeaf( MakePageType )
}
SwSectionFrm* pNew = NULL;
- // Zunaechst einmal an das Ende des Layoutblatts gehen
+ // At first go to the end of the layout sheet
SwFrm *pTmp = pLayLeaf->Lower();
if( pTmp )
{
@@ -1892,7 +1886,7 @@ SwLayoutFrm *SwFrm::GetPrevSctLeaf( MakePageType )
pTmp = pTmp->GetNext();
if( pTmp->IsSctFrm() )
{
- // Halbtote stoeren hier nur...
+ // Half dead ones only interfere here
while( !((SwSectionFrm*)pTmp)->GetSection() && pTmp->GetPrev() &&
pTmp->GetPrev()->IsSctFrm() )
pTmp = pTmp->GetPrev();
@@ -1909,10 +1903,10 @@ SwLayoutFrm *SwFrm::GetPrevSctLeaf( MakePageType )
(pNew->*fnRect->fnMakePos)( pLayLeaf, pNew->GetPrev(), sal_True );
pLayLeaf = FIRSTLEAF( pNew );
- if( !pNew->Lower() ) // einspaltige Bereiche formatieren
+ if( !pNew->Lower() ) // Format single column sections
{
pNew->MakePos();
- pLayLeaf->Format(); // damit die PrtArea fuers MoveBwd stimmt
+ pLayLeaf->Format(); // In order that the PrtArea is correct for the MoveBwd
}
else
pNew->SimpleFormat();
@@ -1949,7 +1943,7 @@ SwTwips lcl_DeadLine( const SwFrm* pFrm )
{
if( pUp->IsSctFrm() )
pUp = pUp->GetUpper();
- // Spalten jetzt mit BodyFrm
+ // Columns now with BodyFrm
else if( pUp->IsColBodyFrm() && pUp->GetUpper()->GetUpper()->IsSctFrm() )
pUp = pUp->GetUpper()->GetUpper();
else
@@ -1959,9 +1953,8 @@ SwTwips lcl_DeadLine( const SwFrm* pFrm )
return pUp ? (pUp->*fnRect->fnGetPrtBottom)() :
(pFrm->Frm().*fnRect->fnGetBottom)();
}
-
-// SwSectionFrm::Growable(..) prueft, ob der SectionFrm noch wachsen kann,
-// ggf. muss die Umgebung gefragt werden
+// SwSectionFrm::Growable(..) checks whether the SectionFrm is still able to
+// grow, as case may be the environment has to be asked
sal_Bool SwSectionFrm::Growable() const
{
@@ -2115,8 +2108,8 @@ SwTwips SwSectionFrm::_Shrink( SwTwips nDist, sal_Bool bTst )
if ( Lower()->IsColumnFrm() && Lower()->GetNext() && // FtnAtEnd
!GetSection()->GetFmt()->GetBalancedColumns().GetValue() )
- { //Bei Spaltigkeit ubernimmt das Format die Kontrolle ueber
- //das Wachstum (wg. des Ausgleichs).
+ { // With column bases the format takes over the control of the
+ // growth (because of the balance)
if ( !bTst )
InvalidateSize();
return nDist;
@@ -2183,23 +2176,22 @@ SwTwips SwSectionFrm::_Shrink( SwTwips nDist, sal_Bool bTst )
|*
|* SwSectionFrm::MoveAllowed()
|*
-|* Wann sind Frms innerhalb eines SectionFrms moveable?
-|* Wenn sie noch nicht in der letzten Spalte des SectionFrms sind,
-|* wenn es einen Follow gibt,
-|* wenn der SectionFrm nicht mehr wachsen kann, wird es komplizierter,
-|* dann kommt es darauf an, ob der SectionFrm ein naechstes Layoutblatt
-|* finden kann. In (spaltigen/verketteten) Flys wird dies via GetNextLayout
-|* geprueft, in Tabellen und in Kopf/Fusszeilen gibt es keins, im DocBody
-|* und auch im Fussnoten dagegen immer.
-|*
-|* Benutzt wird diese Routine im TxtFormatter, um zu entscheiden, ob ein
-|* (Absatz-)Follow erzeugt werden darf oder ob der Absatz zusammenhalten muss.
+|* When are Frms within a SectionFrms moveable?
+|* If they are not in the last column of a SectionFrms yet,
+|* if there is no Follow,
+|* if the SectionFrm cannot grow anymore, then it gets more complicated,
+|* in that case it depends on whether the SectionFrm can find a next
+|* layout sheet. In (column based/chained) Flys this is checked via
+|* GetNextLayout, in tables and headers/footers there is none, however in the
+|* DocBody and in foot notes there is always one.
+|* This routine is used in the TxtFormatter to decided whether it's allowed to
+|* create a (paragraph-)Follow or whether the paragraph has to stick together
|*
|*************************************************************************/
sal_Bool SwSectionFrm::MoveAllowed( const SwFrm* pFrm) const
{
- // Gibt es einen Follow oder ist der Frame nicht in der letzten Spalte?
+ // Is there a Follow or is the Frame not in the last column?
if( HasFollow() || ( pFrm->GetUpper()->IsColBodyFrm() &&
pFrm->GetUpper()->GetUpper()->GetNext() ) )
return sal_True;
@@ -2238,14 +2230,14 @@ sal_Bool SwSectionFrm::MoveAllowed( const SwFrm* pFrm) const
return sal_True;
}
}
- // Oder kann der Bereich noch wachsen?
+ // Or can the section still grow?
if( !IsColLocked() && Growable() )
return sal_False;
- // Jetzt muss untersucht werden, ob es ein Layoutblatt gibt, in dem
- // ein Bereichsfollow erzeugt werden kann.
+ // Now it has to be examined whether there is a layout sheet wherein
+ // a section Follow can be created
if( IsInTab() || ( !IsInDocBody() && FindFooterOrHeader() ) )
- return sal_False; // In Tabellen/Kopf/Fusszeilen geht es nicht
- if( IsInFly() ) // Bei spaltigen oder verketteten Rahmen
+ return sal_False; // It doesn't work in tables/headers/footers
+ if( IsInFly() ) // In column based or chained frames
return 0 != ((SwFrm*)GetUpper())->GetNextLeaf( MAKEPAGE_NONE );
return sal_True;
}
@@ -2303,8 +2295,8 @@ SwFrm* SwFrm::_GetIndNext()
if( pSct->IsSctFrm() )
return pSct->GetIndNext();
if( pSct->IsColBodyFrm() && (pSct = pSct->GetUpper()->GetUpper())->IsSctFrm() )
- { // Wir duerfen nur den Nachfolger des SectionFrms zurueckliefern,
- // wenn in keiner folgenden Spalte mehr Inhalt ist
+ { // We can only return the successor of the SectionFrms if there is no
+ // content in the successing columns
SwFrm* pCol = GetUpper()->GetUpper()->GetNext();
while( pCol )
{
@@ -2437,16 +2429,15 @@ void SwSectionFrm::_UpdateAttr( const SfxPoolItem *pOld, const SfxPoolItem *pNew
sal_Bool bClear = sal_True;
const sal_uInt16 nWhich = pOld ? pOld->Which() : pNew ? pNew->Which() : 0;
switch( nWhich )
- { // Mehrspaltigkeit in Fussnoten unterdruecken...
+ { // Suppress multi columns in foot notes
case RES_FMT_CHG:
{
const SwFmtCol& rNewCol = GetFmt()->GetCol();
if( !IsInFtn() )
{
- //Dummer Fall. Bei der Zuweisung einer Vorlage k?nnen wir uns
- //nicht auf das alte Spaltenattribut verlassen. Da diese
- //wenigstens anzahlgemass fuer ChgColumns vorliegen muessen,
- //bleibt uns nur einen temporaeres Attribut zu basteln.
+ // Nasty case. When allocating a template we can not count
+ // on the old column attribute. We're left with creating a
+ // temporary attribute here.
SwFmtCol aCol;
if ( Lower() && Lower()->IsColumnFrm() )
{
@@ -2623,9 +2614,10 @@ void SwSectionFrm::InvalidateFtnPos()
}
/*--------------------------------------------------
- * SwSectionFrm::Undersize() liefert den Betrag, um den der Bereich gern
- * groesser waere, wenn in ihm Undersized TxtFrms liegen, ansonsten Null.
- * Das Undersized-Flag wird ggf. korrigiert.
+ * SwSectionFrm::Undersize() returns the value that the section
+ * would like to be greater if it has undersized TxtFrms in it,
+ * otherwise Null..
+ * If necessary the undersized-flag is corrected.
* --------------------------------------------------*/
long SwSectionFrm::Undersize( sal_Bool bOverSize )
@@ -2675,18 +2667,17 @@ void SwSectionFrm::CalcFtnCntnt()
}
}
}
-
/* --------------------------------------------------
- * Wenn ein SectionFrm leerlaeuft, z.B. weil sein Inhalt die Seite/Spalte wechselt,
- * so wird er nicht sofort zerstoert (es koennte noch jemand auf dem Stack einen Pointer
- * auf ihn halten), sondern er traegt sich in eine Liste am RootFrm ein, die spaeter
- * abgearbeitet wird (in LayAction::Action u.a.). Seine Groesse wird auf Null gesetzt und
- * sein Zeiger auf seine Section ebenfalls. Solche zum Loeschen vorgesehene SectionFrms
- * muessen vom Layout/beim Formatieren ignoriert werden.
+ * If a SectionFrm gets empty, e.g. because its content changes the page/column,
+ * it is not destroyed immediately (there could be a pointer left to it on the
+ * stack), instead it puts itself in a list at the RootFrm, which is processed
+ * later on (in Layaction::Action among others). Its size is set to Null and
+ * the pointer to its page as well. Such SectionFrms that are to be deleted
+ * must be ignored by the layout/during formatting.
*
- * Mit InsertEmptySct nimmt der RootFrm einen SectionFrm in die Liste auf,
- * mit RemoveFromList kann ein SectionFrm wieder aus der Liste entfernt werden (Dtor),
- * mit DeleteEmptySct wird die Liste abgearbeitet und die SectionFrms zerstoert
+ * With InsertEmptySct the RootFrm stores a SectionFrm in the list,
+ * with RemoveFromList it can be removed from the list (Dtor),
+ * with DeleteEmptySct the list is processed and the SectionFrms are destroyed.
* --------------------------------------------------*/
void SwRootFrm::InsertEmptySct( SwSectionFrm* pDel )