summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/inc/fillinfo.hxx49
-rw-r--r--sc/source/core/data/fillinfo.cxx72
2 files changed, 66 insertions, 55 deletions
diff --git a/sc/inc/fillinfo.hxx b/sc/inc/fillinfo.hxx
index 94bd6b19d23e..d35bb8e42df5 100644
--- a/sc/inc/fillinfo.hxx
+++ b/sc/inc/fillinfo.hxx
@@ -29,8 +29,6 @@
#include "colorscale.hxx"
#include "cellvalue.hxx"
-#include <boost/noncopyable.hpp>
-
class SfxItemSet;
class SvxBrushItem;
class SvxBoxItem;
@@ -96,8 +94,42 @@ struct ScIconSetInfo
bool mbShowValue;
};
-struct CellInfo : boost::noncopyable
+struct CellInfo
{
+ CellInfo()
+ : pPatternAttr(nullptr)
+ , pConditionSet(nullptr)
+ , pBackground(nullptr) // TODO: omit?
+ , pLinesAttr(nullptr)
+ , mpTLBRLine(nullptr)
+ , mpBLTRLine(nullptr)
+ , pShadowAttr(nullptr)
+ , pHShadowOrigin(nullptr)
+ , pVShadowOrigin(nullptr)
+ , eHShadowPart(SC_SHADOW_HSTART)
+ , eVShadowPart(SC_SHADOW_HSTART)
+ , nClipMark(SC_CLIPMARK_NONE)
+ , nWidth(0)
+ , nRotateDir(SC_ROTDIR_NONE)
+ , bMarked(false)
+ , bEmptyCellText(false)
+ , bMerged(false)
+ , bHOverlapped(false)
+ , bVOverlapped(false)
+ , bAutoFilter(false)
+ , bPivotButton(false)
+ , bPivotPopupButton(false)
+ , bFilterActive(false)
+ , bPrinted(false) // view-internal
+ , bHideGrid(false) // view-internal
+ , bEditEngine(false) // view-internal
+ {
+ }
+
+ ~CellInfo() = default;
+ CellInfo(const CellInfo&) = delete;
+ const CellInfo& operator=(const CellInfo&) = delete;
+
ScRefCellValue maCell;
const ScPatternAttr* pPatternAttr;
@@ -139,8 +171,13 @@ struct CellInfo : boost::noncopyable
const SCCOL SC_ROTMAX_NONE = SCCOL_MAX;
-struct RowInfo : boost::noncopyable
+struct RowInfo
{
+ RowInfo() = default;
+ ~RowInfo() = default;
+ RowInfo(const RowInfo&) = delete;
+ const RowInfo& operator=(const RowInfo&) = delete;
+
CellInfo* pCellInfo;
sal_uInt16 nHeight;
@@ -154,7 +191,7 @@ struct RowInfo : boost::noncopyable
bool bChanged:1; // TRUE, if not tested
};
-struct ScTableInfo : boost::noncopyable
+struct ScTableInfo
{
svx::frame::Array maArray;
RowInfo* mpRowInfo;
@@ -163,6 +200,8 @@ struct ScTableInfo : boost::noncopyable
explicit ScTableInfo();
~ScTableInfo();
+ ScTableInfo(const ScTableInfo&) = delete;
+ const ScTableInfo& operator=(const ScTableInfo&) = delete;
};
#endif
diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index 578621668740..b167a82c9058 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -157,11 +157,11 @@ class RowInfoFiller
{
alignArray(nRow);
- RowInfo* pThisRowInfo = &mpRowInfo[mnArrY];
- CellInfo* pInfo = &pThisRowInfo->pCellInfo[mnArrX];
- pInfo->maCell = rCell;
- pThisRowInfo->bEmptyText = false;
- pInfo->bEmptyCellText = false;
+ RowInfo& rThisRowInfo = mpRowInfo[mnArrY];
+ CellInfo& rInfo = rThisRowInfo.pCellInfo[mnArrX];
+ rInfo.maCell = rCell;
+ rThisRowInfo.bEmptyText = false;
+ rInfo.bEmptyCellText = false;
++mnArrY;
}
@@ -266,55 +266,27 @@ void initCellInfo(RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nRotMax, bool bPain
const SvxShadowItem* pDefShadow, SCROW nBlockStartY, SCROW nBlockEndY,
SCCOL nBlockStartX, SCCOL nBlockEndX)
{
- for (SCSIZE nArrRow = 0; nArrRow < nArrCount; nArrRow++)
+ for (SCSIZE nArrRow = 0; nArrRow < nArrCount; ++nArrRow)
{
- RowInfo* pThisRowInfo = &pRowInfo[nArrRow];
- SCROW nY = pThisRowInfo->nRowNo;
- pThisRowInfo->pCellInfo = new CellInfo[ nRotMax+1+2 ]; // to delete the caller!
+ RowInfo& rThisRowInfo = pRowInfo[nArrRow];
+ SCROW nY = rThisRowInfo.nRowNo;
+ rThisRowInfo.pCellInfo = new CellInfo[nRotMax + 1 + 2]; // to delete the caller!
- for (SCCOL nArrCol = 0; nArrCol <= nRotMax+2; nArrCol++) // Preassign cell info
+ for (SCCOL nArrCol = 0; nArrCol <= nRotMax+2; ++nArrCol) // Preassign cell info
{
- SCCOL nX;
- if (nArrCol>0)
- nX = nArrCol-1;
- else
- nX = MAXCOL+1; // invalid
-
- CellInfo* pInfo = &pThisRowInfo->pCellInfo[nArrCol];
- pInfo->bEmptyCellText = true;
- pInfo->maCell.clear();
+ CellInfo& rInfo = rThisRowInfo.pCellInfo[nArrCol];
if (bPaintMarks)
- pInfo->bMarked = ( nX >= nBlockStartX && nX <= nBlockEndX
- && nY >= nBlockStartY && nY <= nBlockEndY );
- else
- pInfo->bMarked = false;
- pInfo->nWidth = 0;
-
- pInfo->nClipMark = SC_CLIPMARK_NONE;
- pInfo->bMerged = false;
- pInfo->bHOverlapped = false;
- pInfo->bVOverlapped = false;
- pInfo->bAutoFilter = false;
- pInfo->bPivotButton = false;
- pInfo->bPivotPopupButton = false;
- pInfo->bFilterActive = false;
- pInfo->nRotateDir = SC_ROTDIR_NONE;
-
- pInfo->bPrinted = false; // view-internal
- pInfo->bHideGrid = false; // view-internal
- pInfo->bEditEngine = false; // view-internal
-
- pInfo->pBackground = nullptr; //TODO: omit?
- pInfo->pPatternAttr = nullptr;
- pInfo->pConditionSet= nullptr;
-
- pInfo->pLinesAttr = nullptr;
- pInfo->mpTLBRLine = nullptr;
- pInfo->mpBLTRLine = nullptr;
-
- pInfo->pShadowAttr = pDefShadow;
- pInfo->pHShadowOrigin = nullptr;
- pInfo->pVShadowOrigin = nullptr;
+ {
+ SCCOL nX;
+ if (nArrCol>0)
+ nX = nArrCol-1;
+ else
+ nX = MAXCOL+1; // invalid
+ rInfo.bMarked = (nX >= nBlockStartX && nX <= nBlockEndX &&
+ nY >= nBlockStartY && nY <= nBlockEndY);
+ }
+ rInfo.bEmptyCellText = true;
+ rInfo.pShadowAttr = pDefShadow;
}
}
}