sc/source/core/data/dpoutput.cxx |   76 ++++++++++++++++++++++-----------------
 1 file changed, 44 insertions(+), 32 deletions(-)

New commits:
commit 3146d6759869fca4753edefddc503a5a89a42b91
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Mon Apr 1 22:08:50 2024 +0900
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Thu Apr 11 17:13:29 2024 +0200

    pivot: un-abbreviate vars. in ScDPOutput::Output
    
    Change-Id: If480afbdcb2a350907a1cac734ebf76424825371
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165683
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/sc/source/core/data/dpoutput.cxx b/sc/source/core/data/dpoutput.cxx
index d88a320aeac0..dd5d9d1577bc 100644
--- a/sc/source/core/data/dpoutput.cxx
+++ b/sc/source/core/data/dpoutput.cxx
@@ -1020,11 +1020,11 @@ void ScDPOutput::Output()
 
     for (size_t nField = 0; nField < mpPageFields.size(); ++nField)
     {
-        SCCOL nHdrCol = maStartPos.Col();
-        SCROW nHdrRow = maStartPos.Row() + nField + (mbDoFilter ? 1 : 0);
+        SCCOL nHeaderCol = maStartPos.Col();
+        SCROW nHeaderRow = maStartPos.Row() + nField + (mbDoFilter ? 1 : 0);
         // draw without frame for consistency with filter button:
-        FieldCell(nHdrCol, nHdrRow, nTab, mpPageFields[nField], false);
-        SCCOL nFldCol = nHdrCol + 1;
+        FieldCell(nHeaderCol, nHeaderRow, nTab, mpPageFields[nField], false);
+        SCCOL nFieldCol = nHeaderCol + 1;
 
         OUString aPageValue = ScResId(SCSTR_ALL);
         const uno::Sequence<sheet::MemberResult>& rRes = 
mpPageFields[nField].maResult;
@@ -1037,13 +1037,15 @@ void ScDPOutput::Output()
                 aPageValue = rRes[0].Caption;
         }
         else if (n > 1)
+        {
             aPageValue = ScResId(SCSTR_MULTIPLE);
+        }
 
         ScSetStringParam aParam;
         aParam.setTextInput();
-        mpDocument->SetString(nFldCol, nHdrRow, nTab, aPageValue, &aParam);
+        mpDocument->SetString(nFieldCol, nHeaderRow, nTab, aPageValue, 
&aParam);
 
-        lcl_SetFrame(mpDocument, nTab, nFldCol,nHdrRow, nFldCol,nHdrRow, 20);
+        lcl_SetFrame(mpDocument, nTab, nFieldCol, nHeaderRow, nFieldCol, 
nHeaderRow, 20);
     }
 
     //  data description
@@ -1066,52 +1068,62 @@ void ScDPOutput::Output()
         mnTabStartCol, mnTabStartRow,
         mnDataStartCol, mnDataStartRow, mnTabEndCol, mnTabEndRow);
     size_t nNumColFields = mpColFields.size();
