sc/source/core/data/fillinfo.cxx | 73 +++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 36 deletions(-)
New commits: commit 5345c0f7ae6d2cad6814dc112c68ba3e6239fd8f Author: Markus Mohrhard <[email protected]> Date: Wed Mar 30 02:15:07 2016 +0200 limit the scope of a few variable in ScDocument::FillInfo This makes the code at least a little bit easier to read as we can now see much easier when a variable is used to transport state between loops and when it is just a variable local to a loop Change-Id: Ib92ff1596bda35f9892accc820bc3596bafb7d96 Reviewed-on: https://gerrit.libreoffice.org/23632 Tested-by: Jenkins <[email protected]> Reviewed-by: Markus Mohrhard <[email protected]> (cherry picked from commit 36eec4d179898302578c428564f1b60406c0716c) Reviewed-on: https://gerrit.libreoffice.org/25287 Reviewed-by: Ashod Nakashian <[email protected]> Tested-by: Ashod Nakashian <[email protected]> diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx index b291550..92c38bb 100644 --- a/sc/source/core/data/fillinfo.cxx +++ b/sc/source/core/data/fillinfo.cxx @@ -209,27 +209,28 @@ bool isRotateItemUsed(ScDocumentPool *pPool) return false; } -void initRowInfo(ScDocument* pDoc, RowInfo* pRowInfo, SCROW& rY, +void initRowInfo(ScDocument* pDoc, RowInfo* pRowInfo, double fRowScale, SCROW nRow1, SCTAB nTab, SCROW& rYExtra, SCSIZE& rArrRow, SCROW& rRow2) { sal_uInt16 nDocHeight = ScGlobal::nStdRowHeight; SCROW nDocHeightEndRow = -1; for (SCsROW nSignedY=((SCsROW)nRow1)-1; nSignedY<=(SCsROW)rYExtra; nSignedY++) { + SCROW nY; if (nSignedY >= 0) - rY = (SCROW) nSignedY; + nY = (SCROW) nSignedY; else - rY = MAXROW+1; // invalid + nY = MAXROW+1; // invalid - if (rY > nDocHeightEndRow) + if (nY > nDocHeightEndRow) { - if (ValidRow(rY)) - nDocHeight = pDoc->GetRowHeight( rY, nTab, nullptr, &nDocHeightEndRow ); + if (ValidRow(nY)) + nDocHeight = pDoc->GetRowHeight( nY, nTab, nullptr, &nDocHeightEndRow ); else nDocHeight = ScGlobal::nStdRowHeight; } - if ( rArrRow==0 || nDocHeight || rY > MAXROW ) + if ( rArrRow==0 || nDocHeight || nY > MAXROW ) { RowInfo* pThisRowInfo = &pRowInfo[rArrRow]; pThisRowInfo->pCellInfo = nullptr; // is loaded below @@ -238,7 +239,7 @@ void initRowInfo(ScDocument* pDoc, RowInfo* pRowInfo, SCROW& rY, if (!nHeight) nHeight = 1; - pThisRowInfo->nRowNo = rY; //TODO: case < 0 ? + pThisRowInfo->nRowNo = nY; //TODO: case < 0 ? pThisRowInfo->nHeight = nHeight; pThisRowInfo->bEmptyBack = true; pThisRowInfo->bEmptyText = true; @@ -360,11 +361,6 @@ void ScDocument::FillInfo( const SvxShadowItem* pDefShadow = static_cast<const SvxShadowItem*>( &pPool->GetDefaultItem( ATTR_SHADOW ) ); - SCROW nThisRow; - SCCOL nX; - SCROW nY; - SCsROW nSignedY; - SCCOL nArrCol; SCSIZE nArrRow; SCSIZE nArrCount; bool bAnyMerged = false; @@ -402,7 +398,7 @@ void ScDocument::FillInfo( nArrRow=0; SCROW nYExtra = nRow2+1; - initRowInfo(this, pRowInfo, nY, fRowScale, nRow1, + initRowInfo(this, pRowInfo, fRowScale, nRow1, nTab, nYExtra, nArrRow, nRow2); nArrCount = nArrRow; // incl. Dummys @@ -437,9 +433,9 @@ void ScDocument::FillInfo( if(pCondFormList) pCondFormList->startRendering(); - for (nArrCol=0; nArrCol<=nCol2+2; nArrCol++) // left & right + 1 + for (SCCOL nArrCol=0; nArrCol<=nCol2+2; nArrCol++) // left & right + 1 { - nX = (nArrCol>0) ? nArrCol-1 : MAXCOL+1; // negative -> invalid + SCCOL nX = (nArrCol>0) ? nArrCol-1 : MAXCOL+1; // negative -> invalid if ( ValidCol(nX) ) { @@ -475,7 +471,7 @@ void ScDocument::FillInfo( --nCurRow; // 1 more on top else nArrRow = 1; - nThisRow=nCurRow; // end of range + SCROW nThisRow = nCurRow; // end of range SCSIZE nIndex; (void) pThisAttrArr->Search( nCurRow, nIndex ); @@ -712,7 +708,7 @@ void ScDocument::FillInfo( { for (nArrRow=0; nArrRow<nArrCount; nArrRow++) { - for (nArrCol=nCol1; nArrCol<=nCol2+2; nArrCol++) // 1 more left and right + for (SCCOL nArrCol=nCol1; nArrCol<=nCol2+2; nArrCol++) // 1 more left and right { CellInfo* pInfo = &pRowInfo[nArrRow].pCellInfo[nArrCol]; SCCOL nCol = (nArrCol>0) ? nArrCol-1 : MAXCOL+1; @@ -775,9 +771,9 @@ void ScDocument::FillInfo( for (nArrRow=0; nArrRow<nArrCount; nArrRow++) { RowInfo* pThisRowInfo = &pRowInfo[nArrRow]; - nSignedY = nArrRow ? pThisRowInfo->nRowNo : ((SCsROW)nRow1)-1; + SCsROW nSignedY = nArrRow ? pThisRowInfo->nRowNo : ((SCsROW)nRow1)-1; - for (nArrCol=nCol1; nArrCol<=nCol2+2; nArrCol++) // 1 more left and right + for (SCCOL nArrCol=nCol1; nArrCol<=nCol2+2; nArrCol++) // 1 more left and right { SCsCOL nSignedX = ((SCsCOL) nArrCol) - 1; CellInfo* pInfo = &pThisRowInfo->pCellInfo[nArrCol]; @@ -840,7 +836,7 @@ void ScDocument::FillInfo( bool bTop = ( nArrRow == 0 ); bool bBottom = ( nArrRow+1 == nArrCount ); - for (nArrCol=nCol1; nArrCol<=nCol2+2; nArrCol++) // 1 more left and right + for (SCCOL nArrCol=nCol1; nArrCol<=nCol2+2; nArrCol++) // 1 more left and right { bool bLeft = ( nArrCol == nCol1 ); bool bRight = ( nArrCol == nCol2+2 ); commit b2a02da8e7866dd5ce61bf5cff56d6066f3e4a06 Author: Markus Mohrhard <[email protected]> Date: Wed Mar 30 01:50:53 2016 +0200 extract another function from ScDocument::FillInfo Change-Id: Iac607e1fe915c8bc90316508c98855a60117d435 Reviewed-on: https://gerrit.libreoffice.org/23631 Tested-by: Jenkins <[email protected]> Reviewed-by: Markus Mohrhard <[email protected]> (cherry picked from commit 772e66406b90bdb898e73b4fa944a6e55a42683b) Reviewed-on: https://gerrit.libreoffice.org/25286 Reviewed-by: Ashod Nakashian <[email protected]> Tested-by: Ashod Nakashian <[email protected]> diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx index 6e5dc7b..b291550 100644 --- a/sc/source/core/data/fillinfo.cxx +++ b/sc/source/core/data/fillinfo.cxx @@ -318,6 +318,25 @@ void initCellInfo(RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nRotMax, bool bPain } } +void initColWidths(RowInfo* pRowInfo, ScDocument* pDoc, double fColScale, SCTAB nTab, SCCOL nCol2, SCCOL nRotMax) +{ + for (SCCOL nArrCol=nCol2+3; nArrCol<=nRotMax+2; nArrCol++) // Add remaining widths + { + SCCOL nX = nArrCol-1; + if ( ValidCol(nX) ) + { + if (!pDoc->ColHidden(nX, nTab)) + { + sal_uInt16 nThisWidth = (sal_uInt16) (pDoc->GetColWidth( nX, nTab ) * fColScale); + if (!nThisWidth) + nThisWidth = 1; + + pRowInfo[0].pCellInfo[nArrCol].nWidth = nThisWidth; + } + } + } +} + } void ScDocument::FillInfo( @@ -412,21 +431,7 @@ void ScDocument::FillInfo( initCellInfo(pRowInfo, nArrCount, nRotMax, bPaintMarks, pDefShadow, nBlockStartY, nBlockEndY, nBlockStartX, nBlockEndX); - for (nArrCol=nCol2+3; nArrCol<=nRotMax+2; nArrCol++) // Add remaining widths - { - nX = nArrCol-1; - if ( ValidCol(nX) ) - { - if (!ColHidden(nX, nTab)) - { - sal_uInt16 nThisWidth = (sal_uInt16) (GetColWidth( nX, nTab ) * fColScale); - if (!nThisWidth) - nThisWidth = 1; - - pRowInfo[0].pCellInfo[nArrCol].nWidth = nThisWidth; - } - } - } + initColWidths(pRowInfo, this, fColScale, nTab, nCol2, nRotMax); ScConditionalFormatList* pCondFormList = GetCondFormList(nTab); if(pCondFormList) _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
