summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2016-09-23 14:29:59 +0200
committerNoel Grandin <noel@peralex.com>2016-09-26 08:29:38 +0200
commit8cde91ecce5664d1e58970d1ecd57817e63f34ec (patch)
treee955efd2dbbb66acbe01a3cd3077b7547111f386 /sc
parent58a24575eb96a045cd8cacd2c96ab64aee992c0e (diff)
convert BREAK constants to typed_flags_set
Change-Id: I33edff5feca07ed891df4c6c4dbc470748c4f4b4
Diffstat (limited to 'sc')
-rw-r--r--sc/inc/global.hxx21
-rw-r--r--sc/source/core/data/document.cxx12
-rw-r--r--sc/source/ui/docshell/docfunc.cxx4
-rw-r--r--sc/source/ui/unoobj/cellsuno.cxx14
-rw-r--r--sc/source/ui/unoobj/docuno.cxx8
-rw-r--r--sc/source/ui/vba/vbarange.cxx6
-rw-r--r--sc/source/ui/view/cellsh.cxx8
-rw-r--r--sc/source/ui/view/gridwin2.cxx8
-rw-r--r--sc/source/ui/view/gridwin4.cxx4
-rw-r--r--sc/source/ui/view/output.cxx20
-rw-r--r--sc/source/ui/view/printfun.cxx2
11 files changed, 56 insertions, 51 deletions
diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx
index 63a716457c94..7eda98044e29 100644
--- a/sc/inc/global.hxx
+++ b/sc/inc/global.hxx
@@ -127,10 +127,15 @@ const sal_uInt8 CR_FILTERED = 16;
const sal_uInt8 CR_MANUALSIZE = 32;
const sal_uInt8 CR_ALL = (CR_HIDDEN | CR_MANUALBREAK | CR_FILTERED | CR_MANUALSIZE);
-typedef sal_uInt8 ScBreakType;
-const ScBreakType BREAK_NONE = 0;
-const ScBreakType BREAK_PAGE = 1;
-const ScBreakType BREAK_MANUAL = 2;
+enum class ScBreakType {
+ NONE = 0x00,
+ Page = 0x01,
+ Manual = 0x02
+};
+namespace o3tl
+{
+ template<> struct typed_flags<ScBreakType> : is_typed_flags<ScBreakType, 0x03> {};
+}
enum class InsertDeleteFlags : sal_uInt16
{
@@ -609,14 +614,14 @@ public:
@param bEscapeEmbedded If <TRUE/>, embedded quote characters are
escaped by doubling them.
*/
-SC_DLLPUBLIC static void AddQuotes( OUString& rString, sal_Unicode cQuote, bool bEscapeEmbedded = true );
+ SC_DLLPUBLIC static void AddQuotes( OUString& rString, sal_Unicode cQuote, bool bEscapeEmbedded = true );
/** Erases the character cQuote from rString, if it exists at beginning AND end.
@param bUnescapeEmbedded If <TRUE/>, embedded doubled quote characters
are unescaped by replacing them with a
single instance.
*/
-SC_DLLPUBLIC static void EraseQuotes( OUString& rString, sal_Unicode cQuote, bool bUnescapeEmbedded = true );
+ SC_DLLPUBLIC static void EraseQuotes( OUString& rString, sal_Unicode cQuote, bool bUnescapeEmbedded = true );
/** Finds an unquoted instance of cChar in rString, starting at
offset nStart. Unquoted instances may occur when concatenating two
@@ -626,13 +631,13 @@ SC_DLLPUBLIC static void EraseQuotes( OUString& rString, sal_Unic
if cChar==cQuote the first cQuote character from nStart on is found.
@returns offset if found, else -1
*/
-SC_DLLPUBLIC static sal_Int32 FindUnquoted( const OUString& rString, sal_Unicode cChar);
+ SC_DLLPUBLIC static sal_Int32 FindUnquoted( const OUString& rString, sal_Unicode cChar);
/** Finds an unquoted instance of cChar in null-terminated pString. Same
semantics as FindUnquoted( const String&, ...)
@returns: pointer to cChar if found, else NULL
*/
-SC_DLLPUBLIC static const sal_Unicode* FindUnquoted( const sal_Unicode* pString, sal_Unicode cChar );
+ SC_DLLPUBLIC static const sal_Unicode* FindUnquoted( const sal_Unicode* pString, sal_Unicode cChar );
static rtl_TextEncoding GetCharsetValue( const OUString& rCharSet );
static OUString GetCharsetString( rtl_TextEncoding eVal );
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index adcf0c93ffc5..48e762c49e5f 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -4298,30 +4298,30 @@ void ScDocument::GetAllColBreaks(set<SCCOL>& rBreaks, SCTAB nTab, bool bPage, bo
ScBreakType ScDocument::HasRowBreak(SCROW nRow, SCTAB nTab) const
{
- ScBreakType nType = BREAK_NONE;
+ ScBreakType nType = ScBreakType::NONE;
if (!ValidTab(nTab) || nTab >= static_cast<SCTAB>(maTabs.size()) || !maTabs[nTab] || !ValidRow(nRow))
return nType;
if (maTabs[nTab]->HasRowPageBreak(nRow))
- nType |= BREAK_PAGE;
+ nType |= ScBreakType::Page;
if (maTabs[nTab]->HasRowManualBreak(nRow))
- nType |= BREAK_MANUAL;
+ nType |= ScBreakType::Manual;
return nType;
}
ScBreakType ScDocument::HasColBreak(SCCOL nCol, SCTAB nTab) const
{
- ScBreakType nType = BREAK_NONE;
+ ScBreakType nType = ScBreakType::NONE;
if (!ValidTab(nTab) || nTab >= static_cast<SCTAB>(maTabs.size()) || !maTabs[nTab] || !ValidCol(nCol))
return nType;
if (maTabs[nTab]->HasColPageBreak(nCol))
- nType |= BREAK_PAGE;
+ nType |= ScBreakType::Page;
if (maTabs[nTab]->HasColManualBreak(nCol))
- nType |= BREAK_MANUAL;
+ nType |= ScBreakType::Manual;
return nType;
}
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index 58862d99cfa5..ef5430a2eaac 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -3589,7 +3589,7 @@ bool ScDocFunc::InsertPageBreak( bool bColumn, const ScAddress& rPos,
ScBreakType nBreak = bColumn ?
rDoc.HasColBreak(static_cast<SCCOL>(nPos), nTab) :
rDoc.HasRowBreak(static_cast<SCROW>(nPos), nTab);
- if (nBreak & BREAK_MANUAL)
+ if (nBreak & ScBreakType::Manual)
return true;
if (bRecord)
@@ -3653,7 +3653,7 @@ bool ScDocFunc::RemovePageBreak( bool bColumn, const ScAddress& rPos,
nBreak = rDoc.HasColBreak(static_cast<SCCOL>(nPos), nTab);
else
nBreak = rDoc.HasRowBreak(static_cast<SCROW>(nPos), nTab);
- if ((nBreak & BREAK_MANUAL) == 0)
+ if (!(nBreak & ScBreakType::Manual))
// There is no manual break.
return false;
diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx
index 33bc42ef80e2..722de400ea90 100644
--- a/sc/source/ui/unoobj/cellsuno.cxx
+++ b/sc/source/ui/unoobj/cellsuno.cxx
@@ -7052,7 +7052,7 @@ uno::Sequence<sheet::TablePageBreakData> SAL_CALL ScTableSheetObj::getColumnPage
SCCOL nCount = 0;
SCCOL nCol;
for (nCol=0; nCol<=MAXCOL; nCol++)
- if (rDoc.HasColBreak(nCol, nTab))
+ if (rDoc.HasColBreak(nCol, nTab) != ScBreakType::NONE)
++nCount;
sheet::TablePageBreakData aData;
@@ -7062,10 +7062,10 @@ uno::Sequence<sheet::TablePageBreakData> SAL_CALL ScTableSheetObj::getColumnPage
for (nCol=0; nCol<=MAXCOL; nCol++)
{
ScBreakType nBreak = rDoc.HasColBreak(nCol, nTab);
- if (nBreak)
+ if (nBreak != ScBreakType::NONE)
{
aData.Position = nCol;
- aData.ManualBreak = (nBreak & BREAK_MANUAL) != 0;
+ aData.ManualBreak = bool(nBreak & ScBreakType::Manual);
pAry[nPos] = aData;
++nPos;
}
@@ -8828,12 +8828,12 @@ void ScTableColumnObj::GetOnePropertyValue( const SfxItemPropertySimpleEntry* pE
else if ( pEntry->nWID == SC_WID_UNO_NEWPAGE )
{
ScBreakType nBreak = rDoc.HasColBreak(nCol, nTab);
- rAny <<= (nBreak != BREAK_NONE);
+ rAny <<= nBreak != ScBreakType::NONE;
}
else if ( pEntry->nWID == SC_WID_UNO_MANPAGE )
{
ScBreakType nBreak = rDoc.HasColBreak(nCol, nTab);
- rAny <<= ((nBreak & BREAK_MANUAL) != 0);
+ rAny <<= bool(nBreak & ScBreakType::Manual);
}
else
ScCellRangeObj::GetOnePropertyValue(pEntry, rAny);
@@ -8981,11 +8981,11 @@ void ScTableRowObj::GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEntr
else if ( pEntry->nWID == SC_WID_UNO_NEWPAGE )
{
ScBreakType nBreak = rDoc.HasRowBreak(nRow, nTab);
- rAny <<= (nBreak != BREAK_NONE);
+ rAny <<= (nBreak != ScBreakType::NONE);
}
else if ( pEntry->nWID == SC_WID_UNO_MANPAGE )
{
- bool bBreak = (rDoc.HasRowBreak(nRow, nTab) & BREAK_MANUAL) != 0;
+ bool bBreak(rDoc.HasRowBreak(nRow, nTab) & ScBreakType::Manual);
rAny <<= bBreak;
}
else
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index 34a3851f65e3..c12869380b31 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -3749,12 +3749,12 @@ uno::Any SAL_CALL ScTableColumnsObj::getPropertyValue( const OUString& aProperty
else if ( aPropertyName == SC_UNONAME_NEWPAGE )
{
ScBreakType nBreak = rDoc.HasColBreak(nStartCol, nTab);
- aAny <<= (nBreak != BREAK_NONE);
+ aAny <<= (nBreak != ScBreakType::NONE);
}
else if ( aPropertyName == SC_UNONAME_MANPAGE )
{
ScBreakType nBreak = rDoc.HasColBreak(nStartCol, nTab);
- aAny <<= ((nBreak & BREAK_MANUAL) != 0);
+ aAny <<= bool(nBreak & ScBreakType::Manual);
}
return aAny;
@@ -4023,12 +4023,12 @@ uno::Any SAL_CALL ScTableRowsObj::getPropertyValue( const OUString& aPropertyNam
else if ( aPropertyName == SC_UNONAME_NEWPAGE )
{
ScBreakType nBreak = rDoc.HasRowBreak(nStartRow, nTab);
- aAny <<= (nBreak != BREAK_NONE);
+ aAny <<= (nBreak != ScBreakType::NONE);
}
else if ( aPropertyName == SC_UNONAME_MANPAGE )
{
ScBreakType nBreak = rDoc.HasRowBreak(nStartRow, nTab);
- aAny <<= ((nBreak & BREAK_MANUAL) != 0);
+ aAny <<= bool(nBreak & ScBreakType::Manual);
}
else if ( aPropertyName == SC_UNONAME_CELLBACK || aPropertyName == SC_UNONAME_CELLTRAN )
{
diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx
index dfc6dcac94b2..72bc3ffdab5e 100644
--- a/sc/source/ui/vba/vbarange.cxx
+++ b/sc/source/ui/vba/vbarange.cxx
@@ -3998,16 +3998,16 @@ ScVbaRange::getPageBreak() throw (uno::RuntimeException, std::exception)
{
ScDocument& rDoc = getDocumentFromRange( mxRange );
- ScBreakType nBreak = BREAK_NONE;
+ ScBreakType nBreak = ScBreakType::NONE;
if ( !bColumn )
nBreak = rDoc.HasRowBreak(thisAddress.StartRow, thisAddress.Sheet);
else
nBreak = rDoc.HasColBreak(thisAddress.StartColumn, thisAddress.Sheet);
- if (nBreak & BREAK_PAGE)
+ if (nBreak & ScBreakType::Page)
nPageBreak = excel::XlPageBreak::xlPageBreakAutomatic;
- if (nBreak & BREAK_MANUAL)
+ if (nBreak & ScBreakType::Manual)
nPageBreak = excel::XlPageBreak::xlPageBreakManual;
}
}
diff --git a/sc/source/ui/view/cellsh.cxx b/sc/source/ui/view/cellsh.cxx
index 8907fc3a83e6..a6318211acef 100644
--- a/sc/source/ui/view/cellsh.cxx
+++ b/sc/source/ui/view/cellsh.cxx
@@ -833,22 +833,22 @@ void ScCellShell::GetState(SfxItemSet &rSet)
break;
case FID_INS_ROWBRK:
- if ( nPosY==0 || (pDoc->HasRowBreak(nPosY, nTab) & BREAK_MANUAL) )
+ if ( nPosY==0 || (pDoc->HasRowBreak(nPosY, nTab) & ScBreakType::Manual) )
rSet.DisableItem( nWhich );
break;
case FID_INS_COLBRK:
- if ( nPosX==0 || (pDoc->HasColBreak(nPosX, nTab) & BREAK_MANUAL) )
+ if ( nPosX==0 || (pDoc->HasColBreak(nPosX, nTab) & ScBreakType::Manual) )
rSet.DisableItem( nWhich );
break;
case FID_DEL_ROWBRK:
- if ( nPosY==0 || (pDoc->HasRowBreak(nPosY, nTab) & BREAK_MANUAL) == 0 )
+ if ( nPosY==0 || !(pDoc->HasRowBreak(nPosY, nTab) & ScBreakType::Manual) )
rSet.DisableItem( nWhich );
break;
case FID_DEL_COLBRK:
- if ( nPosX==0 || (pDoc->HasColBreak(nPosX, nTab) & BREAK_MANUAL) == 0 )
+ if ( nPosX==0 || !(pDoc->HasColBreak(nPosX, nTab) & ScBreakType::Manual) )
rSet.DisableItem( nWhich );
break;
diff --git a/sc/source/ui/view/gridwin2.cxx b/sc/source/ui/view/gridwin2.cxx
index edb5ad6f3ec4..e81f1ece6a92 100644
--- a/sc/source/ui/view/gridwin2.cxx
+++ b/sc/source/ui/view/gridwin2.cxx
@@ -967,7 +967,7 @@ void ScGridWindow::PagebreakMove( const MouseEvent& rMEvt, bool bUp )
bool bGrow = !bHide && nNew > nPagebreakBreak;
if ( bColumn )
{
- if (rDoc.HasColBreak(static_cast<SCCOL>(nPagebreakBreak), nTab) & BREAK_MANUAL)
+ if (rDoc.HasColBreak(static_cast<SCCOL>(nPagebreakBreak), nTab) & ScBreakType::Manual)
{
ScAddress aOldAddr( static_cast<SCCOL>(nPagebreakBreak), nPosY, nTab );
pViewFunc->DeletePageBreak( true, true, &aOldAddr, false );
@@ -980,7 +980,7 @@ void ScGridWindow::PagebreakMove( const MouseEvent& rMEvt, bool bUp )
if ( bGrow )
{
// change last break to hard, and change scaleing
- bool bManualBreak = (rDoc.HasColBreak(static_cast<SCCOL>(nPagebreakPrev), nTab) & BREAK_MANUAL);
+ bool bManualBreak(rDoc.HasColBreak(static_cast<SCCOL>(nPagebreakPrev), nTab) & ScBreakType::Manual);
if ( static_cast<SCCOL>(nPagebreakPrev) > aPagebreakSource.aStart.Col() && !bManualBreak )
{
ScAddress aPrev( static_cast<SCCOL>(nPagebreakPrev), nPosY, nTab );
@@ -994,7 +994,7 @@ void ScGridWindow::PagebreakMove( const MouseEvent& rMEvt, bool bUp )
}
else
{
- if (rDoc.HasRowBreak(nPagebreakBreak, nTab) & BREAK_MANUAL)
+ if (rDoc.HasRowBreak(nPagebreakBreak, nTab) & ScBreakType::Manual)
{
ScAddress aOldAddr( nPosX, nPagebreakBreak, nTab );
pViewFunc->DeletePageBreak( false, true, &aOldAddr, false );
@@ -1007,7 +1007,7 @@ void ScGridWindow::PagebreakMove( const MouseEvent& rMEvt, bool bUp )
if ( bGrow )
{
// change last break to hard, and change scaleing
- bool bManualBreak = (rDoc.HasRowBreak(nPagebreakPrev, nTab) & BREAK_MANUAL);
+ bool bManualBreak(rDoc.HasRowBreak(nPagebreakPrev, nTab) & ScBreakType::Manual);
if ( nPagebreakPrev > aPagebreakSource.aStart.Row() && !bManualBreak )
{
ScAddress aPrev( nPosX, nPagebreakPrev, nTab );
diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx
index 83459f1debcf..fa3cbd1bcf69 100644
--- a/sc/source/ui/view/gridwin4.cxx
+++ b/sc/source/ui/view/gridwin4.cxx
@@ -1338,7 +1338,7 @@ void ScGridWindow::DrawPagePreview( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
if ( nBreak >= nX1 && nBreak <= nX2+1 )
{
//! Search for hidden
- if (pDoc->HasColBreak(nBreak, nTab) & BREAK_MANUAL)
+ if (pDoc->HasColBreak(nBreak, nTab) & ScBreakType::Manual)
rRenderContext.SetFillColor( aManual );
else
rRenderContext.SetFillColor( aAutomatic );
@@ -1357,7 +1357,7 @@ void ScGridWindow::DrawPagePreview( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
if ( nBreak >= nY1 && nBreak <= nY2+1 )
{
//! Search for hidden
- if (pDoc->HasRowBreak(nBreak, nTab) & BREAK_MANUAL)
+ if (pDoc->HasRowBreak(nBreak, nTab) & ScBreakType::Manual)
rRenderContext.SetFillColor( aManual );
else
rRenderContext.SetFillColor( aAutomatic );
diff --git a/sc/source/ui/view/output.cxx b/sc/source/ui/view/output.cxx
index aa0a6bdb1188..b9a5e462dce1 100644
--- a/sc/source/ui/view/output.cxx
+++ b/sc/source/ui/view/output.cxx
@@ -314,8 +314,8 @@ void ScOutputData::DrawGrid(vcl::RenderContext& rRenderContext, bool bGrid, bool
long nPosX;
long nPosY;
SCSIZE nArrY;
- ScBreakType nBreak = BREAK_NONE;
- ScBreakType nBreakOld = BREAK_NONE;
+ ScBreakType nBreak = ScBreakType::NONE;
+ ScBreakType nBreakOld = ScBreakType::NONE;
bool bSingle;
Color aPageColor;
@@ -396,7 +396,7 @@ void ScOutputData::DrawGrid(vcl::RenderContext& rRenderContext, bool bGrid, bool
nBreak = mpDoc->HasColBreak(nCol, nTab);
bool bHidden = mpDoc->ColHidden(nCol, nTab);
- if ( nBreak || !bHidden )
+ if ( nBreak != ScBreakType::NONE || !bHidden )
break;
++nCol;
}
@@ -404,13 +404,13 @@ void ScOutputData::DrawGrid(vcl::RenderContext& rRenderContext, bool bGrid, bool
if (nBreak != nBreakOld)
{
aGrid.Flush();
- rRenderContext.SetLineColor( (nBreak & BREAK_MANUAL) ? aManualColor :
- nBreak ? aPageColor : aGridColor );
+ rRenderContext.SetLineColor( (nBreak & ScBreakType::Manual) ? aManualColor :
+ nBreak != ScBreakType::NONE ? aPageColor : aGridColor );
nBreakOld = nBreak;
}
}
- bool bDraw = bGrid || nBreakOld; // simple grid only if set that way
+ bool bDraw = bGrid || nBreakOld != ScBreakType::NONE; // simple grid only if set that way
sal_uInt16 nWidthXplus2 = pRowInfo[0].pCellInfo[nXplus2].nWidth;
bSingle = bSingleGrid; //! get into Fillinfo !!!!!
@@ -503,20 +503,20 @@ void ScOutputData::DrawGrid(vcl::RenderContext& rRenderContext, bool bGrid, bool
* priority. Something like GetNextRowBreak() and
* GetNextManualRowBreak(). */
nBreak = mpDoc->HasRowBreak(i, nTab);
- if (!bHiddenRow || nBreak)
+ if (!bHiddenRow || nBreak != ScBreakType::NONE)
break;
}
if (nBreakOld != nBreak)
{
aGrid.Flush();
- rRenderContext.SetLineColor( (nBreak & BREAK_MANUAL) ? aManualColor :
- (nBreak) ? aPageColor : aGridColor );
+ rRenderContext.SetLineColor( (nBreak & ScBreakType::Manual) ? aManualColor :
+ (nBreak != ScBreakType::NONE) ? aPageColor : aGridColor );
nBreakOld = nBreak;
}
}
- bool bDraw = bGrid || nBreakOld; // simple grid only if set so
+ bool bDraw = bGrid || nBreakOld != ScBreakType::NONE; // simple grid only if set so
bool bNextYisNextRow = (pRowInfo[nArrYplus1].nRowNo == nYplus1);
bSingle = !bNextYisNextRow; // Hidden
diff --git a/sc/source/ui/view/printfun.cxx b/sc/source/ui/view/printfun.cxx
index fd2e7c10e46a..cd8e05ab16ec 100644
--- a/sc/source/ui/view/printfun.cxx
+++ b/sc/source/ui/view/printfun.cxx
@@ -3023,7 +3023,7 @@ void ScPrintFunc::CalcPages() // calculates aPageRect and pages fr
for (SCCOL i=nStartCol; i<=nEndCol; i++)
{
bool bHidden = pDoc->ColHidden(i, nPrintTab);
- bool bPageBreak = (pDoc->HasColBreak(i, nPrintTab) & BREAK_PAGE);
+ bool bPageBreak(pDoc->HasColBreak(i, nPrintTab) & ScBreakType::Page);
if ( i>nStartCol && bVisCol && bPageBreak )
{
OSL_ENSURE(nPagesX < maPageEndX.size(), "vector access error for maPageEndX (!)");