dbaccess/source/core/api/SingleSelectQueryComposer.cxx | 30 +- sw/source/core/text/frmcrsr.cxx | 179 ++++++++--------- sw/source/core/text/itratr.hxx | 24 +- sw/source/core/text/noteurl.cxx | 2 sw/source/core/text/pordrop.hxx | 18 - sw/source/core/text/porfly.hxx | 6 sw/source/core/text/porftn.hxx | 6 sw/source/core/text/porglue.hxx | 4 sw/source/core/text/porref.cxx | 4 sw/source/core/text/portab.hxx | 2 sw/source/core/text/portox.cxx | 6 sw/source/core/text/portxt.cxx | 51 ++-- sw/source/core/text/portxt.hxx | 4 sw/source/core/text/possiz.hxx | 2 sw/source/core/text/txtinit.cxx | 27 +- sw/source/core/text/widorp.hxx | 10 16 files changed, 179 insertions(+), 196 deletions(-)
New commits: commit 0987fc044ccc73dcb2f4daadc9e08322687a0663 Author: Philipp Weissenbacher <p.weissenbac...@gmail.com> Date: Wed Mar 28 17:24:08 2012 +0200 Translate German comments diff --git a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx index 4133630..4a72dbd 100644 --- a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx +++ b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx @@ -505,8 +505,8 @@ void SAL_CALL OSingleSelectQueryComposer::appendFilterByColumn( const Reference< throw SQLException(sError,*this,SQLSTATE_GENERAL,1000,Any() ); } - // filter anhaengen - // select ohne where und order by aufbauen + // Attach filter + // Construct SELECT without WHERE and ORDER BY ::rtl::OUString aQuote = m_xMetaData->getIdentifierQuoteString(); if ( m_aCurrentColumns[SelectColumns]->hasByName(aName) ) { @@ -978,22 +978,22 @@ sal_Bool OSingleSelectQueryComposer::setORCriteria(OSQLParseNode* pCondition, OS ::std::vector< ::std::vector < PropertyValue > >& rFilters, const Reference< ::com::sun::star::util::XNumberFormatter > & xFormatter) const { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaccess", "ocke.jans...@sun.com", "OSingleSelectQueryComposer::setORCriteria" ); - // Runde Klammern um den Ausdruck + // Round brackets around the expression if (pCondition->count() == 3 && SQL_ISPUNCTUATION(pCondition->getChild(0),"(") && SQL_ISPUNCTUATION(pCondition->getChild(2),")")) { return setORCriteria(pCondition->getChild(1), _rIterator, rFilters, xFormatter); } - // oder Verknuepfung + // OR logic expression // a searchcondition can only look like this: search_condition SQL_TOKEN_OR boolean_term else if (SQL_ISRULE(pCondition,search_condition)) { sal_Bool bResult = sal_True; for (int i = 0; bResult && i < 3; i+=2) { - // Ist das erste Element wieder eine OR-Verknuepfung? - // Dann rekursiv absteigen ... + // Is the first element a OR logic expression again? + // Then descend recursively ... if (SQL_ISRULE(pCondition->getChild(i),search_condition)) bResult = setORCriteria(pCondition->getChild(i), _rIterator, rFilters, xFormatter); else @@ -1015,14 +1015,14 @@ sal_Bool OSingleSelectQueryComposer::setANDCriteria( OSQLParseNode * pCondition, OSQLParseTreeIterator& _rIterator, ::std::vector < PropertyValue >& rFilter, const Reference< XNumberFormatter > & xFormatter) const { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaccess", "ocke.jans...@sun.com", "OSingleSelectQueryComposer::setANDCriteria" ); - // Runde Klammern + // Round brackets if (SQL_ISRULE(pCondition,boolean_primary)) { // this should not occur OSL_FAIL("boolean_primary in And-Criteria"); return sal_False; } - // Das erste Element ist (wieder) eine AND-Verknuepfung + // The first element is an AND logical expression again else if ( SQL_ISRULE(pCondition,boolean_term) && pCondition->count() == 3 ) { return setANDCriteria(pCondition->getChild(0), _rIterator, rFilter, xFormatter) && @@ -1227,7 +1227,7 @@ sal_Bool OSingleSelectQueryComposer::setComparsionPredicate(OSQLParseNode * pCon aItem.Handle = getPredicateType(pCondition->getChild(1)); rFilter.push_back(aItem); } - else // kann sich nur um einen Expr. Ausdruck handeln + else // Can only be an expression { PropertyValue aItem; ::rtl::OUString aName, aValue; @@ -1235,12 +1235,12 @@ sal_Bool OSingleSelectQueryComposer::setComparsionPredicate(OSQLParseNode * pCon OSQLParseNode *pLhs = pCondition->getChild(0); OSQLParseNode *pRhs = pCondition->getChild(2); - // Feldnamen + // Field names sal_uInt16 i; for (i=0;i< pLhs->count();i++) pLhs->getChild(i)->parseNodeToPredicateStr( aName, m_xConnection, xFormatter, m_aLocale, static_cast<sal_Char>( m_sDecimalSep.toChar() ) ); - // Kriterium + // Criterion aItem.Handle = getPredicateType(pCondition->getChild(1)); aValue = pCondition->getChild(1)->getTokenValue(); for(i=0;i< pRhs->count();i++) @@ -1253,7 +1253,7 @@ sal_Bool OSingleSelectQueryComposer::setComparsionPredicate(OSQLParseNode * pCon return sal_True; } -// functions for analysing SQL +// Functions for analysing SQL ::rtl::OUString OSingleSelectQueryComposer::getColumnName( ::connectivity::OSQLParseNode* pColumnRef, OSQLParseTreeIterator& _rIterator ) const { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbaccess", "ocke.jans...@sun.com", "OSingleSelectQueryComposer::getColumnName" ); @@ -1572,7 +1572,7 @@ void OSingleSelectQueryComposer::setConditionByColumn( const Reference< XPropert m_aCurrentColumns[SelectColumns]->getByName(aName) >>= xColumn; OSL_ENSURE(xColumn->getPropertySetInfo()->hasPropertyByName(PROPERTY_REALNAME),"Property REALNAME not available!"); OSL_ENSURE(xColumn->getPropertySetInfo()->hasPropertyByName(PROPERTY_TABLENAME),"Property TABLENAME not available!"); - OSL_ENSURE(xColumn->getPropertySetInfo()->hasPropertyByName(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AggregateFunction"))),"Property AggregateFunctionnot available!"); + OSL_ENSURE(xColumn->getPropertySetInfo()->hasPropertyByName(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AggregateFunction"))),"Property AggregateFunction not available!"); ::rtl::OUString sRealName,sTableName; xColumn->getPropertyValue(PROPERTY_REALNAME) >>= sRealName; @@ -1689,8 +1689,8 @@ void OSingleSelectQueryComposer::setConditionByColumn( const Reference< XPropert lcl_addFilterCriteria_throw(nFilterOp,sEmpty,aSQL); } - // filter anhaengen - // select ohne where und order by aufbauen + // Attach filter + // Construct SELECT without WHERE and ORDER BY ::rtl::OUString sFilter = getFilter(); if ( !sFilter.isEmpty() && aSQL.getLength() ) diff --git a/sw/source/core/text/itratr.hxx b/sw/source/core/text/itratr.hxx index d850112..1dfafbb 100644 --- a/sw/source/core/text/itratr.hxx +++ b/sw/source/core/text/itratr.hxx @@ -58,7 +58,7 @@ protected: ViewShell *pShell; SwFont *pFnt; SwpHints *pHints; - const SwAttrSet* pAttrSet; // das Char-Attribut-Set + const SwAttrSet* pAttrSet; // The char attribute set SwScriptInfo* pScriptInfo; private: @@ -83,7 +83,7 @@ protected: } public: - // Konstruktor, Destruktor + // Constructor, destructor inline SwAttrIter( SwTxtNode& rTxtNode, SwScriptInfo& rScrInf ) : pShell(0), pFnt(0), pHints(0), pScriptInfo(0), pLastOut(0), nChgCnt(0), pRedln(0),nPropFont(0), m_pTxtNode(&rTxtNode) { CtorInitAttrIter( rTxtNode, rScrInf ); } @@ -91,25 +91,25 @@ public: virtual ~SwAttrIter(); inline SwRedlineItr *GetRedln() { return pRedln; } - // Liefert im Parameter die Position des naechsten Wechsels vor oder an - // der uebergebenen Characterposition zurueck. Liefert sal_False, wenn vor - // oder an dieser Position kein Wechsel mehr erfolgt, sal_True sonst. + // The parameter returns the position of the next change before or at the + // char position. + // Returns sal_False, if there's no change before or at the positon, + // else sal_True. xub_StrLen GetNextAttr( ) const; - // Macht die an der Characterposition i gueltigen Attribute im - // logischen Font wirksam. + // Enables the attributes used at char pos nPos in the logical font sal_Bool Seek( const xub_StrLen nPos ); - // Bastelt den Font an der gew. Position via Seek und fragt ihn, - // ob er ein Symbolfont ist. + // Creates the font at the specified position via Seek() and checks + // if it's a symbol font. sal_Bool IsSymbol( const xub_StrLen nPos ); - // Fuehrt ChgPhysFnt aus, wenn Seek() sal_True zurueckliefert. + // Executes ChgPhysFnt if Seek() returns sal_True sal_Bool SeekAndChgAttrIter( const xub_StrLen nPos, OutputDevice* pOut ); sal_Bool SeekStartAndChgAttrIter( OutputDevice* pOut, const sal_Bool bParaFont = sal_False ); - // Gibt es ueberhaupt Attributwechsel ? + // Do we have an attribute change at all? inline sal_Bool HasHints() const { return 0 != pHints; } - // liefert fuer eine Position das Attribut + // Returns the attribute for a position SwTxtAttr *GetAttr( const xub_StrLen nPos ) const; inline const SwAttrSet* GetAttrSet() const { return pAttrSet; } diff --git a/sw/source/core/text/noteurl.cxx b/sw/source/core/text/noteurl.cxx index 71003e9..8a08e09 100644 --- a/sw/source/core/text/noteurl.cxx +++ b/sw/source/core/text/noteurl.cxx @@ -37,7 +37,7 @@ #include "txttypes.hxx" #include "noteurl.hxx" -// globale Variable, wird in noteurl.Hxx bekanntgegeben +// Global variable SwNoteURL *pNoteURL = NULL; SV_IMPL_PTRARR( SwURLNoteList, SwURLNotePtr ) diff --git a/sw/source/core/text/pordrop.hxx b/sw/source/core/text/pordrop.hxx index 41179f5..9b463a7 100644 --- a/sw/source/core/text/pordrop.hxx +++ b/sw/source/core/text/pordrop.hxx @@ -32,7 +32,7 @@ class SwFont; -// DropCap-Cache, globale Variable, in txtinit.cxx initialisiert/zerstoert +// DropCap cache, global variable initialized/destroyed in txtinit.cxx // und in txtdrop.cxx benutzt bei der Initialenberechnung class SwDropCapCache; @@ -72,14 +72,14 @@ public: class SwDropPortion : public SwTxtPortion { friend class SwDropCapCache; - SwDropPortionPart* pPart; // due to script / attribute changes - MSHORT nLines; // Anzahl der Zeilen - KSHORT nDropHeight; // Hoehe - KSHORT nDropDescent; // Abstand zur naechsten Zeile - KSHORT nDistance; // Abstand zum Text - KSHORT nFix; // Fixposition - short nX; // X-PaintOffset - short nY; // Y-Offset + SwDropPortionPart* pPart; // due to script/attribute changes + MSHORT nLines; // Line count + KSHORT nDropHeight; // Height + KSHORT nDropDescent; // Distance to the next line + KSHORT nDistance; // Distance to the text + KSHORT nFix; // Fixed position + short nX; // X PaintOffset + short nY; // Y Offset sal_Bool FormatTxt( SwTxtFormatInfo &rInf ); void PaintTxt( const SwTxtPaintInfo &rInf ) const; diff --git a/sw/source/core/text/porfly.hxx b/sw/source/core/text/porfly.hxx index ed2a7d5..2f211cc 100644 --- a/sw/source/core/text/porfly.hxx +++ b/sw/source/core/text/porfly.hxx @@ -61,10 +61,10 @@ public: class SwFlyCntPortion : public SwLinePortion { void *pContact; // bDraw ? DrawContact : FlyInCntFrm - Point aRef; // Relativ zu diesem Point wird die AbsPos berechnet. + Point aRef; // Relatively to this point we calculate the AbsPos sal_Bool bDraw : 1; // DrawContact? - sal_Bool bMax : 1; // Zeilenausrichtung und Hoehe == Zeilenhoehe - sal_uInt8 nAlign : 3; // Zeilenausrichtung? Nein, oben, mitte, unten + sal_Bool bMax : 1; // Line adjustment and height == line height + sal_uInt8 nAlign : 3; // Line adjustment? No, above, middle, bottom virtual xub_StrLen GetCrsrOfst( const KSHORT nOfst ) const; public: diff --git a/sw/source/core/text/porftn.hxx b/sw/source/core/text/porftn.hxx index 9bd2b87..ed73693 100644 --- a/sw/source/core/text/porftn.hxx +++ b/sw/source/core/text/porftn.hxx @@ -39,7 +39,7 @@ class SwTxtFtn; class SwFtnPortion : public SwFldPortion { - SwTxtFrm *pFrm; // um im Dtor RemoveFtn rufen zu koennen. + SwTxtFrm *pFrm; // To be able to call RemoveFtn in the dtor SwTxtFtn *pFtn; KSHORT nOrigHeight; // #i98418# @@ -93,7 +93,7 @@ public: inline const XubString &GetQuoTxt() const { return aExpand; } inline const XubString &GetContTxt() const { return aErgo; } - // Felder-Cloner fuer SplitGlue + // Field cloner for SplitGlue virtual SwFldPortion *Clone( const XubString &rExpand ) const; // Accessibility: pass information about this portion to the PortionHandler @@ -113,7 +113,7 @@ public: virtual xub_StrLen GetCrsrOfst( const KSHORT nOfst ) const; virtual sal_Bool Format( SwTxtFormatInfo &rInf ); - // Felder-Cloner fuer SplitGlue + // Field cloner for SplitGlue virtual SwFldPortion *Clone( const XubString &rExpand ) const; OUTPUT_OPERATOR }; diff --git a/sw/source/core/text/porglue.hxx b/sw/source/core/text/porglue.hxx index a498c46..c59cf4b 100644 --- a/sw/source/core/text/porglue.hxx +++ b/sw/source/core/text/porglue.hxx @@ -67,7 +67,7 @@ public: class SwFixPortion : public SwGluePortion { - KSHORT nFix; // der Width-Offset in der Zeile + KSHORT nFix; // The width offset in the line public: SwFixPortion( const SwRect &rFlyRect ); SwFixPortion( const KSHORT nFixWidth, const KSHORT nFixPos ); @@ -97,7 +97,7 @@ inline short SwGluePortion::GetPrtGlue() const /************************************************************************* * inline SwGluePortion::AdjFixWidth() - * Die FixWidth darf niemals groesser sein als die Gesamtbreite ! + * The FixWidth MUST NEVER be larger than the accumulated width! *************************************************************************/ inline void SwGluePortion::AdjFixWidth() diff --git a/sw/source/core/text/porref.cxx b/sw/source/core/text/porref.cxx index 376600f..0a94c07 100644 --- a/sw/source/core/text/porref.cxx +++ b/sw/source/core/text/porref.cxx @@ -65,8 +65,8 @@ SwIsoRefPortion::SwIsoRefPortion() : nViewWidth(0) KSHORT SwIsoRefPortion::GetViewWidth( const SwTxtSizeInfo &rInf ) const { - // Wir stehen zwar im const, aber nViewWidth sollte erst im letzten - // Moment errechnet werden: + // Although we are const, nViewWidth should be calculated in the last + // moment possible SwIsoRefPortion* pThis = (SwIsoRefPortion*)this; if( !Width() && rInf.OnWin() && SwViewOption::IsFieldShadings() && !rInf.GetOpt().IsReadonly() && !rInf.GetOpt().IsPagePreview() ) diff --git a/sw/source/core/text/portab.hxx b/sw/source/core/text/portab.hxx index bb5fe9d..7159c60 100644 --- a/sw/source/core/text/portab.hxx +++ b/sw/source/core/text/portab.hxx @@ -40,7 +40,7 @@ class SwTabPortion : public SwFixPortion const xub_Unicode cFill; const bool bAutoTabStop; - // Das Format() verzweigt entweder in Pre- oder PostFormat() + // Format() branches either into PreFormat() or PostFormat() sal_Bool PreFormat( SwTxtFormatInfo &rInf ); public: SwTabPortion( const KSHORT nTabPos, const xub_Unicode cFill = '\0', const bool bAutoTab = true ); diff --git a/sw/source/core/text/portox.cxx b/sw/source/core/text/portox.cxx index bda596e..2d8df41 100644 --- a/sw/source/core/text/portox.cxx +++ b/sw/source/core/text/portox.cxx @@ -65,10 +65,10 @@ SwIsoToxPortion::SwIsoToxPortion() : nViewWidth(0) KSHORT SwIsoToxPortion::GetViewWidth( const SwTxtSizeInfo &rInf ) const { - // Wir stehen zwar im const, aber nViewWidth sollte erst im letzten - // Moment errechnet werden: + // Although we are const, nViewWidth should be calculated in the last + // moment possible SwIsoToxPortion* pThis = (SwIsoToxPortion*)this; - // nViewWidth muss errechnet werden. + // nViewWidth need to be calculated if( !Width() && rInf.OnWin() && !rInf.GetOpt().IsPagePreview() && !rInf.GetOpt().IsReadonly() && SwViewOption::IsFieldShadings() ) diff --git a/sw/source/core/text/portxt.cxx b/sw/source/core/text/portxt.cxx index bb70404..5a4d712 100644 --- a/sw/source/core/text/portxt.cxx +++ b/sw/source/core/text/portxt.cxx @@ -35,7 +35,7 @@ #include <SwPortionHandler.hxx> #include <porlay.hxx> #include <inftxt.hxx> -#include <guess.hxx> // SwTxtGuess, Zeilenumbruch +#include <guess.hxx> // SwTxtGuess, line break #include <porglue.hxx> #include <portab.hxx> // pLastTab-> #include <porfld.hxx> // SwFldPortion @@ -235,9 +235,9 @@ SwTxtPortion::SwTxtPortion( const SwLinePortion &rPortion ) void SwTxtPortion::BreakCut( SwTxtFormatInfo &rInf, const SwTxtGuess &rGuess ) { - // Das Wort/Zeichen ist groesser als die Zeile - // Sonderfall Nr.1: Das Wort ist groesser als die Zeile - // Wir kappen... + // The word/char is larger than the line + // Special case 1: The word is larger than the line + // We truncate ... const KSHORT nLineWidth = (KSHORT)(rInf.Width() - rInf.X()); xub_StrLen nLen = rGuess.CutPos() - rInf.GetIdx(); if( nLen ) @@ -304,8 +304,8 @@ sal_Bool lcl_HasContent( const SwFldPortion& rFld, SwTxtFormatInfo &rInf ) sal_Bool SwTxtPortion::_Format( SwTxtFormatInfo &rInf ) { - // 5744: wenn nur der Trennstrich nicht mehr passt, - // muss trotzdem das Wort umgebrochen werden, ansonsten return sal_True! + // 5744: If only the hypen does not fit anymore, we still need to wrap + // the word, or else return sal_True! if( rInf.IsUnderFlow() && rInf.GetSoftHyphPos() ) { // soft hyphen portion has triggered an underflow event because @@ -494,14 +494,13 @@ sal_Bool SwTxtPortion::Format( SwTxtFormatInfo &rInf ) *************************************************************************/ // Format end of line -// 5083: Es kann schon manchmal unguenstige Faelle geben... -// "vom {Nikolaus}", Nikolaus bricht um "vom " wird im Blocksatz -// zu "vom" und " ", wobei der Glue expandiert wird, statt in die -// MarginPortion aufzugehen. -// rInf.nIdx steht auf dem naechsten Wort, nIdx-1 ist der letzte -// Buchstabe der Portion. - - +// 5083: We can have awkward cases e.g.: +// "from {Santa}" +// Santa wraps, "from " turns into "from" and " " in a justified +// paragraph, in which the glue gets expanded instead of merged +// with the MarginPortion. +// +// rInf.nIdx points to the next word, nIdx-1 is the portion's last char void SwTxtPortion::FormatEOL( SwTxtFormatInfo &rInf ) { @@ -517,8 +516,8 @@ void SwTxtPortion::FormatEOL( SwTxtFormatInfo &rInf ) while( nX && nHoleLen < GetLen() && CH_BLANK == rInf.GetChar( --nX ) ) nHoleLen++; - // Erst uns einstellen und dann Inserten, weil wir ja auch ein - // SwLineLayout sein koennten. + // First set ourselves and the insert, because there could be + // a SwLineLayout KSHORT nBlankSize; if( nHoleLen == GetLen() ) nBlankSize = Width(); @@ -537,9 +536,6 @@ void SwTxtPortion::FormatEOL( SwTxtFormatInfo &rInf ) /************************************************************************* * virtual SwTxtPortion::GetCrsrOfst() *************************************************************************/ - - - xub_StrLen SwTxtPortion::GetCrsrOfst( const KSHORT nOfst ) const { OSL_ENSURE( !this, "SwTxtPortion::GetCrsrOfst: don't use this method!" ); @@ -549,7 +545,7 @@ xub_StrLen SwTxtPortion::GetCrsrOfst( const KSHORT nOfst ) const /************************************************************************* * virtual SwTxtPortion::GetTxtSize() *************************************************************************/ -// Das GetTxtSize() geht davon aus, dass die eigene Laenge korrekt ist +// The GetTxtSize() assumes that the own length is correct SwPosSize SwTxtPortion::GetTxtSize( const SwTxtSizeInfo &rInf ) const { @@ -559,9 +555,6 @@ SwPosSize SwTxtPortion::GetTxtSize( const SwTxtSizeInfo &rInf ) const /************************************************************************* * virtual SwTxtPortion::Paint() *************************************************************************/ - - - void SwTxtPortion::Paint( const SwTxtPaintInfo &rInf ) const { if (rInf.OnWin() && 1==rInf.GetLen() && CH_TXT_ATR_FIELDEND==rInf.GetTxt().GetChar(rInf.GetIdx())) @@ -614,8 +607,8 @@ sal_Bool SwTxtPortion::GetExpTxt( const SwTxtSizeInfo &, XubString & ) const /************************************************************************* * xub_StrLen SwTxtPortion::GetSpaceCnt() * long SwTxtPortion::CalcSpacing() - * sind fuer den Blocksatz zustaendig und ermitteln die Anzahl der Blanks - * und den daraus resultierenden zusaetzlichen Zwischenraum + * Are responsible for the justified paragraph. They calculate the blank + * count and the resulting added space. *************************************************************************/ xub_StrLen SwTxtPortion::GetSpaceCnt( const SwTxtSizeInfo &rInf, @@ -627,8 +620,8 @@ xub_StrLen SwTxtPortion::GetSpaceCnt( const SwTxtSizeInfo &rInf, { if( !IsBlankPortion() && !InNumberGrp() && !IsCombinedPortion() ) { - // Bei OnWin() wird anstatt eines Leerstrings gern mal ein Blank - // zurueckgeliefert, das koennen wir hier aber gar nicht gebrauchen + // OnWin() likes to return a blank instead of an empty string from + // time to time. We cannot use that here at all, however. sal_Bool bOldOnWin = rInf.OnWin(); ((SwTxtSizeInfo &)rInf).SetOnWin( sal_False ); @@ -657,8 +650,8 @@ long SwTxtPortion::CalcSpacing( long nSpaceAdd, const SwTxtSizeInfo &rInf ) cons { if( !IsBlankPortion() && !InNumberGrp() && !IsCombinedPortion() ) { - // Bei OnWin() wird anstatt eines Leerstrings gern mal ein Blank - // zurueckgeliefert, das koennen wir hier aber gar nicht gebrauchen + // OnWin() likes to return a blank instead of an empty string from + // time to time. We cannot use that here at all, however. sal_Bool bOldOnWin = rInf.OnWin(); ((SwTxtSizeInfo &)rInf).SetOnWin( sal_False ); diff --git a/sw/source/core/text/portxt.hxx b/sw/source/core/text/portxt.hxx index 7f9d12e..f3cf301 100644 --- a/sw/source/core/text/portxt.hxx +++ b/sw/source/core/text/portxt.hxx @@ -30,7 +30,7 @@ #ifdef GCC #include <sys/types.h> #else -#include <new.h> //fuer size_t, FIXEDMEM aus tools +#include <new.h> // for size_t, FIXEDMEM from tools #endif #include <tools/mempool.hxx> @@ -59,7 +59,7 @@ public: virtual sal_Bool GetExpTxt( const SwTxtSizeInfo &rInf, XubString &rTxt ) const; virtual long CalcSpacing( long nSpaceAdd, const SwTxtSizeInfo &rInf ) const; - // zaehlt die Spaces fuer Blocksatz + // Counts the spaces for justified paragraph xub_StrLen GetSpaceCnt( const SwTxtSizeInfo &rInf, xub_StrLen& rCnt ) const; sal_Bool CreateHyphen( SwTxtFormatInfo &rInf, SwTxtGuess &rGuess ); diff --git a/sw/source/core/text/possiz.hxx b/sw/source/core/text/possiz.hxx index c97d122..ef56136 100644 --- a/sw/source/core/text/possiz.hxx +++ b/sw/source/core/text/possiz.hxx @@ -32,7 +32,7 @@ #include <tools/gen.hxx> #include "txttypes.hxx" -// Im Gegensazt zu den SV-Sizes ist die SwPosSize immer positiv +// Compared to the SV sizes SwPosSize is always positive class SwPosSize { KSHORT nWidth; diff --git a/sw/source/core/text/txtinit.cxx b/sw/source/core/text/txtinit.cxx index 187a996..3681d9d 100644 --- a/sw/source/core/text/txtinit.cxx +++ b/sw/source/core/text/txtinit.cxx @@ -28,8 +28,8 @@ #include "swcache.hxx" -#include "fntcache.hxx" // pFntCache ( SwFont/ScrFont-PrtFont Cache ) -#include "swfntcch.hxx" // pSwFontCache ( SwAttrSet/SwFont Cache ) +#include "fntcache.hxx" // pFntCache ( SwFont/ScrFont-PrtFont cache ) +#include "swfntcch.hxx" // pSwFontCache ( SwAttrSet/SwFont cache ) #include "txtfrm.hxx" #include "txtcache.hxx" #include "porlay.hxx" @@ -43,10 +43,10 @@ #include "porftn.hxx" #include "porhyph.hxx" #include "pordrop.hxx" -#include "blink.hxx" // Blink-Manager -#include "init.hxx" // Deklarationen fuer _TextInit() und _TextFinit() +#include "blink.hxx" // Blink manager +#include "init.hxx" // Declarations for _TextInit() and _TextFinit() #include "txtfly.hxx" // SwContourCache -#include "dbg_lay.hxx" // Layout Debug Fileausgabe +#include "dbg_lay.hxx" // Layout Debug file output SwCache *SwTxtFrm::pTxtCache = 0; long SwTxtFrm::nMinPrtLine = 0; @@ -54,22 +54,23 @@ SwContourCache *pContourCache = 0; SwDropCapCache *pDropCapCache = 0; IMPL_FIXEDMEMPOOL_NEWDEL( SwTxtLine ) -IMPL_FIXEDMEMPOOL_NEWDEL( SwParaPortion ) //Absaetze -IMPL_FIXEDMEMPOOL_NEWDEL( SwLineLayout ) //Zeilen -IMPL_FIXEDMEMPOOL_NEWDEL( SwHolePortion ) //z.B. Blanks am Zeilenende -IMPL_FIXEDMEMPOOL_NEWDEL( SwTxtPortion ) //Attributwechsel +IMPL_FIXEDMEMPOOL_NEWDEL( SwParaPortion ) // Paragraphs +IMPL_FIXEDMEMPOOL_NEWDEL( SwLineLayout ) // Lines +IMPL_FIXEDMEMPOOL_NEWDEL( SwHolePortion ) // e.g. Blanks at the line end +IMPL_FIXEDMEMPOOL_NEWDEL( SwTxtPortion ) // Attribute change /************************************************************************* * _TextInit(), _TextFinit() *************************************************************************/ -// Werden _nur_ in init.cxx verwendet, dort stehen extern void _TextFinit() -// und extern void _TextInit(...) +// Are ONLY used in init.cxx. +// There we have extern void _TextFinit() +// and extern void _TextInit(...) void _TextInit() { - pFntCache = new SwFntCache; // Cache for SwSubFont -> SwFntObj = { Font aFont, Font* pScrFont, Font* pPrtFont, OutputDevice* pPrinter, ... } - pSwFontCache = new SwFontCache; // Cache for SwTxtFmtColl -> SwFontObj = { SwFont aSwFont, SfxPoolItem* pDefaultArray } + pFntCache = new SwFntCache; // Cache for SwSubFont -> SwFntObj = { Font aFont, Font* pScrFont, Font* pPrtFont, OutputDevice* pPrinter, ... } + pSwFontCache = new SwFontCache; // Cache for SwTxtFmtColl -> SwFontObj = { SwFont aSwFont, SfxPoolItem* pDefaultArray } SwCache *pTxtCache = new SwCache( 250 // Cache for SwTxtFrm -> SwTxtLine = { SwParaPortion* pLine } #ifdef DBG_UTIL , "static SwTxtFrm::pTxtCache" diff --git a/sw/source/core/text/widorp.hxx b/sw/source/core/text/widorp.hxx index a0730d1..ac90f9f 100644 --- a/sw/source/core/text/widorp.hxx +++ b/sw/source/core/text/widorp.hxx @@ -55,12 +55,10 @@ public: sal_Bool IsInside( SwTxtMargin &rLine ) const; - // Um Sonderfaelle mit Ftn behandeln zu koennen. - // Mit SetRstHeight wird dem SwTxtFrmBreak die Resthoehe eingestellt, - // Um TruncLines() rufen zu koennen, ohne dass IsBreakNow() einen - // anderen Wert zurueckliefert. - // Es wird dabei davon ausgegangen, dass rLine auf der letzten Zeile - // steht, die nicht mehr passt. + // In order to be able to handle special cases with Ftn. + // SetRstHeight sets the rest height for SwTxtFrmBreak. This is needed + // to call TruncLines() without IsBreakNow() returning another value. + // We assume that rLine is pointing to the last non-fitting line. // OD 2004-02-27 #106629# - no longer inline void SetRstHeight( const SwTxtMargin &rLine ); commit 85adb267ac551f5f9ee8aaaef5fa9711fefb782d Author: Philipp Weissenbacher <p.weissenbac...@gmail.com> Date: Wed Mar 28 14:30:17 2012 +0200 Translate German comments, fix some English ones diff --git a/sw/source/core/text/frmcrsr.cxx b/sw/source/core/text/frmcrsr.cxx index 3d5fe6a..2f6dfc2 100644 --- a/sw/source/core/text/frmcrsr.cxx +++ b/sw/source/core/text/frmcrsr.cxx @@ -63,11 +63,11 @@ using namespace ::com::sun::star; /* - * 1170-SurvivalKit: Wie gelangt man hinter das letzte Zeichen der Zeile. - * - RightMargin verzichtet auf den Positionsausgleich mit -1 - * - GetCharRect liefert bei MV_RIGHTMARGIN ein GetEndCharRect - * - GetEndCharRect setzt bRightMargin auf sal_True - * - SwTxtCursor::bRightMargin wird per CharCrsrToLine auf sal_False gesetzt + * 1170-SurvivalKit: For how long do we get past the last char of the line. + * - RightMargin abstains from adjusting position with -1 + * - GetCharRect returns a GetEndCharRect for MV_RIGHTMARGIN + * - GetEndCharRect sets bRightMargin to sal_True + * - SwTxtCursor::bRightMargin is set to sal_False by CharCrsrToLine */ /************************************************************************* @@ -77,7 +77,7 @@ using namespace ::com::sun::star; SwTxtFrm *GetAdjFrmAtPos( SwTxtFrm *pFrm, const SwPosition &rPos, const sal_Bool bRightMargin, const sal_Bool bNoScroll = sal_True ) { - // 8810: vgl. 1170, RightMargin in der letzten Masterzeile... + // 8810: vgl. 1170, RightMargin in the last master line const xub_StrLen nOffset = rPos.nContent.GetIndex(); SwTxtFrm *pFrmAtPos = pFrm; if( !bNoScroll || pFrm->GetFollow() ) @@ -116,13 +116,13 @@ SwTxtFrm *GetAdjFrmAtPos( SwTxtFrm *pFrm, const SwPosition &rPos, sal_Bool lcl_ChangeOffset( SwTxtFrm* pFrm, xub_StrLen nNew ) { - // In Bereichen und ausserhalb von Flies wird nicht mehr gescrollt. + // Do not scroll in areas and outside of flies OSL_ENSURE( !pFrm->IsFollow(), "Illegal Scrolling by Follow!" ); if( pFrm->GetOfst() != nNew && !pFrm->IsInSct() ) { SwFlyFrm *pFly = pFrm->FindFlyFrm(); - // Vorsicht, wenn z.B. bei einem spaltigen Rahmen die Groesse noch invalide ist, - // duerfen wir nicht mal eben herumscrollen + // Attention: if e.g. in a column frame the size is still invalid + // we must not scroll around just like that if ( ( pFly && pFly->IsValid() && !pFly->GetNextLink() && !pFly->GetPrevLink() ) || ( !pFly && pFrm->IsInTab() ) ) @@ -186,11 +186,10 @@ SwTxtFrm *SwTxtFrm::GetFrmAtPos( const SwPosition &rPos ) *************************************************************************/ /* - * GetCharRect() findet die Characterzelle des Characters, dass - * durch aPos beschrieben wird. GetCrsrOfst() findet den - * umgekehrten Weg: Von einer Dokumentkoordinate zu einem Pam. - * Beide sind virtuell in der Framebasisklasse und werden deshalb - * immer angezogen. + * GetCharRect() returns the char's char line described by aPos. + * GetCrsrOfst() does the reverse: It goes from a document coordinate to + * a Pam. + * Both are virtual in the frame base class and thus are redefined here. */ sal_Bool SwTxtFrm::GetCharRect( SwRect& rOrig, const SwPosition &rPos, @@ -201,13 +200,13 @@ sal_Bool SwTxtFrm::GetCharRect( SwRect& rOrig, const SwPosition &rPos, if( IsLocked() || IsHiddenNow() ) return sal_False; - //Erstmal den richtigen Frm finden, dabei muss beachtet werden, dass: - //- die gecachten Informationen verworfen sein koennen (GetPara() == 0) - //- das ein Follow gemeint sein kann - //- das die Kette der Follows dynamisch waechst; der in den wir - // schliesslich gelangen muss aber Formatiert sein. + // Find the right frame first. We need to keep in mind that: + // - the cached information could be invalid (GetPara() == 0) + // - we could have a Follow + // - the Follow chain grows dynamically; the one we end up in + // needs to be formatted - // opt: reading ahead erspart uns ein GetAdjFrmAtPos + // Optimisation: reading ahead saves us a GetAdjFrmAtPos const sal_Bool bRightMargin = pCMS && ( MV_RIGHTMARGIN == pCMS->eState ); const sal_Bool bNoScroll = pCMS && pCMS->bNoScroll; SwTxtFrm *pFrm = GetAdjFrmAtPos( (SwTxtFrm*)this, rPos, bRightMargin, @@ -292,8 +291,8 @@ sal_Bool SwTxtFrm::GetCharRect( SwRect& rOrig, const SwPosition &rPos, SwTxtSizeInfo aInf( pFrm ); SwTxtCursor aLine( pFrm, &aInf ); nNextOfst = aLine.GetEnd(); - // Siehe Kommentar in AdjustFrm - // 1170: das letzte Zeichen der Zeile mitnehmen? + // See comment in AdjustFrm + // 1170: Include the line's last char? bRet = bRightMargin ? aLine.GetEndCharRect( &rOrig, nOffset, pCMS, nMaxY ) : aLine.GetCharRect( &rOrig, nOffset, pCMS, nMaxY ); } @@ -350,15 +349,15 @@ sal_Bool SwTxtFrm::GetCharRect( SwRect& rOrig, const SwPosition &rPos, if( bRet ) { SwPageFrm *pPage = pFrm->FindPageFrm(); - OSL_ENSURE( pPage, "Text esaped from page?" ); + OSL_ENSURE( pPage, "Text escaped from page?" ); const SwTwips nOrigTop = (rOrig.*fnRect->fnGetTop)(); const SwTwips nPageTop = (pPage->Frm().*fnRect->fnGetTop)(); const SwTwips nPageBott = (pPage->Frm().*fnRect->fnGetBottom)(); - // Following situation: if the frame is in an invalid sectionframe, - // it's possible that the frame is outside the page. If we restrict - // the cursor position to the page area, we enforce the formatting - // of the page, of the section frame and the frame himself. + // We have the following situation: if the frame is in an invalid + // sectionframe, it's possible that the frame is outside the page. + // If we restrict the cursor position to the page area, we enforce + // the formatting of the page, of the section frame and the frame itself. if( (*fnRect->fnYDiff)( nPageTop, nOrigTop ) > 0 ) (rOrig.*fnRect->fnSetTop)( nPageTop ); @@ -374,8 +373,8 @@ sal_Bool SwTxtFrm::GetCharRect( SwRect& rOrig, const SwPosition &rPos, *************************************************************************/ /* - * GetAutoPos() findet die Characterzelle des Characters, dass - * durch aPos beschrieben wird und wird von autopositionierten Rahmen genutzt. + * GetAutoPos() looks up the char's char line which is described by rPos + * and is used by the auto-positioned frame. */ sal_Bool SwTxtFrm::GetAutoPos( SwRect& rOrig, const SwPosition &rPos ) const @@ -536,7 +535,7 @@ bool SwTxtFrm::GetTopOfLine( SwTwips& _onTopOfLine, * SwTxtFrm::_GetCrsrOfst() *************************************************************************/ -// Minimaler Abstand von nichtleeren Zeilen etwas weniger als 2 cm +// Minimum distance of non-empty lines is a little less than 2 cm #define FILL_MIN_DIST 1100 struct SwFillData @@ -570,8 +569,8 @@ struct SwFillData sal_Bool SwTxtFrm::_GetCrsrOfst(SwPosition* pPos, const Point& rPoint, const sal_Bool bChgFrm, SwCrsrMoveState* pCMS ) const { - // 8804: _GetCrsrOfst wird vom GetCrsrOfst und GetKeyCrsrOfst gerufen. - // In keinem Fall nur ein return sal_False. + // 8804: _GetCrsrOfst is called by GetCrsrOfst and GetKeyCrsrOfst. + // Never just a return sal_False. if( IsLocked() || IsHiddenNow() ) return sal_False; @@ -609,7 +608,7 @@ sal_Bool SwTxtFrm::_GetCrsrOfst(SwPosition* pPos, const Point& rPoint, SwTxtSizeInfo aInf( (SwTxtFrm*)this ); SwTxtCursor aLine( ((SwTxtFrm*)this), &aInf ); - // Siehe Kommentar in AdjustFrm() + // See comment in AdjustFrm() SwTwips nMaxY = Frm().Top() + Prt().Top() + Prt().Height(); aLine.TwipsToLine( rPoint.Y() ); while( aLine.Y() + aLine.GetLineHeight() > nMaxY ) @@ -628,11 +627,11 @@ sal_Bool SwTxtFrm::_GetCrsrOfst(SwPosition* pPos, const Point& rPoint, if( pCMS && pCMS->eState == MV_NONE && aLine.GetEnd() == nOffset ) ((SwCrsrMoveState*)pCMS)->eState = MV_RIGHTMARGIN; - // 6776: pPos ist ein reiner IN-Parameter, der nicht ausgewertet werden darf. - // Das pIter->GetCrsrOfst returnt aus einer Verschachtelung mit STRING_LEN. - // Wenn SwTxtIter::GetCrsrOfst von sich aus weitere GetCrsrOfst - // ruft, so aendert sich nNode der Position. In solchen Faellen - // darf pPos nicht berechnet werden. + // 6776: pPos is a pure IN parameter and must not be evaluated. + // pIter->GetCrsrOfst returns from a nesting with STRING_LEN. + // If SwTxtIter::GetCrsrOfst calls GetCrsrOfst further by itself + // nNode changes the position. + // In such cases, pPos must not be calculated. if( STRING_LEN != nOffset ) { SwTxtNode* pTxtNd = ((SwTxtFrm*)this)->GetTxtNode(); @@ -707,11 +706,7 @@ sal_Bool SwTxtFrm::GetCrsrOfst(SwPosition* pPos, Point& rPoint, *************************************************************************/ /* - * Layout-orientierte Cursorbewegungen - */ - -/* - * an den Zeilenanfang + * Layout-oriented cursor movement to the line start. */ sal_Bool SwTxtFrm::LeftMargin(SwPaM *pPam) const @@ -748,11 +743,9 @@ sal_Bool SwTxtFrm::LeftMargin(SwPaM *pPam) const *************************************************************************/ /* - * An das Zeilenende:Das ist die Position vor dem letzten - * Character in der Zeile. Ausnahme: In der letzten Zeile soll - * der Cursor auch hinter dem letzten Character stehen koennen, - * um Text anhaengen zu koennen. - * + * To the line end: That's the position before the last char of the line. + * Exception: In the last line, it should be able to place the cursor after + * the last char in order to append text. */ sal_Bool SwTxtFrm::RightMargin(SwPaM *pPam, sal_Bool bAPI) const @@ -774,7 +767,7 @@ sal_Bool SwTxtFrm::RightMargin(SwPaM *pPam, sal_Bool bAPI) const aLine.CharCrsrToLine(pPam->GetPoint()->nContent.GetIndex()); nRightMargin = aLine.GetStart() + aLine.GetCurr()->GetLen(); - // Harte Zeilenumbrueche lassen wir hinter uns. + // We skip hard line brakes if( aLine.GetCurr()->GetLen() && CH_BREAK == aInf.GetTxt().GetChar( nRightMargin - 1 ) ) --nRightMargin; @@ -794,11 +787,10 @@ sal_Bool SwTxtFrm::RightMargin(SwPaM *pPam, sal_Bool bAPI) const * SwTxtFrm::_UnitUp() *************************************************************************/ -//Die beiden folgenden Methoden versuchen zunaechst den Crsr in die -//nachste/folgende Zeile zu setzen. Gibt es im Frame keine vorhergehende/ -//folgende Zeile, so wird der Aufruf an die Basisklasse weitergeleitet. -//Die Horizontale Ausrichtung des Crsr wird hinterher von der CrsrShell -//vorgenommen. +// The following two methods try to put the Crsr into the next/succsessive +// line. If we do not have a preceding/successive line we forward the call +// to the base class. +// The Crsr's horizontal justification is done afterwards by the CrsrShell. class SwSetToRightMargin { @@ -812,15 +804,15 @@ public: sal_Bool SwTxtFrm::_UnitUp( SwPaM *pPam, const SwTwips nOffset, sal_Bool bSetInReadOnly ) const { - // 8626: Im Notfall den RightMargin setzen. + // 8626: Set the RightMargin if needed SwSetToRightMargin aSet; if( IsInTab() && pPam->GetNode( sal_True )->StartOfSectionNode() != pPam->GetNode( sal_False )->StartOfSectionNode() ) { - //Wenn der PaM in unterschiedlichen Boxen sitzt, so handelt es sich um - //eine Tabellenselektion; diese wird von der Basisklasse abgearbeitet. + // If the PaM is located within different boxes, we have a table selection, + // which is handled by the base class. return SwCntntFrm::UnitUp( pPam, nOffset, bSetInReadOnly ); } @@ -839,7 +831,7 @@ sal_Bool SwTxtFrm::_UnitUp( SwPaM *pPam, const SwTwips nOffset, SwTxtSizeInfo aInf( (SwTxtFrm*)this ); SwTxtCursor aLine( ((SwTxtFrm*)this), &aInf ); - // 8116: Flys ohne Umlauf und IsDummy(); hier wegoptimiert + // 8116: Optimize away flys with no flow and IsDummy() if( nPos ) aLine.CharCrsrToLine( nPos ); else @@ -865,7 +857,7 @@ sal_Bool SwTxtFrm::_UnitUp( SwPaM *pPam, const SwTwips nOffset, continue; } - // we select the target line for the cursor, in case we are in a + // We select the target line for the cursor, in case we are in a // double line portion, prev line = curr line if( bPrevLine && !bSecondOfDouble ) { @@ -881,11 +873,11 @@ sal_Bool SwTxtFrm::_UnitUp( SwPaM *pPam, const SwTwips nOffset, aCharBox.SSize().Width() /= 2; aCharBox.Pos().X() = aCharBox.Pos().X() - 150; - // siehe Kommentar in SwTxtFrm::GetCrsrOfst() + // See comment in SwTxtFrm::GetCrsrOfst() #if OSL_DEBUG_LEVEL > 0 const sal_uLong nOldNode = pPam->GetPoint()->nNode.GetIndex(); #endif - // Der Node soll nicht gewechselt werden + // The node should not be changed xub_StrLen nTmpOfst = aLine.GetCrsrOfst( pPam->GetPoint(), aCharBox.Pos(), sal_False ); #if OSL_DEBUG_LEVEL > 0 @@ -893,7 +885,7 @@ sal_Bool SwTxtFrm::_UnitUp( SwPaM *pPam, const SwTwips nOffset, "SwTxtFrm::UnitUp: illegal node change" ); #endif - // 7684: Wir stellen sicher, dass wir uns nach oben bewegen. + // 7684: We make sure that we move up. if( nTmpOfst >= nStart && nStart && !bSecondOfDouble ) { nTmpOfst = nStart; @@ -912,10 +904,9 @@ sal_Bool SwTxtFrm::_UnitUp( SwPaM *pPam, const SwTwips nOffset, break; } while ( sal_True ); } - /* Wenn this ein Follow ist und ein Prev miszlang, so - * muessen wir in die letzte Zeile des Master ... und der sind wir. - * Oder wir sind ein Follow mit Follow, dann muessen wir uns den - * Master extra besorgen... + /* If 'this' is a follow and a prev failed, we need to go to the + * last line of the master, which is us. + * Or: If we are a follow with follow, we need to get the master. */ if ( IsFollow() ) { @@ -926,7 +917,7 @@ sal_Bool SwTxtFrm::_UnitUp( SwPaM *pPam, const SwTwips nOffset, ViewShell *pSh = getRootFrm()->GetCurrShell(); sal_Bool bProtectedAllowed = pSh && pSh->GetViewOptions()->IsCursorInProtectedArea(); const SwTxtFrm *pPrevPrev = pTmpPrev; - // Hier werden geschuetzte Frames und Frame ohne Inhalt ausgelassen + // We skip protected frames and frames without content here while( pPrevPrev && ( pPrevPrev->GetOfst() == nOffs || ( !bProtectedAllowed && pPrevPrev->IsProtected() ) ) ) { @@ -951,7 +942,7 @@ sal_Bool SwTxtFrm::_UnitUp( SwPaM *pPam, const SwTwips nOffset, // if left arrow or right arrow was pressed. The return values are: // nPos: the new visual position // bLeft: whether the break iterator has to add or subtract from the -// current position +// current position void lcl_VisualMoveRecursion( const SwLineLayout& rCurrLine, xub_StrLen nIdx, xub_StrLen& nPos, sal_Bool& bRight, sal_uInt8& nCrsrLevel, sal_uInt8 nDefaultDir ) @@ -959,7 +950,7 @@ void lcl_VisualMoveRecursion( const SwLineLayout& rCurrLine, xub_StrLen nIdx, const SwLinePortion* pPor = rCurrLine.GetFirstPortion(); const SwLinePortion* pLast = 0; - // what's the current portion + // What's the current portion? while ( pPor && nIdx + pPor->GetLen() <= nPos ) { nIdx = nIdx + pPor->GetLen(); @@ -1214,8 +1205,8 @@ sal_Bool SwTxtFrm::_UnitDown(SwPaM *pPam, const SwTwips nOffset, pPam->GetNode( sal_True )->StartOfSectionNode() != pPam->GetNode( sal_False )->StartOfSectionNode() ) { - //Wenn der PaM in unterschiedlichen Boxen sitzt, so handelt es sich um - //eine Tabellenselektion; diese wird von der Basisklasse abgearbeitet. + // If the PaM is located within different boxes, we have a table selection, + // which is handled by the base class. return SwCntntFrm::UnitDown( pPam, nOffset, bSetInReadOnly ); } ((SwTxtFrm*)this)->GetFormatted(); @@ -1251,7 +1242,7 @@ sal_Bool SwTxtFrm::_UnitDown(SwPaM *pPam, const SwTwips nOffset, { aCharBox.SSize().Width() /= 2; #if OSL_DEBUG_LEVEL > 0 - // siehe Kommentar in SwTxtFrm::GetCrsrOfst() + // See comment in SwTxtFrm::GetCrsrOfst() const sal_uLong nOldNode = pPam->GetPoint()->nNode.GetIndex(); #endif if ( pNextLine && ! bFirstOfDouble ) @@ -1264,7 +1255,7 @@ sal_Bool SwTxtFrm::_UnitDown(SwPaM *pPam, const SwTwips nOffset, "SwTxtFrm::UnitDown: illegal node change" ); #endif - // 7684: Wir stellen sicher, dass wir uns nach unten bewegen. + // 7684: We make sure that we move down. if( nTmpOfst <= nStart && ! bFirstOfDouble ) nTmpOfst = nStart + 1; pPam->GetPoint()->nContent = @@ -1276,7 +1267,7 @@ sal_Bool SwTxtFrm::_UnitDown(SwPaM *pPam, const SwTwips nOffset, return sal_True; } if( 0 != ( pTmpFollow = GetFollow() ) ) - { // geschuetzte Follows auslassen + { // Skip protected follows const SwCntntFrm* pTmp = pTmpFollow; ViewShell *pSh = getRootFrm()->GetCurrShell(); if( !pSh || !pSh->GetViewOptions()->IsCursorInProtectedArea() ) @@ -1287,7 +1278,7 @@ sal_Bool SwTxtFrm::_UnitDown(SwPaM *pPam, const SwTwips nOffset, pTmpFollow = pTmpFollow->GetFollow(); } } - if( !pTmpFollow ) // nur noch geschuetzte + if( !pTmpFollow ) // Only protected ones left { if ( IsVertical() ) ((SwTxtFrm*)this)->SwapWidthAndHeight(); @@ -1321,7 +1312,7 @@ sal_Bool SwTxtFrm::_UnitDown(SwPaM *pPam, const SwTwips nOffset, if ( IsVertical() ) ((SwTxtFrm*)this)->SwapWidthAndHeight(); - // Bei Follows schlagen wir eine Abkuerzung + // We take a shortcut for follows if( pTmpFollow ) { aCharBox.Pos().Y() = pTmpFollow->Frm().Top() + 1; @@ -1338,19 +1329,19 @@ sal_Bool SwTxtFrm::_UnitDown(SwPaM *pPam, const SwTwips nOffset, sal_Bool SwTxtFrm::UnitUp(SwPaM *pPam, const SwTwips nOffset, sal_Bool bSetInReadOnly ) const { - /* Im CrsrSh::Up() wird CntntNode::GetFrm() gerufen. - * Dies liefert _immer_ den Master zurueck. - * Um das Cursortravelling nicht zu belasten, korrigieren wir - * hier im SwTxtFrm. - * Wir ermittelt UnitUp fuer pFrm, pFrm ist entweder ein Master (=this) - * oder ein Follow (!=this) + /* We call CntntNode::GertFrm() in CrsrSh::Up(). + * This _always returns the master. + * In order to not mess with cursor travelling, we correct here + * in SwTxtFrm. + * We calculate UnitUp for pFrm. pFrm is either a master (= this) or a + * follow (!= this). */ const SwTxtFrm *pFrm = GetAdjFrmAtPos( (SwTxtFrm*)this, *(pPam->GetPoint()), SwTxtCursor::IsRightMargin() ); const sal_Bool bRet = pFrm->_UnitUp( pPam, nOffset, bSetInReadOnly ); - // 8626: kein SwTxtCursor::SetRightMargin( sal_False ); - // statt dessen steht ein SwSetToRightMargin im _UnitUp + // 8626: No SwTxtCursor::SetRightMargin( sal_False ); + // Instead we have a SwSetToRightMargin in _UnitUp return bRet; } @@ -1370,26 +1361,26 @@ sal_Bool SwTxtFrm::UnitDown(SwPaM *pPam, const SwTwips nOffset, void SwTxtFrm::FillCrsrPos( SwFillData& rFill ) const { - if( !rFill.bColumn && GetUpper()->IsColBodyFrm() ) // ColumnFrms jetzt mit BodyFrm + if( !rFill.bColumn && GetUpper()->IsColBodyFrm() ) // ColumnFrms now with BodyFrm { const SwColumnFrm* pTmp = - (SwColumnFrm*)GetUpper()->GetUpper()->GetUpper()->Lower(); // die 1. Spalte - // der erste SwFrm im BodyFrm der ersten Spalte + (SwColumnFrm*)GetUpper()->GetUpper()->GetUpper()->Lower(); // The 1st column + // The first SwFrm in BodyFrm of the first column const SwFrm* pFrm = ((SwLayoutFrm*)pTmp->Lower())->Lower(); MSHORT nNextCol = 0; - // In welcher Spalte landen wir? + // In which column do we end up in? while( rFill.X() > pTmp->Frm().Right() && pTmp->GetNext() ) { pTmp = (SwColumnFrm*)pTmp->GetNext(); - if( ((SwLayoutFrm*)pTmp->Lower())->Lower() ) // ColumnFrms jetzt mit BodyFrm + if( ((SwLayoutFrm*)pTmp->Lower())->Lower() ) // ColumnFrms now with BodyFrm { pFrm = ((SwLayoutFrm*)pTmp->Lower())->Lower(); nNextCol = 0; } else - ++nNextCol; // leere Spalten erfordern Spaltenumbrueche + ++nNextCol; // Empty columns require column brakes } - if( pTmp != GetUpper()->GetUpper() ) // Sind wir in einer anderen Spalte gelandet? + if( pTmp != GetUpper()->GetUpper() ) // Did we end up in another column? { if( !pFrm ) return; @@ -1403,8 +1394,8 @@ void SwTxtFrm::FillCrsrPos( SwFillData& rFill ) const while( pFrm->GetNext() && pFrm->Frm().Bottom() < rFill.Y() ) pFrm = pFrm->GetNext(); } - // Kein Fuellen, wenn als letzter Frame in der anvisierten - // Spalte kein Absatz, sondern z.B. eine Tabelle steht + // No filling, if the last frame in the targeted column does + // not contain a paragraph, but e.g. a table if( pFrm->IsTxtFrm() ) { rFill.Fill().nColumnCnt = nNextCol; @@ -1716,7 +1707,7 @@ static sal_Char const sDoubleSpace[] = " "; } } } - // Gehen wir ueber die Unterkante der Seite/Spalte etc. hinaus? + // Do we extend over the page's/column's/etc. lower edge? const SwFrm* pUp = GetUpper(); if( pUp->IsInSct() ) { _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits