fdo#39468: Translate German comments

Change-Id: I2cda597bd1ccfef1234ae818716016056f44eac2
This commit is contained in:
Philipp Riemer
2013-09-26 11:01:05 +02:00
parent 7d491bec40
commit 1043e4cb3a
4 changed files with 434 additions and 586 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -772,7 +772,7 @@ static sal_Bool lcl_UpDown( SwPaM *pPam, const SwCntntFrm *pStart,
const SwFrm *pCell = pStart->GetUpper();
while ( pCell && !pCell->IsCellFrm() )
pCell = pCell->GetUpper();
OSL_ENSURE( pCell, "Zelle nicht gefunden." );
OSL_ENSURE( pCell, "could not find the cell" );
nX = (pCell->Frm().*fnRect->fnGetLeft)() +
(pCell->Frm().*fnRect->fnGetWidth)() / 2;
@@ -973,7 +973,7 @@ sal_Bool SwCntntFrm::UnitDown( SwPaM* pPam, const SwTwips, sal_Bool bInReadOnly
*/
sal_uInt16 SwRootFrm::GetCurrPage( const SwPaM *pActualCrsr ) const
{
OSL_ENSURE( pActualCrsr, "Welche Seite soll's denn sein?" );
OSL_ENSURE( pActualCrsr, "got no page cursor" );
SwFrm const*const pActFrm = pActualCrsr->GetPoint()->nNode.GetNode().
GetCntntNode()->getLayoutFrm( this, 0,
pActualCrsr->GetPoint(),

View File

@@ -41,12 +41,7 @@
// OD 2004-05-24 #i28701#
#include <sortedobjs.hxx>
/*************************************************************************
* class SwFlyPortion
*
* Wir erwarten ein framelokales SwRect !
*************************************************************************/
// class SwFlyPortion => we expect a frame-locale SwRect!
void SwFlyPortion::Paint( const SwTxtPaintInfo& ) const
{
@@ -57,12 +52,11 @@ void SwFlyPortion::Paint( const SwTxtPaintInfo& ) const
*************************************************************************/
sal_Bool SwFlyPortion::Format( SwTxtFormatInfo &rInf )
{
OSL_ENSURE( Fix() >= rInf.X(), "SwFlyPortion::Format: rush hour" );
// 8537: Tabs muessen expandiert werden.
OSL_ENSURE( Fix() >= rInf.X(), "SwFlyPortion::Format" );
// tabs must be expanded (Bug 8537)
if( rInf.GetLastTab() )
((SwLinePortion*)rInf.GetLastTab())->FormatEOL( rInf );
// Der Glue wird aufgespannt.
rInf.GetLast()->FormatEOL( rInf );
PrtWidth( static_cast<sal_uInt16>(Fix() - rInf.X() + PrtWidth()) );
if( !Width() )
@@ -71,7 +65,7 @@ sal_Bool SwFlyPortion::Format( SwTxtFormatInfo &rInf )
Width(1);
}
// Restaurierung
// resetting
rInf.SetFly( 0 );
rInf.Width( rInf.RealWidth() );
rInf.GetParaPortion()->SetFly( sal_True );
@@ -110,9 +104,9 @@ sal_Bool SwFlyCntPortion::Format( SwTxtFormatInfo &rInf )
if( bFull )
{
// 3924: wenn die Zeile voll ist und der zeichengebundene Frame am
// Anfang der Zeile steht.
// 5157: nicht wenn einem Fly ausgewichen werden kann!
// 3924: if the line is full, and the character-bound frame is at
// the beginning of a line
// 5157: if it is not possible to side step into a Fly
// "Begin of line" criteria ( ! rInf.X() ) has to be extended.
// KerningPortions at beginning of line, e.g., for grid layout
// must be considered.
@@ -126,7 +120,7 @@ sal_Bool SwFlyCntPortion::Format( SwTxtFormatInfo &rInf )
if( nLeft == rInf.X() && ! rInf.GetFly() )
{
Width( rInf.Width() );
bFull = sal_False; // Damit Notizen noch in dieser Zeile landen
bFull = sal_False; // so that notes can still be placed in this line
}
else
{
@@ -146,11 +140,15 @@ sal_Bool SwFlyCntPortion::Format( SwTxtFormatInfo &rInf )
return bFull;
}
/*************************************************************************
* SwTxtFrm::MoveFlyInCnt() haengt jetzt die zeichengebundenen Objekte
* innerhalb des angegebenen Bereichs um, damit koennen diese vom Master
* zum Follow oder umgekehrt wandern.
*************************************************************************/
//TODO: improve documentation
/** move character-bound objects inside the given area
*
* This allows moving those objects from Master to Follow, or vice versa.
*
* @param pNew
* @param nStart
* @param nEnd
*/
void SwTxtFrm::MoveFlyInCnt( SwTxtFrm *pNew, xub_StrLen nStart, xub_StrLen nEnd )
{
SwSortedObjs *pObjs = 0L;
@@ -229,8 +227,8 @@ void SwFlyCntPortion::Paint( const SwTxtPaintInfo &rInf ) const
}
else
{
// Baseline-Ausgabe !
// 7922: Bei CompletePaint alles painten
// baseline output
// 7922: re-paint everything at a CompletePaint call
SwRect aRepaintRect( rInf.GetPaintRect() );
if ( rInf.GetTxtFrm()->IsRightToLeft() )
@@ -257,10 +255,8 @@ void SwFlyCntPortion::Paint( const SwTxtPaintInfo &rInf ) const
((SwTxtPaintInfo&)rInf).GetRefDev()->SetLayoutMode(
rInf.GetOut()->GetLayoutMode() );
// Es hilft alles nichts, im zeichengebundenen Frame kann wer weiss
// was am OutputDevice eingestellt sein, wir muessen unseren Font
// wieder hineinselektieren. Dass wir im const stehen, soll uns
// daran nicht hindern:
// As the OutputDevice might be anything, the font must be re-selected.
// Being in const method should not be a problem.
((SwTxtPaintInfo&)rInf).SelectFont();
// I want to know if this can really happen. So here comes a new
@@ -272,12 +268,7 @@ void SwFlyCntPortion::Paint( const SwTxtPaintInfo &rInf ) const
}
}
/*************************************************************************
* SwFlyCntPortion::SwFlyCntPortion()
*
* Es werden die Masze vom pFly->OutRect() eingestellt.
* Es erfolgt ein SetBase() !
*************************************************************************/
// use the dimensions of pFly->OutRect()
// OD 29.07.2003 #110978# - use new datatype for parameter <nFlags>
SwFlyCntPortion::SwFlyCntPortion( const SwTxtFrm& rFrm,
SwFlyInCntFrm *pFly, const Point &rBase,
@@ -324,15 +315,7 @@ SwFlyCntPortion::SwFlyCntPortion( const SwTxtFrm& rFrm,
SetWhichPor( POR_FLYCNT );
}
/*************************************************************************
* SwFlyCntPortion::SetBase()
*
* Nach dem Setzen des RefPoints muss der Ascent neu berechnet werden,
* da er von der RelPos abhaengt.
* pFly->GetRelPos().Y() bezeichnet die relative Position zur Baseline.
* Bei 0 liegt der obere Rand des FlyCnt auf der Baseline der Zeile.
*************************************************************************/
// after setting the RefPoints, the ascent needs to be recalculated because it is dependent on RelPos.
// OD 29.07.2003 #110978# - use new datatype for parameter <nFlags>
void SwFlyCntPortion::SetBase( const SwTxtFrm& rFrm, const Point &rBase,
long nLnAscent, long nLnDescent,
@@ -390,6 +373,8 @@ void SwFlyCntPortion::SetBase( const SwTxtFrm& rFrm, const Point &rBase,
SvLSize( aObjPositioning.GetObjBoundRectInclSpacing().SSize() );
if( Height() )
{
// GetRelPosY returns the relative position to baseline (if 0, the
// upper border of the FlyCnt if on the baseline of a line)
SwTwips nRelPos = aObjPositioning.GetRelPosY();
if ( nRelPos < 0 )
{

View File

@@ -150,7 +150,7 @@ static bool lcl_LineToSvxLine(const table::BorderLine& rLine, SvxBorderLine& rSv
static void lcl_SetSpecialProperty(SwFrmFmt* pFmt, const SfxItemPropertySimpleEntry* pEntry, const uno::Any& aValue)
throw (lang::IllegalArgumentException)
{
//Sonderbehandlung fuer "Nicht-Items"
// special treatment for "non-items"
switch(pEntry->nWID)
{
case FN_TABLE_HEADLINE_REPEAT:
@@ -722,7 +722,7 @@ void sw_setValue( SwXCell &rCell, double nVal )
{
if(rCell.IsValid())
{
// Der Text mu? zunaechst (vielleicht) geloescht werden
// first this text (maybe) needs to be deleted
sal_uLong nNdPos = rCell.pBox->IsValidNumTxtNd( sal_True );
if(ULONG_MAX != nNdPos)
sw_setString( rCell, OUString(), sal_True ); // sal_True == keep number format
@@ -746,7 +746,7 @@ void sw_setValue( SwXCell &rCell, double nVal )
SwTblBoxValue aVal(nVal);
aSet.Put(aVal);
pDoc->SetTblBoxFormulaAttrs( *rCell.pBox, aSet );
//Tabelle aktualisieren
// update table
SwTableFmlUpdate aTblUpdate( SwTable::FindTable( rCell.GetFrmFmt() ));
pDoc->UpdateTblFlds( &aTblUpdate );
}
@@ -912,7 +912,7 @@ void SwXCell::setFormula(const OUString& rFormula) throw( uno::RuntimeException
SolarMutexGuard aGuard;
if(IsValid())
{
// Der Text mu? zunaechst (vielleicht) geloescht werden
// first this text (maybe) needs to be deleted
sal_uInt32 nNdPos = pBox->IsValidNumTxtNd( sal_True );
if(USHRT_MAX == nNdPos)
sw_setString( *this, OUString(), sal_True );
@@ -932,7 +932,7 @@ void SwXCell::setFormula(const OUString& rFormula) throw( uno::RuntimeException
}
aSet.Put(aFml);
GetDoc()->SetTblBoxFormulaAttrs( *pBox, aSet );
//Tabelle aktualisieren
// update table
SwTableFmlUpdate aTblUpdate( SwTable::FindTable( GetFrmFmt() ));
pMyDoc->UpdateTblFlds( &aTblUpdate );
}
@@ -1228,7 +1228,7 @@ SwXCell* SwXCell::CreateXCell(SwFrmFmt* pTblFmt, SwTableBox* pBox, SwTable *pTab
pTable = SwTable::FindTable( pTblFmt );
SwTableSortBoxes::const_iterator it = pTable->GetTabSortBoxes().find( pBox );
//wenn es die Box gibt, dann wird auch eine Zelle zurueckgegeben
// if the box exists, then return a cell
if( it != pTable->GetTabSortBoxes().end() )
{
size_t const nPos = it - pTable->GetTabSortBoxes().begin();
@@ -1236,12 +1236,12 @@ SwXCell* SwXCell::CreateXCell(SwFrmFmt* pTblFmt, SwTableBox* pBox, SwTable *pTab
SwXCell* pXCell = aIter.First();
while( pXCell )
{
// gibt es eine passende Zelle bereits?
// is there already a proper cell?
if(pXCell->GetTblBox() == pBox)
break;
pXCell = aIter.Next();
}
//sonst anlegen
// otherwise create it
if(!pXCell)
{
pXCell = new SwXCell(pTblFmt, pBox, nPos);
@@ -2249,7 +2249,7 @@ uno::Sequence< OUString > SwXTextTable::getCellNames(void) throw( uno::RuntimeEx
if(pFmt)
{
SwTable* pTable = SwTable::FindTable( pFmt );
// gibts an der Tabelle und an allen Boxen
// exists at the table and at all boxes
SwTableLines& rTblLines = pTable->GetTabLines();
std::vector<OUString*> aAllNames;
lcl_InspectLines(rTblLines, aAllNames);
@@ -2319,7 +2319,7 @@ void SwXTextTable::attachToRange(const uno::Reference< text::XTextRange > & xTex
{
pDoc->SplitNode(*aPam.Start(), false );
}
//TODO: wenn es der letzte Absatz ist, dann muss noch ein Absatz angehaengt werden!
//TODO: if it is the last paragraph than add another one!
if( aPam.HasMark() )
{
pDoc->DeleteAndJoin(aPam);
@@ -2332,7 +2332,7 @@ void SwXTextTable::attachToRange(const uno::Reference< text::XTextRange > & xTex
text::HoriOrientation::FULL );
if(pTable)
{
// hier muessen die Properties des Descriptors ausgewertet werden
// here, the properties of the descriptor need to be analyzed
pTableProps->ApplyTblAttr(*pTable, *pDoc);
SwFrmFmt* pTblFmt = pTable->GetFrmFmt();
lcl_FormatTable( pTblFmt );
@@ -2427,7 +2427,7 @@ uno::Reference< table::XCell > SwXTextTable::getCellByPosition(sal_Int32 nColum
SolarMutexGuard aGuard;
uno::Reference< table::XCell > aRef;
SwFrmFmt* pFmt = GetFrmFmt();
// Sheet interessiert nicht
// sheet is unimportant
if(nColumn >= 0 && nRow >= 0 && nColumn < USHRT_MAX && nRow < USHRT_MAX && pFmt)
{
SwXCell* pXCell = lcl_CreateXCell(pFmt, nColumn, nRow);
@@ -2451,11 +2451,11 @@ uno::Reference< table::XCellRange > SwXTextTable::GetRangeByName(SwFrmFmt* pFmt
const SwTableBox* pTLBox = pTable->GetTblBox( sTLName );
if(pTLBox)
{
// hier muessen die Actions aufgehoben werden
// invalidate all actions
UnoActionRemoveContext aRemoveContext(pFmt->GetDoc());
const SwStartNode* pSttNd = pTLBox->GetSttNd();
SwPosition aPos(*pSttNd);
// Cursor in die obere linke Zelle des Ranges setzen
// set cursor to the upper-left cell of the range
SwUnoCrsr* pUnoCrsr = pFmt->GetDoc()->CreateUnoCrsr(aPos, true);
pUnoCrsr->Move( fnMoveForward, fnGoNode );
pUnoCrsr->SetRemainInSection( sal_False );
@@ -2467,7 +2467,7 @@ uno::Reference< table::XCellRange > SwXTextTable::GetRangeByName(SwFrmFmt* pFmt
pUnoCrsr->Move( fnMoveForward, fnGoNode );
SwUnoTableCrsr* pCrsr = dynamic_cast<SwUnoTableCrsr*>(pUnoCrsr);
pCrsr->MakeBoxSels();
// pUnoCrsr wird uebergeben und nicht geloescht
// pUnoCrsr will be provided and will not be deleted
SwXCellRange* pCellRange = new SwXCellRange(pUnoCrsr, *pFmt, rDesc);
aRef = pCellRange;
}
@@ -2797,7 +2797,7 @@ uno::Sequence< OUString > SwXTextTable::getRowDescriptions(void) throw( uno::Run
}
else
{
OSL_FAIL("Wo kommen die Labels her?");
OSL_FAIL("Where do these labels come from?");
}
}
else
@@ -2833,7 +2833,7 @@ void SwXTextTable::setRowDescriptions(const uno::Sequence< OUString >& rRowDesc)
}
else
{
OSL_FAIL("Wohin mit den Labels?");
OSL_FAIL("Where to put theses labels?");
}
}
else
@@ -2873,7 +2873,7 @@ uno::Sequence< OUString > SwXTextTable::getColumnDescriptions(void)
}
else
{
OSL_FAIL("Wo kommen die Labels her?");
OSL_FAIL("Where do these labels come from?");
}
}
else
@@ -2911,7 +2911,7 @@ void SwXTextTable::setColumnDescriptions(const uno::Sequence< OUString >& rColum
}
else
{
OSL_FAIL("Wo kommen die Labels her?");
OSL_FAIL("Where do these labels come from?");
}
}
else
@@ -3136,8 +3136,7 @@ void SwXTextTable::setPropertyValue(const OUString& rPropertyName,
SwTable* pTable = SwTable::FindTable( pFmt );
SwTableLines &rLines = pTable->GetTabLines();
// hier muessen die Actions aufgehoben werden
// invalidate all actions
UnoActionRemoveContext aRemoveContext(pDoc);
const SwTableBox* pTLBox = lcl_FindCornerTableBox(rLines, true);
const SwStartNode* pSttNd = pTLBox->GetSttNd();
@@ -3324,7 +3323,7 @@ uno::Any SwXTextTable::getPropertyValue(const OUString& rPropertyName) throw( be
SwTable* pTable = SwTable::FindTable( pFmt );
SwTableLines &rLines = pTable->GetTabLines();
// hier muessen die Actions aufgehoben werden
// invalidate all actions
UnoActionRemoveContext aRemoveContext(pDoc);
const SwTableBox* pTLBox = lcl_FindCornerTableBox(rLines, true);
const SwStartNode* pSttNd = pTLBox->GetSttNd();
@@ -3776,11 +3775,11 @@ uno::Reference< table::XCellRange > SwXCellRange::getCellRangeByPosition(
const SwTableBox* pTLBox = pTable->GetTblBox( sTLName );
if(pTLBox)
{
// hier muessen die Actions aufgehoben
// invalidate all actions
UnoActionRemoveContext aRemoveContext(pFmt->GetDoc());
const SwStartNode* pSttNd = pTLBox->GetSttNd();
SwPosition aPos(*pSttNd);
// Cursor in die obere linke Zelle des Ranges setzen
// set cursor in the upper-left cell of the range
SwUnoCrsr* pUnoCrsr = pFmt->GetDoc()->CreateUnoCrsr(aPos, true);
pUnoCrsr->Move( fnMoveForward, fnGoNode );
pUnoCrsr->SetRemainInSection( sal_False );
@@ -3792,7 +3791,7 @@ uno::Reference< table::XCellRange > SwXCellRange::getCellRangeByPosition(
pUnoCrsr->Move( fnMoveForward, fnGoNode );
SwUnoTableCrsr* pCrsr = dynamic_cast<SwUnoTableCrsr*>(pUnoCrsr);
pCrsr->MakeBoxSels();
// pUnoCrsr wird uebergeben und nicht geloescht
// pUnoCrsr will be provided and will not be deleted
SwXCellRange* pCellRange = new SwXCellRange(pUnoCrsr, *pFmt, aNewDesc);
aRet = pCellRange;
}
@@ -3987,7 +3986,6 @@ uno::Any SwXCellRange::getPropertyValue(const OUString& rPropertyName) throw( be
}
break;
case RES_BOXATR_FORMAT:
//GetAttr fuer Tabellenselektion am Doc fehlt noch
OSL_FAIL("not implemented");
break;
case FN_UNO_PARA_STYLE:
@@ -4019,7 +4017,7 @@ uno::Any SwXCellRange::getPropertyValue(const OUString& rPropertyName) throw( be
RES_TXTATR_UNKNOWN_CONTAINER, RES_TXTATR_UNKNOWN_CONTAINER,
RES_UNKNOWNATR_CONTAINER, RES_UNKNOWNATR_CONTAINER,
0L);
// erstmal die Attribute des Cursors
// first look at the attributes of the cursor
SwUnoTableCrsr* pCrsr = dynamic_cast<SwUnoTableCrsr*>(pTblCrsr);
SwUnoCursorHelper::GetCrsrAttr(pCrsr->GetSelRing(), aSet);
m_pPropSet->getPropertyValue(*pEntry, aSet, aRet);
@@ -4438,7 +4436,7 @@ uno::Sequence< OUString > SwXCellRange::getRowDescriptions(void)
}
else
{
OSL_FAIL("Wo kommen die Labels her?");
OSL_FAIL("Where do these labels come from?");
}
}
else
@@ -4475,7 +4473,7 @@ void SwXCellRange::setRowDescriptions(const uno::Sequence< OUString >& rRowDesc)
}
else
{
OSL_FAIL("Wohin mit den Labels?");
OSL_FAIL("Where to put theses labels?");
}
}
}
@@ -4512,7 +4510,7 @@ uno::Sequence< OUString > SwXCellRange::getColumnDescriptions(void)
}
else
{
OSL_FAIL("Wo kommen die Labels her?");
OSL_FAIL("Where do these labels come from?");
}
}
else
@@ -4546,7 +4544,7 @@ void SwXCellRange::setColumnDescriptions(const uno::Sequence< OUString >& Column
}
else
{
OSL_FAIL("Wo kommen die Labels her?");
OSL_FAIL("Where to put theses labels?");
}
}
}
@@ -4707,12 +4705,12 @@ uno::Any SwXTableRows::getByIndex(sal_Int32 nIndex)
SwXTextTableRow* pXRow = aIter.First();
while( pXRow )
{
// gibt es eine passende Zelle bereits?
// is there already a proper cell?
if(pXRow->GetTblRow() == pLine)
break;
pXRow = aIter.Next();
}
//sonst anlegen
// otherwise create it
if(!pXRow)
pXRow = new SwXTextTableRow(pFrmFmt, pLine);
uno::Reference< beans::XPropertySet > xRet =
@@ -4736,7 +4734,7 @@ sal_Bool SwXTableRows::hasElements(void) throw( uno::RuntimeException )
SwFrmFmt* pFrmFmt = GetFrmFmt();
if(!pFrmFmt)
throw uno::RuntimeException();
//es gibt keine Tabelle ohne Zeilen
// a table always has rows
return sal_True;
}
@@ -4767,7 +4765,7 @@ void SwXTableRows::insertByIndex(sal_Int32 nIndex, sal_Int32 nCount) throw( uno:
if(!pTLBox)
{
bAppend = true;
// am Ende anfuegen, dazu muss der Cursor in die letzte Zeile!
// to append at the end the cursor must be in the last line
SwTableLines& rLines = pTable->GetTabLines();
SwTableLine* pLine = rLines.back();
SwTableBoxes& rBoxes = pLine->GetTabBoxes();
@@ -4777,7 +4775,7 @@ void SwXTableRows::insertByIndex(sal_Int32 nIndex, sal_Int32 nCount) throw( uno:
{
const SwStartNode* pSttNd = pTLBox->GetSttNd();
SwPosition aPos(*pSttNd);
// Cursor in die obere linke Zelle des Ranges setzen
// set cursor to the upper-left cell of the range
UnoActionContext aAction(pFrmFmt->GetDoc());
SwUnoCrsr* pUnoCrsr = pFrmFmt->GetDoc()->CreateUnoCrsr(aPos, true);
pUnoCrsr->Move( fnMoveForward, fnGoNode );
@@ -4813,12 +4811,12 @@ void SwXTableRows::removeByIndex(sal_Int32 nIndex, sal_Int32 nCount) throw( uno:
if(pTLBox)
{
{
// hier muessen die Actions aufgehoben werden
// invalidate all actions
UnoActionRemoveContext aRemoveContext(pFrmFmt->GetDoc());
}
const SwStartNode* pSttNd = pTLBox->GetSttNd();
SwPosition aPos(*pSttNd);
// Cursor in die obere linke Zelle des Ranges setzen
// set cursor to the upper-left cell of the range
SwUnoCrsr* pUnoCrsr = pFrmFmt->GetDoc()->CreateUnoCrsr(aPos, true);
pUnoCrsr->Move( fnMoveForward, fnGoNode );
pUnoCrsr->SetRemainInSection( sal_False );
@@ -4832,14 +4830,14 @@ void SwXTableRows::removeByIndex(sal_Int32 nIndex, sal_Int32 nCount) throw( uno:
SwUnoTableCrsr* pCrsr =
dynamic_cast<SwUnoTableCrsr*>(pUnoCrsr);
pCrsr->MakeBoxSels();
{ // Die Klammer ist wichtig
{ // these braces are important
UnoActionContext aAction(pFrmFmt->GetDoc());
pFrmFmt->GetDoc()->DeleteRow(*pUnoCrsr);
delete pUnoCrsr;
bSuccess = true;
}
{
// hier muessen die Actions aufgehoben werden
// invalidate all actions
UnoActionRemoveContext aRemoveContext(pFrmFmt->GetDoc());
}
}
@@ -4979,7 +4977,7 @@ void SwXTableColumns::insertByIndex(sal_Int32 nIndex, sal_Int32 nCount) throw( u
if(!pTLBox)
{
bAppend = true;
// am Ende anfuegen, dazu muss der Cursor in die letzte Spalte!
// to append at the end the cursor must be in the last line
SwTableBoxes& rBoxes = pLine->GetTabBoxes();
pTLBox = rBoxes.back();
}
@@ -5022,12 +5020,12 @@ void SwXTableColumns::removeByIndex(sal_Int32 nIndex, sal_Int32 nCount) throw( u
if(pTLBox)
{
{
// hier muessen die Actions aufgehoben werden
// invalidate all actions
UnoActionRemoveContext aRemoveContext(pFrmFmt->GetDoc());
}
const SwStartNode* pSttNd = pTLBox->GetSttNd();
SwPosition aPos(*pSttNd);
// Cursor in die obere linke Zelle des Ranges setzen
// set cursor to the upper-left cell of the range
SwUnoCrsr* pUnoCrsr = pFrmFmt->GetDoc()->CreateUnoCrsr(aPos, true);
pUnoCrsr->Move( fnMoveForward, fnGoNode );
pUnoCrsr->SetRemainInSection( sal_False );
@@ -5041,14 +5039,14 @@ void SwXTableColumns::removeByIndex(sal_Int32 nIndex, sal_Int32 nCount) throw( u
SwUnoTableCrsr* pCrsr =
dynamic_cast<SwUnoTableCrsr*>(pUnoCrsr);
pCrsr->MakeBoxSels();
{ // Die Klammer ist wichtig
{ // these braces are important
UnoActionContext aAction(pFrmFmt->GetDoc());
pFrmFmt->GetDoc()->DeleteCol(*pUnoCrsr);
delete pUnoCrsr;
bSuccess = true;
}
{
// hier muessen die Actions aufgehoben werden
// invalidate all actions
UnoActionRemoveContext aRemoveContext(pFrmFmt->GetDoc());
}
}