diff options
author | Jochen Nitschke <j.nitschke+logerrit@ok.de> | 2016-03-09 15:23:11 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2016-03-12 00:21:29 +0000 |
commit | 51d0b4037b36a4a74c9181b95edb18017542ab79 (patch) | |
tree | c13c5ac4782888e1640ee60911d68329018dcc05 /sc/source/ui/pagedlg | |
parent | dc519b6dea7653e4b68b45aa664e3c0b5189d682 (diff) |
tdf#84938 Change defines to typed_flags
Put defines into an enum class and use typed_flags template from o3tl
to give them flag operators.
There were some shift operations to apply flags from start references
to end references, these went into a helper in address.hxx to hide
them. A marco with shift operations in address.cxx was rewritten in two
helpers without shifts.
One shift remained in ScRange::Format with a comment.
The other flag untypical operator was a minus 1 in a helper for
ScRefFinder::ToggleRel, which iteratates through all possible
combinations for absolute references. This is used to make referecnces
absolute via SHIFT+F4. A replacement would be too complex.
Change-Id: I4850f1623e01e56c60ac2260b95fc5cad8b6fd71
Signed-off-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
Reviewed-on: https://gerrit.libreoffice.org/22840
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc/source/ui/pagedlg')
-rw-r--r-- | sc/source/ui/pagedlg/areasdlg.cxx | 68 |
1 files changed, 35 insertions, 33 deletions
diff --git a/sc/source/ui/pagedlg/areasdlg.cxx b/sc/source/ui/pagedlg/areasdlg.cxx index 5d9f76d2f7c5..f4107c7d63ba 100644 --- a/sc/source/ui/pagedlg/areasdlg.cxx +++ b/sc/source/ui/pagedlg/areasdlg.cxx @@ -61,28 +61,28 @@ static void lcl_GetRepeatRangeString( const ScRange* pRange, ScDocument* pDoc, b #if 0 // this method is useful when debugging address flags. -static void printAddressFlags(sal_uInt16 nFlag) +static void printAddressFlags(ScRefFlags nFlag) { - if ((nFlag & SCA_COL_ABSOLUTE ) == SCA_COL_ABSOLUTE ) printf("SCA_COL_ABSOLUTE \n"); - if ((nFlag & SCA_ROW_ABSOLUTE ) == SCA_ROW_ABSOLUTE ) printf("SCA_ROW_ABSOLUTE \n"); - if ((nFlag & SCA_TAB_ABSOLUTE ) == SCA_TAB_ABSOLUTE ) printf("SCA_TAB_ABSOLUTE \n"); - if ((nFlag & SCA_TAB_3D ) == SCA_TAB_3D ) printf("SCA_TAB_3D \n"); - if ((nFlag & SCA_COL2_ABSOLUTE ) == SCA_COL2_ABSOLUTE ) printf("SCA_COL2_ABSOLUTE\n"); - if ((nFlag & SCA_ROW2_ABSOLUTE ) == SCA_ROW2_ABSOLUTE ) printf("SCA_ROW2_ABSOLUTE\n"); - if ((nFlag & SCA_TAB2_ABSOLUTE ) == SCA_TAB2_ABSOLUTE ) printf("SCA_TAB2_ABSOLUTE\n"); - if ((nFlag & SCA_TAB2_3D ) == SCA_TAB2_3D ) printf("SCA_TAB2_3D \n"); - if ((nFlag & SCA_VALID_ROW ) == SCA_VALID_ROW ) printf("SCA_VALID_ROW \n"); - if ((nFlag & SCA_VALID_COL ) == SCA_VALID_COL ) printf("SCA_VALID_COL \n"); - if ((nFlag & SCA_VALID_TAB ) == SCA_VALID_TAB ) printf("SCA_VALID_TAB \n"); - if ((nFlag & SCA_FORCE_DOC ) == SCA_FORCE_DOC ) printf("SCA_FORCE_DOC \n"); - if ((nFlag & SCA_VALID_ROW2 ) == SCA_VALID_ROW2 ) printf("SCA_VALID_ROW2 \n"); - if ((nFlag & SCA_VALID_COL2 ) == SCA_VALID_COL2 ) printf("SCA_VALID_COL2 \n"); - if ((nFlag & SCA_VALID_TAB2 ) == SCA_VALID_TAB2 ) printf("SCA_VALID_TAB2 \n"); - if ((nFlag & SCA_VALID ) == SCA_VALID ) printf("SCA_VALID \n"); - if ((nFlag & SCA_ABS ) == SCA_ABS ) printf("SCA_ABS \n"); - if ((nFlag & SCR_ABS ) == SCR_ABS ) printf("SCR_ABS \n"); - if ((nFlag & SCA_ABS_3D ) == SCA_ABS_3D ) printf("SCA_ABS_3D \n"); - if ((nFlag & SCR_ABS_3D ) == SCR_ABS_3D ) printf("SCR_ABS_3D \n"); + if ((nFlag & ScRefFlags::COL_ABS ) == ScRefFlags::COL_ABS ) printf("ScRefFlags::COL_ABS \n"); + if ((nFlag & ScRefFlags::ROW_ABS ) == ScRefFlags::ROW_ABS ) printf("ScRefFlags::ROW_ABS \n"); + if ((nFlag & ScRefFlags::TAB_ABS ) == ScRefFlags::TAB_ABS ) printf("ScRefFlags::TAB_ABS \n"); + if ((nFlag & ScRefFlags::TAB_3D ) == ScRefFlags::TAB_3D ) printf("ScRefFlags::TAB_3D \n"); + if ((nFlag & ScRefFlags::COL2_ABS ) == ScRefFlags::COL2_ABS ) printf("ScRefFlags::COL2_ABS \n"); + if ((nFlag & ScRefFlags::ROW2_ABS ) == ScRefFlags::ROW2_ABS ) printf("ScRefFlags::ROW2_ABS \n"); + if ((nFlag & ScRefFlags::TAB2_ABS ) == ScRefFlags::TAB2_ABS ) printf("ScRefFlags::TAB2_ABS \n"); + if ((nFlag & ScRefFlags::TAB2_3D ) == ScRefFlags::TAB2_3D ) printf("ScRefFlags::TAB2_3D \n"); + if ((nFlag & ScRefFlags::ROW_VALID ) == ScRefFlags::ROW_VALID ) printf("ScRefFlags::ROW_VALID \n"); + if ((nFlag & ScRefFlags::COL_VALID ) == ScRefFlags::COL_VALID ) printf("ScRefFlags::COL_VALID \n"); + if ((nFlag & ScRefFlags::TAB_VALID ) == ScRefFlags::TAB_VALID ) printf("ScRefFlags::TAB_VALID \n"); + if ((nFlag & ScRefFlags::FORCE_DOC ) == ScRefFlags::FORCE_DOC ) printf("ScRefFlags::FORCE_DOC \n"); + if ((nFlag & ScRefFlags::ROW2_VALID ) == ScRefFlags::ROW2_VALID ) printf("ScRefFlags::ROW2_VALID \n"); + if ((nFlag & ScRefFlags::COL2_VALID ) == ScRefFlags::COL2_VALID ) printf("ScRefFlags::COL2_VALID \n"); + if ((nFlag & ScRefFlags::TAB2_VALID ) == ScRefFlags::TAB2_VALID ) printf("ScRefFlags::TAB2_VALID \n"); + if ((nFlag & ScRefFlags::VALID ) == ScRefFlags::VALID ) printf("ScRefFlags::VALID \n"); + if ((nFlag & ScRefFlags::ADDR_ABS ) == ScRefFlags::ADDR_ABS ) printf("ScRefFlags::ADDR_ABS \n"); + if ((nFlag & ScRefFlags::RANGE_ABS ) == ScRefFlags::RANGE_ABS ) printf("ScRefFlags::RANGE_ABS \n"); + if ((nFlag & ScRefFlags::ADDR_ABS_3D ) == ScRefFlags::ADDR_ABS_3D ) printf("ScRefFlags::ADDR_ABS_3D \n"); + if ((nFlag & ScRefFlags::RANGE_ABS_3D ) == ScRefFlags::RANGE_ABS_3D ) printf("ScRefFlags::RANGE_ABS_3D \n"); } #endif @@ -192,7 +192,7 @@ void ScPrintAreasDlg::SetReference( const ScRange& rRef, ScDocument* /* pDoc */ if ( pEdPrintArea == pRefInputEdit ) { - aStr = rRef.Format(SCR_ABS, pDoc, eConv); + aStr = rRef.Format(ScRefFlags::RANGE_ABS, pDoc, eConv); OUString aVal = pEdPrintArea->GetText(); Selection aSel = pEdPrintArea->GetSelection(); aSel.Justify(); @@ -287,7 +287,7 @@ void ScPrintAreasDlg::Impl_Reset() { if ( !aStrRange.isEmpty() ) aStrRange += OUString(sep); - aOne = pPrintRange->Format(SCR_ABS, pDoc, eConv); + aOne = pPrintRange->Format(ScRefFlags::RANGE_ABS, pDoc, eConv); aStrRange += aOne; } } @@ -324,7 +324,7 @@ bool ScPrintAreasDlg::Impl_GetItem( Edit* pEd, SfxStringItem& rItem ) ScRange aRange; const formula::FormulaGrammar::AddressConvention eConv = pDoc->GetAddressConvention(); lcl_CheckRepeatString(aRangeStr, pDoc, pEdRepeatRow == pEd, &aRange); - aRangeStr = aRange.Format(SCR_ABS, pDoc, eConv); + aRangeStr = aRange.Format(ScRefFlags::RANGE_ABS, pDoc, eConv); } rItem.SetValue( aRangeStr ); @@ -342,8 +342,8 @@ bool ScPrintAreasDlg::Impl_CheckRefStrings() bool bPrintAreaOk = true; if ( !aStrPrintArea.isEmpty() ) { - const sal_uInt16 nValidAddr = SCA_VALID | SCA_VALID_ROW | SCA_VALID_COL; - const sal_uInt16 nValidRange = nValidAddr | SCA_VALID_ROW2 | SCA_VALID_COL2; + const ScRefFlags nValidAddr = ScRefFlags::VALID | ScRefFlags::ROW_VALID | ScRefFlags::COL_VALID; + const ScRefFlags nValidRange = nValidAddr | ScRefFlags::ROW2_VALID | ScRefFlags::COL2_VALID; const formula::FormulaGrammar::AddressConvention eConv = pDoc->GetAddressConvention(); const sal_Unicode sep = ScCompiler::GetNativeSymbolChar(ocSep); @@ -353,10 +353,10 @@ bool ScPrintAreasDlg::Impl_CheckRefStrings() for ( sal_Int32 i = 0; i < nSepCount && bPrintAreaOk; ++i ) { OUString aOne = aStrPrintArea.getToken(i, sep); - sal_uInt16 nResult = aRange.Parse( aOne, pDoc, eConv ); + ScRefFlags nResult = aRange.Parse( aOne, pDoc, eConv ); if ((nResult & nValidRange) != nValidRange) { - sal_uInt16 nAddrResult = aAddr.Parse( aOne, pDoc, eConv ); + ScRefFlags nAddrResult = aAddr.Parse( aOne, pDoc, eConv ); if ((nAddrResult & nValidAddr) != nValidAddr) bPrintAreaOk = false; } @@ -409,12 +409,12 @@ void ScPrintAreasDlg::Impl_FillLists() formula::FormulaGrammar::AddressConvention eConv = pDoc->GetAddressConvention(); if ( bSimple ) - aStrRange = aRange.Format(SCR_ABS, pDoc, eConv); + aStrRange = aRange.Format(ScRefFlags::RANGE_ABS, pDoc, eConv); else { ScRangeListRef aList( new ScRangeList ); pViewData->GetMarkData().FillRangeListWithMarks( aList, false ); - aList->Format(aStrRange, SCR_ABS, pDoc, eConv); + aList->Format(aStrRange, ScRefFlags::RANGE_ABS, pDoc, eConv); } pLbPrintArea->SetEntryData( SC_AREASDLG_PR_SELECT, new OUString( aStrRange ) ); @@ -436,11 +436,11 @@ void ScPrintAreasDlg::Impl_FillLists() OUString aName = itr->second->GetName(); OUString aSymbol; itr->second->GetSymbol(aSymbol); - if (aRange.ParseAny(aSymbol, pDoc, eConv) & SCA_VALID) + if (aRange.ParseAny(aSymbol, pDoc, eConv) & ScRefFlags::VALID) { if (itr->second->HasType(RT_PRINTAREA)) { - aSymbol = aRange.Format(SCR_ABS, pDoc, eConv); + aSymbol = aRange.Format(ScRefFlags::RANGE_ABS, pDoc, eConv); pLbPrintArea->SetEntryData( pLbPrintArea->InsertEntry(aName), new OUString(aSymbol) ); @@ -808,7 +808,9 @@ static void lcl_GetRepeatRangeString( const ScRange* pRange, ScDocument* pDoc, b const ScAddress& rStart = pRange->aStart; const ScAddress& rEnd = pRange->aEnd; - const sal_uInt16 nFmt = bIsRow ? (SCA_VALID_ROW | SCA_ROW_ABSOLUTE) : (SCA_VALID_COL | SCA_COL_ABSOLUTE); + const ScRefFlags nFmt = bIsRow + ? (ScRefFlags::ROW_VALID | ScRefFlags::ROW_ABS) + : (ScRefFlags::COL_VALID | ScRefFlags::COL_ABS); rStr += rStart.Format(nFmt, pDoc, eConv); if ((bIsRow && rStart.Row() != rEnd.Row()) || (!bIsRow && rStart.Col() != rEnd.Col())) { |