-    for (size_t nField=0; nField<nNumColFields; nField++)
+
+    for (size_t nField = 0; nField < nNumColFields; nField++)
     {
-        SCCOL nHdrCol = mnDataStartCol + static_cast<SCCOL>(nField);           
   //TODO: check for overflow
+        SCCOL nHeaderCol = mnDataStartCol + SCCOL(nField); //TODO: check for 
overflow
+
         if (!mbHasCompactRowField || nNumColFields == 1)
-            FieldCell(nHdrCol, mnTabStartRow, nTab, mpColFields[nField], true);
+            FieldCell(nHeaderCol, mnTabStartRow, nTab, mpColFields[nField], 
true);
         else if (!nField)
-            MultiFieldCell(nHdrCol, mnTabStartRow, nTab, false /* bRowField 
*/);
+            MultiFieldCell(nHeaderCol, mnTabStartRow, nTab, false /* bRowField 
*/);
 
-        SCROW nRowPos = mnMemberStartRow + static_cast<SCROW>(nField);         
       //TODO: check for overflow
+        SCROW nRowPos = mnMemberStartRow + SCROW(nField); //TODO: check for 
overflow
         tools::Long nDimension = mpColFields[nField].mnDim;
         const uno::Sequence<sheet::MemberResult> rSequence = 
mpColFields[nField].maResult;
-        const sheet::MemberResult* pArray = rSequence.getConstArray();
+        const sheet::MemberResult* pMemberArray = rSequence.getConstArray();
         tools::Long nThisColCount = rSequence.getLength();
-        OSL_ENSURE(nThisColCount == mnColCount, "count mismatch");     //TODO: 
???
+        OSL_ENSURE(nThisColCount == mnColCount, "count mismatch"); //TODO: ???
+
         tools::Long nColumnIndex = -1;
-        for (tools::Long nCol=0; nCol<nThisColCount; nCol++)
+        for (tools::Long nColumn = 0; nColumn < nThisColCount; nColumn++)
         {
-            if (!(pArray[nCol].Flags & sheet::MemberResultFlags::CONTINUE))
+            if (!(pMemberArray[nColumn].Flags & 
sheet::MemberResultFlags::CONTINUE))
                 nColumnIndex++;
-            SCCOL nColPos = mnDataStartCol + static_cast<SCCOL>(nCol);         
       //TODO: check for overflow
-            HeaderCell( nColPos, nRowPos, nTab, pArray[nCol], true, nField );
-            if ( ( pArray[nCol].Flags & sheet::MemberResultFlags::HASMEMBER ) 
&&
-                !( pArray[nCol].Flags & sheet::MemberResultFlags::SUBTOTAL ) )
+
+            SCCOL nColPos = mnDataStartCol + SCCOL(nColumn); //TODO: check for 
overflow
+            HeaderCell(nColPos, nRowPos, nTab, pMemberArray[nColumn], true, 
nField);
+            if ((pMemberArray[nColumn].Flags & 
sheet::MemberResultFlags::HASMEMBER) &&
+               !(pMemberArray[nColumn].Flags & 
sheet::MemberResultFlags::SUBTOTAL))
             {
-                tools::Long nEnd = nCol;
-                while ( nEnd+1 < nThisColCount && ( pArray[nEnd+1].Flags & 
sheet::MemberResultFlags::CONTINUE ) )
+                // Check the number of columns this spreads
+                tools::Long nEnd = nColumn;
+                while (nEnd + 1 < nThisColCount && (pMemberArray[nEnd + 
1].Flags & sheet::MemberResultFlags::CONTINUE))
                     ++nEnd;
-                SCCOL nEndColPos = mnDataStartCol + static_cast<SCCOL>(nEnd);  
   //TODO: check for overflow
-                if ( nField+1 < mpColFields.size())
+
+                SCCOL nEndColPos = mnDataStartCol + SCCOL(nEnd); //TODO: check 
for overflow
+                if (nField + 1 < mpColFields.size())
                 {
-                    if ( nField == mpColFields.size() - 2 )
+                    if (nField == mpColFields.size() - 2)
                     {
                         outputimp.AddCol( nColPos );
-                        if ( nColPos + 1 == nEndColPos  )
-                            outputimp.OutputBlockFrame( nColPos,nRowPos, 
nEndColPos,nRowPos+1, true );
+                        if (nColPos + 1 == nEndColPos)
+                            outputimp.OutputBlockFrame(nColPos, nRowPos, 
nEndColPos, nRowPos + 1, true);
                     }
                     else
-                        outputimp.OutputBlockFrame( nColPos,nRowPos, 
nEndColPos,nRowPos );
+                        outputimp.OutputBlockFrame(nColPos, nRowPos, 
nEndColPos, nRowPos);
 
-                    lcl_SetStyleById(mpDocument, nTab, nColPos,nRowPos, 
nEndColPos, mnDataStartRow-1, STR_PIVOT_STYLENAME_CATEGORY);
+                    lcl_SetStyleById(mpDocument, nTab, nColPos, nRowPos, 
nEndColPos, mnDataStartRow - 1, STR_PIVOT_STYLENAME_CATEGORY);
                 }
                 else
-                    lcl_SetStyleById(mpDocument, nTab, nColPos,nRowPos, 
nColPos, mnDataStartRow-1, STR_PIVOT_STYLENAME_CATEGORY);
+                {
+                    lcl_SetStyleById(mpDocument, nTab, nColPos, nRowPos, 
nColPos, mnDataStartRow - 1, STR_PIVOT_STYLENAME_CATEGORY);
+                }
+            }
+            else if (pMemberArray[nColumn].Flags & 
sheet::MemberResultFlags::SUBTOTAL)
+            {
+                outputimp.AddCol(nColPos);
             }
-            else if (  pArray[nCol].Flags & sheet::MemberResultFlags::SUBTOTAL 
)
-                outputimp.AddCol( nColPos );
 
             // Apply format
             if (mpFormats)
@@ -1128,7 +1140,7 @@ void ScDPOutput::Output()
             // Apply the same number format as in data source.
             mpDocument->ApplyAttr(nColPos, nRowPos, nTab, 
SfxUInt32Item(ATTR_VALUE_FORMAT, mpColFields[nField].mnSrcNumFmt));
         }
-        if ( nField== 0 && mpColFields.size() == 1 )
+        if (nField == 0 && mpColFields.size() == 1)
             outputimp.OutputBlockFrame(mnDataStartCol, mnTabStartRow, 
mnTabEndCol, nRowPos - 1);
     }
 

Reply via email to