diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index 2ecff4426a18..bd736b094a98 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -783,7 +783,7 @@ public: SC_DLLPUBLIC void SetAllRangeNames(const std::map& rRangeMap); SC_DLLPUBLIC void GetRangeNameMap(std::map& rRangeName); SC_DLLPUBLIC ScRangeName* GetRangeName(SCTAB nTab) const; - SC_DLLPUBLIC ScRangeName* GetRangeName() const; + SC_DLLPUBLIC ScRangeName& GetRangeName() const; void SetRangeName(SCTAB nTab, std::unique_ptr pNew); void SetRangeName( std::unique_ptr pNewRangeName ); bool IsAddressInRangeName( RangeNameScope eScope, const ScAddress& rAddress); diff --git a/sc/inc/rangeutl.hxx b/sc/inc/rangeutl.hxx index 2f23f84432cb..6fbbe603024b 100644 --- a/sc/inc/rangeutl.hxx +++ b/sc/inc/rangeutl.hxx @@ -256,7 +256,7 @@ public: class SC_DLLPUBLIC ScAreaNameIterator { private: - ScRangeName* pRangeName; + ScRangeName& rRangeName; ScDBCollection* pDBCollection; ScRangeName::const_iterator maRNPos; ScRangeName::const_iterator maRNEnd; diff --git a/sc/qa/unit/helper/qahelper.cxx b/sc/qa/unit/helper/qahelper.cxx index 3477059fc5c1..88e068424738 100644 --- a/sc/qa/unit/helper/qahelper.cxx +++ b/sc/qa/unit/helper/qahelper.cxx @@ -935,7 +935,7 @@ bool ScUcalcTestBase::insertRangeNames( OUString ScUcalcTestBase::getRangeByName(const ScDocument* pDoc, const OUString& aRangeName) { - ScRangeData* pName = pDoc->GetRangeName()->findByUpperName(aRangeName.toAsciiUpperCase()); + ScRangeData* pName = pDoc->GetRangeName().findByUpperName(aRangeName.toAsciiUpperCase()); CPPUNIT_ASSERT(pName); return pName->GetSymbol(pDoc->GetGrammar()); } diff --git a/sc/qa/unit/jumbosheets-test.cxx b/sc/qa/unit/jumbosheets-test.cxx index 817abef3452a..2e11e2f563ea 100644 --- a/sc/qa/unit/jumbosheets-test.cxx +++ b/sc/qa/unit/jumbosheets-test.cxx @@ -165,7 +165,7 @@ void ScJumboSheetsTest::testRoundtripNamedRanges(const char* name, TestFilter eF ScDocument* pDoc = getScDoc(); for (const auto& range : ranges) { - ScRangeData* rangeData = pDoc->GetRangeName()->findByUpperName(range.first); + ScRangeData* rangeData = pDoc->GetRangeName().findByUpperName(range.first); CPPUNIT_ASSERT(rangeData); CPPUNIT_ASSERT_EQUAL(range.second, rangeData->GetSymbol()); } @@ -176,7 +176,7 @@ void ScJumboSheetsTest::testRoundtripNamedRanges(const char* name, TestFilter eF ScDocument* pDoc = getScDoc(); for (const auto& range : ranges) { - ScRangeData* rangeData = pDoc->GetRangeName()->findByUpperName(range.first); + ScRangeData* rangeData = pDoc->GetRangeName().findByUpperName(range.first); CPPUNIT_ASSERT(rangeData); CPPUNIT_ASSERT_EQUAL(range.second, rangeData->GetSymbol()); } diff --git a/sc/qa/unit/subsequent_export_test.cxx b/sc/qa/unit/subsequent_export_test.cxx index d57983b3b49f..ad4bcdab9a92 100644 --- a/sc/qa/unit/subsequent_export_test.cxx +++ b/sc/qa/unit/subsequent_export_test.cxx @@ -1247,7 +1247,7 @@ CPPUNIT_TEST_FIXTURE(ScExportTest, testNamedRangeBugfdo62729) createScDoc("ods/fdo62729.ods"); ScDocument* pDoc = getScDoc(); - ScRangeName* pNames = pDoc->GetRangeName(); + ScRangeName* pNames = &pDoc->GetRangeName(); //should be just a single named range CPPUNIT_ASSERT_EQUAL(size_t(1), pNames->size()); pDoc->DeleteTab(0); @@ -1257,7 +1257,7 @@ CPPUNIT_TEST_FIXTURE(ScExportTest, testNamedRangeBugfdo62729) pDoc = getScDoc(); - pNames = pDoc->GetRangeName(); + pNames = &pDoc->GetRangeName(); //after reload should still have a named range CPPUNIT_ASSERT_EQUAL(size_t(1), pNames->size()); #endif diff --git a/sc/qa/unit/subsequent_export_test3.cxx b/sc/qa/unit/subsequent_export_test3.cxx index 220ef94520a0..045dc1b51ac0 100644 --- a/sc/qa/unit/subsequent_export_test3.cxx +++ b/sc/qa/unit/subsequent_export_test3.cxx @@ -1350,7 +1350,7 @@ CPPUNIT_TEST_FIXTURE(ScExportTest3, testAbsNamedRangeHTML) pDocSh->DoHardRecalc(); ScDocument* pDoc = getScDoc(); - ScRangeData* pRangeData = pDoc->GetRangeName()->findByUpperName(u"HTML_1"_ustr); + ScRangeData* pRangeData = pDoc->GetRangeName().findByUpperName(u"HTML_1"_ustr); ScSingleRefData& rRef = static_cast(pRangeData->GetCode()->FirstToken())->GetSingleRef(); // see tdf#119141 for the reason why this isn't Sheet1.HTML_1 diff --git a/sc/qa/unit/subsequent_export_test5.cxx b/sc/qa/unit/subsequent_export_test5.cxx index b8cd4414fa19..c564a178e904 100644 --- a/sc/qa/unit/subsequent_export_test5.cxx +++ b/sc/qa/unit/subsequent_export_test5.cxx @@ -979,7 +979,7 @@ CPPUNIT_TEST_FIXTURE(ScExportTest5, testTdf157318) // Check if there is one global named range CPPUNIT_ASSERT_EQUAL(static_cast(1), - static_cast(pDoc->GetRangeName()->size())); + static_cast(pDoc->GetRangeName().size())); // Check if there is one named range in the first sheet CPPUNIT_ASSERT_EQUAL(static_cast(1), diff --git a/sc/qa/unit/subsequent_filters_test.cxx b/sc/qa/unit/subsequent_filters_test.cxx index 20c6e9a3b9d5..4a3c5ddd57d2 100644 --- a/sc/qa/unit/subsequent_filters_test.cxx +++ b/sc/qa/unit/subsequent_filters_test.cxx @@ -49,7 +49,7 @@ void testRangeNameImpl(const ScDocument& rDoc) { //check one range data per sheet and one global more detailed //add some more checks here - ScRangeData* pRangeData = rDoc.GetRangeName()->findByUpperName(u"GLOBAL1"_ustr); + ScRangeData* pRangeData = rDoc.GetRangeName().findByUpperName(u"GLOBAL1"_ustr); CPPUNIT_ASSERT_MESSAGE("range name Global1 not found", pRangeData); double aValue = rDoc.GetValue(1, 0, 0); CPPUNIT_ASSERT_EQUAL_MESSAGE("range name Global1 should reference Sheet1.A1", 1.0, aValue); @@ -528,12 +528,12 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest, testHiddenRangeNameODS) ScDocument* pDoc = getScDoc(); // This named range is set to "hidden" - ScRangeData* pRangeData1 = pDoc->GetRangeName()->findByUpperName(u"NAMEDRANGE1"_ustr); + ScRangeData* pRangeData1 = pDoc->GetRangeName().findByUpperName(u"NAMEDRANGE1"_ustr); CPPUNIT_ASSERT(pRangeData1); CPPUNIT_ASSERT_EQUAL(static_cast(sheet::NamedRangeFlag::HIDDEN), pRangeData1->GetUnoType() & sheet::NamedRangeFlag::HIDDEN); // This named range is visible - ScRangeData* pRangeData2 = pDoc->GetRangeName()->findByUpperName(u"NAMEDRANGE2"_ustr); + ScRangeData* pRangeData2 = pDoc->GetRangeName().findByUpperName(u"NAMEDRANGE2"_ustr); CPPUNIT_ASSERT(pRangeData2); CPPUNIT_ASSERT_EQUAL(static_cast(0), pRangeData2->GetUnoType() & sheet::NamedRangeFlag::HIDDEN); @@ -546,11 +546,11 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest, testHiddenRangeNameODS) // Check if both named ranges are hidden after saving and reloading saveAndReload(TestFilter::ODS); pDoc = getScDoc(); - pRangeData1 = pDoc->GetRangeName()->findByUpperName(u"NAMEDRANGE1"_ustr); + pRangeData1 = pDoc->GetRangeName().findByUpperName(u"NAMEDRANGE1"_ustr); CPPUNIT_ASSERT(pRangeData1); CPPUNIT_ASSERT_EQUAL(static_cast(sheet::NamedRangeFlag::HIDDEN), pRangeData1->GetUnoType() & sheet::NamedRangeFlag::HIDDEN); - pRangeData2 = pDoc->GetRangeName()->findByUpperName(u"NAMEDRANGE2"_ustr); + pRangeData2 = pDoc->GetRangeName().findByUpperName(u"NAMEDRANGE2"_ustr); CPPUNIT_ASSERT(pRangeData2); CPPUNIT_ASSERT_EQUAL(static_cast(sheet::NamedRangeFlag::HIDDEN), pRangeData2->GetUnoType() & sheet::NamedRangeFlag::HIDDEN); @@ -562,12 +562,12 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest, testHiddenRangeNameXLSX) ScDocument* pDoc = getScDoc(); // This named range is set to "hidden" - ScRangeData* pRangeData1 = pDoc->GetRangeName()->findByUpperName(u"NAMEDRANGE1"_ustr); + ScRangeData* pRangeData1 = pDoc->GetRangeName().findByUpperName(u"NAMEDRANGE1"_ustr); CPPUNIT_ASSERT(pRangeData1); CPPUNIT_ASSERT_EQUAL(static_cast(sheet::NamedRangeFlag::HIDDEN), pRangeData1->GetUnoType() & sheet::NamedRangeFlag::HIDDEN); // This named range is visible - ScRangeData* pRangeData2 = pDoc->GetRangeName()->findByUpperName(u"NAMEDRANGE2"_ustr); + ScRangeData* pRangeData2 = pDoc->GetRangeName().findByUpperName(u"NAMEDRANGE2"_ustr); CPPUNIT_ASSERT(pRangeData2); CPPUNIT_ASSERT_EQUAL(static_cast(0), pRangeData2->GetUnoType() & sheet::NamedRangeFlag::HIDDEN); @@ -575,11 +575,11 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest, testHiddenRangeNameXLSX) // Save as ODS and test if the named ranges are still with the correct hidden flag saveAndReload(TestFilter::ODS); pDoc = getScDoc(); - pRangeData1 = pDoc->GetRangeName()->findByUpperName(u"NAMEDRANGE1"_ustr); + pRangeData1 = pDoc->GetRangeName().findByUpperName(u"NAMEDRANGE1"_ustr); CPPUNIT_ASSERT(pRangeData1); CPPUNIT_ASSERT_EQUAL(static_cast(sheet::NamedRangeFlag::HIDDEN), pRangeData1->GetUnoType() & sheet::NamedRangeFlag::HIDDEN); - pRangeData2 = pDoc->GetRangeName()->findByUpperName(u"NAMEDRANGE2"_ustr); + pRangeData2 = pDoc->GetRangeName().findByUpperName(u"NAMEDRANGE2"_ustr); CPPUNIT_ASSERT(pRangeData2); CPPUNIT_ASSERT_EQUAL(static_cast(0), pRangeData2->GetUnoType() & sheet::NamedRangeFlag::HIDDEN); @@ -591,7 +591,7 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest, testHiddenNamedExpression) ScDocument* pDoc = getScDoc(); // Adds two hidden named expressions and two non-hidden named expressions - ScRangeName* pNamedRanges = pDoc->GetRangeName(); + ScRangeName* pNamedRanges = &pDoc->GetRangeName(); ScRangeData* pRangeData1 = new ScRangeData(*pDoc, u"NAME1"_ustr, u"100"_ustr); pRangeData1->AddType(ScRangeData::Type::Hidden); pNamedRanges->insert(pRangeData1); @@ -607,7 +607,7 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest, testHiddenNamedExpression) // Save and reload to test whether the named expressions retain the hidden where applicable saveAndReload(TestFilter::ODS); pDoc = getScDoc(); - pNamedRanges = pDoc->GetRangeName(); + pNamedRanges = &pDoc->GetRangeName(); CPPUNIT_ASSERT_EQUAL(size_t(4), pNamedRanges->size()); pRangeData1 = pNamedRanges->findByUpperName(u"NAME1"_ustr); CPPUNIT_ASSERT(pRangeData1); @@ -633,12 +633,12 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest, testHiddenNamedExpressionODS) ScDocument* pDoc = getScDoc(); // The document has 2 named expressions; the first is hidden; the second is visible - ScRangeName* pNamedRanges = pDoc->GetRangeName(); - ScRangeData* pRangeData1 = pNamedRanges->findByUpperName(u"NAME1"_ustr); + ScRangeName& rNamedRanges = pDoc->GetRangeName(); + ScRangeData* pRangeData1 = rNamedRanges.findByUpperName(u"NAME1"_ustr); CPPUNIT_ASSERT(pRangeData1); CPPUNIT_ASSERT_EQUAL(ScRangeData::Type::Hidden, pRangeData1->GetType()); CPPUNIT_ASSERT_EQUAL(u"100"_ustr, pRangeData1->GetSymbol()); - ScRangeData* pRangeData2 = pNamedRanges->findByUpperName(u"NAME2"_ustr); + ScRangeData* pRangeData2 = rNamedRanges.findByUpperName(u"NAME2"_ustr); CPPUNIT_ASSERT(pRangeData2); CPPUNIT_ASSERT_EQUAL(ScRangeData::Type::Name, pRangeData2->GetType()); CPPUNIT_ASSERT_EQUAL(u"200"_ustr, pRangeData2->GetSymbol()); diff --git a/sc/qa/unit/subsequent_filters_test2.cxx b/sc/qa/unit/subsequent_filters_test2.cxx index 2e576ec7ad2d..bcafe70306b7 100644 --- a/sc/qa/unit/subsequent_filters_test2.cxx +++ b/sc/qa/unit/subsequent_filters_test2.cxx @@ -1507,9 +1507,9 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest2, testNamedExpressionsXLSXML_Global) CPPUNIT_ASSERT_EQUAL(u"=SUM(MyRange2)"_ustr, pDoc->GetFormula(aPos.Col(), aPos.Row(), aPos.Tab())); - const ScRangeData* pRD = pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + const ScRangeData* pRD = pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pRD); - pRD = pDoc->GetRangeName()->findByUpperName(u"MYRANGE2"_ustr); + pRD = pDoc->GetRangeName().findByUpperName(u"MYRANGE2"_ustr); CPPUNIT_ASSERT(pRD); } diff --git a/sc/qa/unit/subsequent_filters_test5.cxx b/sc/qa/unit/subsequent_filters_test5.cxx index 9d00442d5267..a3671c3faa6e 100644 --- a/sc/qa/unit/subsequent_filters_test5.cxx +++ b/sc/qa/unit/subsequent_filters_test5.cxx @@ -399,8 +399,8 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest5, testTdf94627) ScDocument* pDoc = getScDoc(); - ScRangeName* pRangeName = pDoc->GetRangeName(); - ScRangeData* pRangeData = pRangeName->findByUpperName("NAME1"); + ScRangeName& rRangeName = pDoc->GetRangeName(); + ScRangeData* pRangeData = rRangeName.findByUpperName("NAME1"); CPPUNIT_ASSERT(pRangeData); OUString aFormula = pRangeData->GetSymbol(); diff --git a/sc/qa/unit/tiledrendering/SheetViewTest.cxx b/sc/qa/unit/tiledrendering/SheetViewTest.cxx index 01eede445912..0da904a5f1a2 100644 --- a/sc/qa/unit/tiledrendering/SheetViewTest.cxx +++ b/sc/qa/unit/tiledrendering/SheetViewTest.cxx @@ -3173,9 +3173,9 @@ CPPUNIT_TEST_FIXTURE(SyncTest, testSync_InsertNameList_DefaultAndSheetView) int nView3ID = aView3.getViewID(); // Add a named range so InsertNameList has something to insert - ScRangeName* pGlobalNames = pDocument->GetRangeName(); + ScRangeName& rGlobalNames = pDocument->GetRangeName(); ScRangeData* pRangeData = new ScRangeData(*pDocument, u"TestRange"_ustr, u"$A$10:$B$20"_ustr); - pGlobalNames->insert(pRangeData); + rGlobalNames.insert(pRangeData); // Create sheet view 1 { diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx index c8acbb427b07..837b9c2e1090 100644 --- a/sc/qa/unit/ucalc.cxx +++ b/sc/qa/unit/ucalc.cxx @@ -1971,13 +1971,12 @@ CPPUNIT_TEST_FIXTURE(Test, testNamedRange) CPPUNIT_ASSERT_MESSAGE("Failed to insert range names.", bSuccess); m_pDoc->SetRangeName(std::move(pNames)); - ScRangeName* pNewRanges = m_pDoc->GetRangeName(); - CPPUNIT_ASSERT(pNewRanges); + ScRangeName& rNewRanges = m_pDoc->GetRangeName(); // Make sure the index lookup does the right thing. for (const auto& rName : aNames) { - const ScRangeData* p = pNewRanges->findByIndex(rName.mnIndex); + const ScRangeData* p = rNewRanges.findByIndex(rName.mnIndex); CPPUNIT_ASSERT_MESSAGE("lookup of range name by index failed.", p); OUString aName = p->GetName(); CPPUNIT_ASSERT_MESSAGE("wrong range name is retrieved.", aName.equalsAscii(rName.mpName)); @@ -1991,12 +1990,12 @@ CPPUNIT_TEST_FIXTURE(Test, testNamedRange) ASSERT_DOUBLES_EQUAL_MESSAGE ("calculation failed", 1.0, result); // Test copy-ability of range names. - std::unique_ptr pCopiedRanges(new ScRangeName(*pNewRanges)); + std::unique_ptr pCopiedRanges(new ScRangeName(rNewRanges)); m_pDoc->SetRangeName(std::move(pCopiedRanges)); // Make sure the index lookup still works. for (const auto& rName : aNames) { - const ScRangeData* p = m_pDoc->GetRangeName()->findByIndex(rName.mnIndex); + const ScRangeData* p = m_pDoc->GetRangeName().findByIndex(rName.mnIndex); CPPUNIT_ASSERT_MESSAGE("lookup of range name by index failed with the copied instance.", p); OUString aName = p->GetName(); CPPUNIT_ASSERT_MESSAGE("wrong range name is retrieved with the copied instance.", aName.equalsAscii(rName.mpName)); diff --git a/sc/qa/unit/ucalc_copypaste.cxx b/sc/qa/unit/ucalc_copypaste.cxx index 7246bf796b49..1bb9b53208c3 100644 --- a/sc/qa/unit/ucalc_copypaste.cxx +++ b/sc/qa/unit/ucalc_copypaste.cxx @@ -402,7 +402,7 @@ CPPUNIT_TEST_FIXTURE(TestCopyPaste, testCopyPaste) m_pDoc->CopyFromClip(aRange, aMark, InsertDeleteFlags::ALL, nullptr, &aClipDoc2); // The global2 range must not have changed. - pGlobal2 = m_pDoc->GetRangeName()->findByUpperName(u"GLOBAL2"_ustr); + pGlobal2 = m_pDoc->GetRangeName().findByUpperName(u"GLOBAL2"_ustr); CPPUNIT_ASSERT_MESSAGE("GLOBAL2 name not found", pGlobal2); OUString aSymbol = pGlobal2->GetSymbol(); CPPUNIT_ASSERT_EQUAL_MESSAGE("GLOBAL2 named range changed", aGlobal2Symbol, aSymbol); diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx index 37130161fcdb..8ed156aa17f8 100644 --- a/sc/qa/unit/ucalc_formula.cxx +++ b/sc/qa/unit/ucalc_formula.cxx @@ -112,9 +112,8 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaCreateStringFromTokens) { false, "sheetx", "Test.J1" } }; - ScRangeName* pGlobalNames = m_pDoc->GetRangeName(); + ScRangeName& rGlobalNames = m_pDoc->GetRangeName(); ScRangeName* pSheetNames = m_pDoc->GetRangeName(0); - CPPUNIT_ASSERT_MESSAGE("Failed to obtain global named expression object.", pGlobalNames); CPPUNIT_ASSERT_MESSAGE("Failed to obtain sheet-local named expression object.", pSheetNames); for (size_t i = 0; i < SAL_N_ELEMENTS(aNames); ++i) @@ -125,7 +124,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaCreateStringFromTokens) if (aNames[i].bGlobal) { - bool bInserted = pGlobalNames->insert(pName); + bool bInserted = rGlobalNames.insert(pName); CPPUNIT_ASSERT_MESSAGE("Failed to insert a new name.", bInserted); } else @@ -2473,7 +2472,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateInsertColumns) CPPUNIT_ASSERT_EQUAL(6.0, m_pDoc->GetValue(ScAddress(3,3,0))); // Check that the named reference points to the moved cell, now D2. - ScRangeData* pName = m_pDoc->GetRangeName()->findByUpperName(u"ROWRELATIVERANGE"_ustr); + ScRangeData* pName = m_pDoc->GetRangeName().findByUpperName(u"ROWRELATIVERANGE"_ustr); CPPUNIT_ASSERT(pName); OUString aSymbol = pName->GetSymbol(aNamePos, formula::FormulaGrammar::GRAM_ENGLISH); CPPUNIT_ASSERT_EQUAL(u"$Formula.$D2"_ustr, aSymbol); @@ -2484,7 +2483,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateInsertColumns) CPPUNIT_ASSERT_EQUAL(2.0, m_pDoc->GetValue(ScAddress(4,1,0))); // Check that the named column reference points to the moved column, now D. - pName = m_pDoc->GetRangeName()->findByUpperName(u"ENTIRECOLUMN"_ustr); + pName = m_pDoc->GetRangeName().findByUpperName(u"ENTIRECOLUMN"_ustr); CPPUNIT_ASSERT(pName); aSymbol = pName->GetSymbol(aNamePos, formula::FormulaGrammar::GRAM_ENGLISH); CPPUNIT_ASSERT_EQUAL(u"$D:$D"_ustr, aSymbol); @@ -2496,7 +2495,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateInsertColumns) // Check that the named row reference still points to the same entire row // and does not have a #REF! error due to inserted columns. - pName = m_pDoc->GetRangeName()->findByUpperName(u"ENTIREROW"_ustr); + pName = m_pDoc->GetRangeName().findByUpperName(u"ENTIREROW"_ustr); CPPUNIT_ASSERT(pName); aSymbol = pName->GetSymbol(aNamePos, formula::FormulaGrammar::GRAM_ENGLISH); CPPUNIT_ASSERT_EQUAL(u"$2:$2"_ustr, aSymbol); @@ -3372,13 +3371,12 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateName) m_pDoc->SetValue(ScAddress(2,4,0), 4); // Add a named expression that references the immediate left cell. - ScRangeName* pGlobalNames = m_pDoc->GetRangeName(); - CPPUNIT_ASSERT_MESSAGE("Failed to obtain global named expression object.", pGlobalNames); + ScRangeName& rGlobalNames = m_pDoc->GetRangeName(); ScRangeData* pName = new ScRangeData( *m_pDoc, u"ToLeft"_ustr, u"RC[-1]"_ustr, ScAddress(2,1,0), ScRangeData::Type::Name, formula::FormulaGrammar::GRAM_NATIVE_XL_R1C1); - bool bInserted = pGlobalNames->insert(pName); + bool bInserted = rGlobalNames.insert(pName); CPPUNIT_ASSERT_MESSAGE("Failed to insert a new name.", bInserted); // Insert formulas in D2:D5 using the named expression. @@ -3419,7 +3417,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateName) // Insert a new named expression that references these values as absolute range. pName = new ScRangeData( *m_pDoc, u"MyRange"_ustr, u"$B$10:$B$12"_ustr, ScAddress(0,0,0), ScRangeData::Type::Name, formula::FormulaGrammar::GRAM_NATIVE); - bInserted = pGlobalNames->insert(pName); + bInserted = rGlobalNames.insert(pName); CPPUNIT_ASSERT_MESSAGE("Failed to insert a new name.", bInserted); // Set formula at C8 that references this named expression. @@ -3430,7 +3428,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateName) m_pDoc->InsertCol(ScRange(1,9,0,2,11,0)); // This should shift the absolute range B10:B12 that MyRange references. - pName = pGlobalNames->findByUpperName(u"MYRANGE"_ustr); + pName = rGlobalNames.findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT_MESSAGE("Failed to find named expression 'MyRange' in the global scope.", pName); OUString aExpr = pName->GetSymbol(); CPPUNIT_ASSERT_EQUAL(u"$D$10:$D$12"_ustr, aExpr); @@ -3450,7 +3448,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateName) m_pDoc->GetName(1, aName); CPPUNIT_ASSERT_EQUAL(u"Formula"_ustr, aName); - pName = pGlobalNames->findByUpperName(u"MYRANGE"_ustr); + pName = rGlobalNames.findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT_MESSAGE("Failed to find named expression 'MyRange' in the global scope.", pName); m_pDoc->SetValue(ScAddress(3,9,1), 10); @@ -3463,7 +3461,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateName) m_pDoc->GetName(0, aName); CPPUNIT_ASSERT_EQUAL(u"Formula"_ustr, aName); - pName = pGlobalNames->findByUpperName(u"MYRANGE"_ustr); + pName = rGlobalNames.findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT_MESSAGE("Failed to find named expression 'MyRange' in the global scope.", pName); m_pDoc->SetValue(ScAddress(3,9,0), 11); @@ -3471,11 +3469,11 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateName) // Clear all and start over. clearRange(m_pDoc, ScRange(0,0,0,100,100,0)); - pGlobalNames->clear(); + rGlobalNames.clear(); pName = new ScRangeData( *m_pDoc, u"MyRange"_ustr, u"$B$1:$C$6"_ustr, ScAddress(0,0,0), ScRangeData::Type::Name, formula::FormulaGrammar::GRAM_NATIVE); - bInserted = pGlobalNames->insert(pName); + bInserted = rGlobalNames.insert(pName); CPPUNIT_ASSERT_MESSAGE("Failed to insert a new name.", bInserted); aExpr = pName->GetSymbol(); CPPUNIT_ASSERT_EQUAL(u"$B$1:$C$6"_ustr, aExpr); @@ -3509,7 +3507,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameMove) m_pDoc->SetString(ScAddress(0,9,0), u"=SUM(MyRange)"_ustr); CPPUNIT_ASSERT_EQUAL(6.0, m_pDoc->GetValue(ScAddress(0,9,0))); - ScRangeData* pData = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + ScRangeData* pData = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pData); OUString aSymbol = pData->GetSymbol(m_pDoc->GetGrammar()); CPPUNIT_ASSERT_EQUAL(u"$Test.$B$2:$B$4"_ustr, aSymbol); @@ -3532,7 +3530,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameMove) // Undo and check. pUndoMgr->Undo(); - pData = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + pData = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pData); aSymbol = pData->GetSymbol(m_pDoc->GetGrammar()); CPPUNIT_ASSERT_EQUAL(u"$Test.$B$2:$B$4"_ustr, aSymbol); @@ -3541,7 +3539,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameMove) // Redo and check. pUndoMgr->Redo(); - pData = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + pData = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pData); aSymbol = pData->GetSymbol(m_pDoc->GetGrammar()); CPPUNIT_ASSERT_EQUAL(u"$Test.$D$3:$D$5"_ustr, aSymbol); @@ -3568,7 +3566,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameMove) // Clear and start over. clearSheet(m_pDoc, 0); - m_pDoc->GetRangeName()->clear(); + m_pDoc->GetRangeName().clear(); // Set value to B2. m_pDoc->SetValue(ScAddress(1,1,0), 2.0); @@ -3615,7 +3613,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameExpandRef) ScMarkData aMark(m_pDoc->GetSheetLimits()); aMark.SelectOneTable(0); rFunc.InsertCells(ScRange(0,3,0,m_pDoc->MaxCol(),3,0), &aMark, INS_INSROWS_BEFORE, false, true); - ScRangeData* pName = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + ScRangeData* pName = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pName); OUString aSymbol = pName->GetSymbol(m_pDoc->GetGrammar()); CPPUNIT_ASSERT_EQUAL(u"$A$1:$A$4"_ustr, aSymbol); @@ -3628,7 +3626,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameExpandRef) // Insert a new column at column 2, which should not expand the named // range as it is only one column wide. rFunc.InsertCells(ScRange(1,0,0,1,m_pDoc->MaxRow(),0), &aMark, INS_INSCOLS_BEFORE, false, true); - pName = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + pName = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pName); aSymbol = pName->GetSymbol(m_pDoc->GetGrammar()); CPPUNIT_ASSERT_EQUAL(u"$A$1:$A$4"_ustr, aSymbol); @@ -3640,7 +3638,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameExpandRef) CPPUNIT_ASSERT_EQUAL(8.0, m_pDoc->GetValue(ScAddress(0,6,0))); // Clear the document and start over. - m_pDoc->GetRangeName()->clear(); + m_pDoc->GetRangeName().clear(); clearSheet(m_pDoc, 0); // Set values to B4:B6. @@ -3658,14 +3656,14 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameExpandRef) // Insert rows over 3:5 which should expand the range by 3 rows. rFunc.InsertCells(ScRange(0,2,0,m_pDoc->MaxCol(),4,0), &aMark, INS_INSROWS_BEFORE, false, true); - pName = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + pName = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pName); aSymbol = pName->GetSymbol(m_pDoc->GetGrammar()); CPPUNIT_ASSERT_EQUAL(u"$B$4:$B$9"_ustr, aSymbol); // Clear the document and start over. - m_pDoc->GetRangeName()->clear(); + m_pDoc->GetRangeName().clear(); clearSheet(m_pDoc, 0); // Set values to A1:A3. @@ -3730,7 +3728,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameExpandRef2) // Insert a new column at column 3, which should expand the named rFunc.InsertCells(ScRange(1,0,0,1,m_pDoc->MaxRow(),0), &aMark, INS_INSCOLS_BEFORE, false, true); - ScRangeData* pName = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + ScRangeData* pName = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pName); OUString aSymbol = pName->GetSymbol(m_pDoc->GetGrammar()); CPPUNIT_ASSERT_EQUAL(u"$A$1:$C$3"_ustr, aSymbol); @@ -3746,7 +3744,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameDeleteRow) bool bInserted = m_pDoc->InsertNewRangeName(u"MyRange"_ustr, ScAddress(0,0,0), u"$B$2:$B$4"_ustr); CPPUNIT_ASSERT(bInserted); - const ScRangeData* pName = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + const ScRangeData* pName = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pName); sc::TokenStringContext aCxt(*m_pDoc, formula::FormulaGrammar::GRAM_ENGLISH); @@ -3758,7 +3756,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameDeleteRow) bInserted = m_pDoc->InsertNewRangeName(u"MyAddress"_ustr, ScAddress(0,0,0), u"$B$3"_ustr); CPPUNIT_ASSERT(bInserted); - const ScRangeData* pName2 = m_pDoc->GetRangeName()->findByUpperName(u"MYADDRESS"_ustr); + const ScRangeData* pName2 = m_pDoc->GetRangeName().findByUpperName(u"MYADDRESS"_ustr); CPPUNIT_ASSERT(pName2); sc::TokenStringContext aCxt2(*m_pDoc, formula::FormulaGrammar::GRAM_ENGLISH); @@ -3792,7 +3790,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameDeleteRow) pUndoMgr->Undo(); - pName = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + pName = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pName); pCode = pName->GetCode(); @@ -3802,7 +3800,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameDeleteRow) // Undo again and check. pUndoMgr->Undo(); - pName = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + pName = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pName); pCode = pName->GetCode(); @@ -3818,14 +3816,14 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameDeleteRow) // Undo and check. pUndoMgr->Undo(); - pName = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + pName = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pName); pCode = pName->GetCode(); aExpr = pCode->CreateString(aCxt, ScAddress(0,0,0)); CPPUNIT_ASSERT_EQUAL(u"$B$2:$B$4"_ustr, aExpr); - pName2 = m_pDoc->GetRangeName()->findByUpperName(u"MYADDRESS"_ustr); + pName2 = m_pDoc->GetRangeName().findByUpperName(u"MYADDRESS"_ustr); CPPUNIT_ASSERT(pName2); pCode2 = pName2->GetCode(); @@ -3838,14 +3836,14 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameDeleteRow) aMark2.SelectOneTable(1); rFunc.DeleteCells(ScRange(0,2,1,m_pDoc->MaxCol(),2,1), &aMark2, DelCellCmd::CellsUp, true); - pName = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + pName = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pName); pCode = pName->GetCode(); aExpr = pCode->CreateString(aCxt, ScAddress(0,0,0)); CPPUNIT_ASSERT_EQUAL(u"$B$2:$B$4"_ustr, aExpr); - pName2 = m_pDoc->GetRangeName()->findByUpperName(u"MYADDRESS"_ustr); + pName2 = m_pDoc->GetRangeName().findByUpperName(u"MYADDRESS"_ustr); CPPUNIT_ASSERT(pName2); pCode2 = pName2->GetCode(); @@ -4193,7 +4191,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFormulaRefUpdateNameDelete) bool bInserted = m_pDoc->InsertNewRangeName(u"MyRange"_ustr, ScAddress(0,0,0), u"$Test.$B$1"_ustr); CPPUNIT_ASSERT(bInserted); - const ScRangeData* pName = m_pDoc->GetRangeName()->findByUpperName(u"MYRANGE"_ustr); + const ScRangeData* pName = m_pDoc->GetRangeName().findByUpperName(u"MYRANGE"_ustr); CPPUNIT_ASSERT(pName); m_pDoc->DeleteCol(1, 0, 3, 0, 0, 1); @@ -4770,13 +4768,12 @@ CPPUNIT_TEST_FIXTURE(TestFormula, testFuncSUBTOTAL) m_pDoc->SetValue(ScAddress(2, i, 0), i + 1); // Add a named expression for a function. - ScRangeName* pGlobalNames = m_pDoc->GetRangeName(); - CPPUNIT_ASSERT_MESSAGE("Failed to obtain global named expression object.", pGlobalNames); + ScRangeName& rGlobalNames = m_pDoc->GetRangeName(); ScRangeData* pName = new ScRangeData( *m_pDoc, u"MyRelative"_ustr, u"$C1:$C$1000"_ustr, ScAddress(2, 999, 0), ScRangeData::Type::Name, formula::FormulaGrammar::GRAM_NATIVE); - bool bInserted = pGlobalNames->insert(pName); + bool bInserted = rGlobalNames.insert(pName); CPPUNIT_ASSERT_MESSAGE("Failed to insert a new name.", bInserted); for (size_t i = 0; i < 1025; i++) diff --git a/sc/qa/unit/ucalc_formula2.cxx b/sc/qa/unit/ucalc_formula2.cxx index aa1a876c6f24..12be2aaf2079 100644 --- a/sc/qa/unit/ucalc_formula2.cxx +++ b/sc/qa/unit/ucalc_formula2.cxx @@ -1296,9 +1296,9 @@ CPPUNIT_TEST_FIXTURE(TestFormula2, testFunc_MATCH_INDIRECT) sc::AutoCalcSwitch aACSwitch(*m_pDoc, true); // turn on auto calculation. - ScRangeName* pGlobalNames = m_pDoc->GetRangeName(); + ScRangeName& rGlobalNames = m_pDoc->GetRangeName(); ScRangeData* pRangeData = new ScRangeData(*m_pDoc, u"RoleAssignment"_ustr, u"$D$4:$D$13"_ustr); - pGlobalNames->insert(pRangeData); + rGlobalNames.insert(pRangeData); // D6: data to match, in 3rd row of named range. m_pDoc->SetString(3, 5, 0, u"Test1"_ustr); @@ -1905,9 +1905,9 @@ CPPUNIT_TEST_FIXTURE(TestFormula2, testExternalRangeName) rExtDoc.InsertTab(0, u"Data1"_ustr); rExtDoc.SetValue(0, 0, 0, 123.456); - ScRangeName* pRangeName = rExtDoc.GetRangeName(); + ScRangeName& rRangeName = rExtDoc.GetRangeName(); ScRangeData* pRangeData = new ScRangeData(rExtDoc, u"ExternalName"_ustr, u"$Data1.$A$1"_ustr); - pRangeName->insert(pRangeData); + rRangeName.insert(pRangeData); m_pDoc->InsertTab(0, u"Test Sheet"_ustr); m_pDoc->SetString(0, 1, 0, u"='file:///extdata.fake'#ExternalName"_ustr); @@ -2487,8 +2487,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula2, testFuncTableRef) { // Insert named expressions. - ScRangeName* pGlobalNames = m_pDoc->GetRangeName(); - CPPUNIT_ASSERT_MESSAGE("Failed to obtain global named expression object.", pGlobalNames); + ScRangeName& rGlobalNames = m_pDoc->GetRangeName(); for (size_t i = 0; i < SAL_N_ELEMENTS(aNames); ++i) { @@ -2499,7 +2498,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula2, testFuncTableRef) = new ScRangeData(*m_pDoc, OUString::createFromAscii(aNames[i].pName), OUString::createFromAscii(aNames[i].pExpr), ScAddress(2, 4, 0), ScRangeData::Type::Name, formula::FormulaGrammar::GRAM_NATIVE); - bool bInserted = pGlobalNames->insert(pName); + bool bInserted = rGlobalNames.insert(pName); CPPUNIT_ASSERT_MESSAGE(OString(OString::Concat("Failed to insert named expression ") + aNames[i].pName + ".") .getStr(), @@ -2665,8 +2664,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula2, testFuncTableRef) { // Insert named expressions. - ScRangeName* pGlobalNames = m_pDoc->GetRangeName(); - CPPUNIT_ASSERT_MESSAGE("Failed to obtain global named expression object.", pGlobalNames); + ScRangeName& rGlobalNames = m_pDoc->GetRangeName(); for (size_t i = 0; i < SAL_N_ELEMENTS(aHlNames); ++i) { @@ -2677,7 +2675,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula2, testFuncTableRef) = new ScRangeData(*m_pDoc, OUString::createFromAscii(aHlNames[i].pName), OUString::createFromAscii(aHlNames[i].pExpr), ScAddress(6, 12, 0), ScRangeData::Type::Name, formula::FormulaGrammar::GRAM_NATIVE); - bool bInserted = pGlobalNames->insert(pName); + bool bInserted = rGlobalNames.insert(pName); CPPUNIT_ASSERT_MESSAGE(OString(OString::Concat("Failed to insert named expression ") + aHlNames[i].pName + ".") .getStr(), @@ -4186,11 +4184,11 @@ CPPUNIT_TEST_FIXTURE(TestFormula2, testIntersectionOpExcel) { CPPUNIT_ASSERT(m_pDoc->InsertTab(0, u"Test"_ustr)); - ScRangeName* pGlobalNames = m_pDoc->GetRangeName(); + ScRangeName& rGlobalNames = m_pDoc->GetRangeName(); // Horizontal cell range covering C2. - pGlobalNames->insert(new ScRangeData(*m_pDoc, u"horz"_ustr, u"$B$2:$D$2"_ustr)); + rGlobalNames.insert(new ScRangeData(*m_pDoc, u"horz"_ustr, u"$B$2:$D$2"_ustr)); // Vertical cell range covering C2. - pGlobalNames->insert(new ScRangeData(*m_pDoc, u"vert"_ustr, u"$C$1:$C$3"_ustr)); + rGlobalNames.insert(new ScRangeData(*m_pDoc, u"vert"_ustr, u"$C$1:$C$3"_ustr)); // Data in C2. m_pDoc->SetValue(2, 1, 0, 1.0); @@ -6963,7 +6961,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula2, testImplicitIntersectionTakesOperandWhole) { // The wrapper encloses the whole operand, whatever form the operand takes. m_pDoc->InsertTab(0, u"Sheet1"_ustr); - m_pDoc->GetRangeName()->insert( + m_pDoc->GetRangeName().insert( new ScRangeData(*m_pDoc, u"myrange"_ustr, u"$Sheet1.$A$1:$A$3"_ustr, ScAddress(1, 0, 0))); // A name reaches the writer as its own token rather than as a push. diff --git a/sc/qa/unit/ucalc_pivottable.cxx b/sc/qa/unit/ucalc_pivottable.cxx index ec6331bde7fd..c4a6187705c0 100644 --- a/sc/qa/unit/ucalc_pivottable.cxx +++ b/sc/qa/unit/ucalc_pivottable.cxx @@ -792,11 +792,10 @@ CPPUNIT_TEST_FIXTURE(TestPivottable, testPivotTableNamedSource) // Name this range. OUString aRangeName(u"MyData"_ustr); - ScRangeName* pNames = m_pDoc->GetRangeName(); - CPPUNIT_ASSERT_MESSAGE("Failed to get global range name container.", pNames); + ScRangeName& rNames = m_pDoc->GetRangeName(); ScRangeData* pName = new ScRangeData( *m_pDoc, aRangeName, aRangeStr); - bool bSuccess = pNames->insert(pName); + bool bSuccess = rNames.insert(pName); CPPUNIT_ASSERT_MESSAGE("Failed to insert a new name.", bSuccess); ScSheetSourceDesc aSheetDesc(m_pDoc); @@ -859,7 +858,7 @@ CPPUNIT_TEST_FIXTURE(TestPivottable, testPivotTableNamedSource) CPPUNIT_ASSERT_EQUAL_MESSAGE("There shouldn't be any more cache stored.", size_t(0), pDPs->GetNameCaches().size()); - pNames->clear(); + rNames.clear(); m_pDoc->DeleteTab(1); m_pDoc->DeleteTab(0); } diff --git a/sc/qa/unit/uicalc/uicalc2.cxx b/sc/qa/unit/uicalc/uicalc2.cxx index ebffdedbaf17..f21aa1e882c2 100644 --- a/sc/qa/unit/uicalc/uicalc2.cxx +++ b/sc/qa/unit/uicalc/uicalc2.cxx @@ -1073,7 +1073,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest2, testTdf118983) xGlobalSheetSettings->setExpandReferences(true); - const ScRangeData* pRD = pDoc->GetRangeName()->findByUpperName(u"TEST"_ustr); + const ScRangeData* pRD = pDoc->GetRangeName().findByUpperName(u"TEST"_ustr); CPPUNIT_ASSERT(pRD); CPPUNIT_ASSERT_EQUAL(u"$Test.$A$3:$D$7"_ustr, pRD->GetSymbol()); diff --git a/sc/source/core/data/TableContentCopier.cxx b/sc/source/core/data/TableContentCopier.cxx index 6b55142738bb..10639cfbb489 100644 --- a/sc/source/core/data/TableContentCopier.cxx +++ b/sc/source/core/data/TableContentCopier.cxx @@ -38,8 +38,8 @@ void sc::TableContentCopier::performCopy(const ScMarkData* pOnlyMarked, ScCloneF if (pNames) pNames->CopyUsedNames(mnSourceTabNo, nPreviousSourceTabNo, mnTargetTabNo, mrDoc, mrDoc, bGlobalNamesToLocal); - mrDoc.GetRangeName()->CopyUsedNames(-1, nPreviousSourceTabNo, mnTargetTabNo, mrDoc, mrDoc, - bGlobalNamesToLocal); + mrDoc.GetRangeName().CopyUsedNames(-1, nPreviousSourceTabNo, mnTargetTabNo, mrDoc, mrDoc, + bGlobalNamesToLocal); sc::CopyToDocContext aCopyDocCxt(mrDoc); if (mrDoc.pDBCollection) diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx index d2878bd47f59..ac5b4fbd2dad 100644 --- a/sc/source/core/data/documen2.cxx +++ b/sc/source/core/data/documen2.cxx @@ -1051,7 +1051,7 @@ bool ScDocument::TransferTab( ScDocument& rSrcDoc, SCTAB nSrcPos, const ScRangeName* pNames = rSrcDoc.GetRangeName( nSrcPos); if (pNames) pNames->CopyUsedNames( nSrcPos, nSrcPos, nDestPos, rSrcDoc, *this, bGlobalNamesToLocal); - rSrcDoc.GetRangeName()->CopyUsedNames( -1, nSrcPos, nDestPos, rSrcDoc, *this, bGlobalNamesToLocal); + rSrcDoc.GetRangeName().CopyUsedNames( -1, nSrcPos, nDestPos, rSrcDoc, *this, bGlobalNamesToLocal); } rSrcDoc.maTabs[nSrcPos]->CopyToTable(aCxt, 0, 0, MaxCol(), MaxRow(), ( bResultsOnly ? InsertDeleteFlags::ALL & ~InsertDeleteFlags::FORMULA : InsertDeleteFlags::ALL), diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx index 403e5f4809dc..0d345cbbea9f 100644 --- a/sc/source/core/data/documen3.cxx +++ b/sc/source/core/data/documen3.cxx @@ -181,11 +181,11 @@ ScRangeName* ScDocument::GetRangeName(SCTAB nTab) const return nullptr; } -ScRangeName* ScDocument::GetRangeName() const +ScRangeName& ScDocument::GetRangeName() const { if (!pRangeName) pRangeName.reset(new ScRangeName); - return pRangeName.get(); + return *pRangeName; } void ScDocument::SetRangeName(SCTAB nTab, std::unique_ptr pNew) @@ -205,7 +205,7 @@ bool ScDocument::IsAddressInRangeName( RangeNameScope eScope, const ScAddress& r ScRange aNameRange; if (eScope == RangeNameScope::GLOBAL) - pRangeNames= GetRangeName(); + pRangeNames= &GetRangeName(); else pRangeNames= GetRangeName(rAddress.Tab()); @@ -223,12 +223,10 @@ bool ScDocument::IsAddressInRangeName( RangeNameScope eScope, const ScAddress& r bool ScDocument::InsertNewRangeName( const OUString& rName, const ScAddress& rPos, const OUString& rExpr ) { - ScRangeName* pGlobalNames = GetRangeName(); - if (!pGlobalNames) - return false; + ScRangeName& rGlobalNames = GetRangeName(); ScRangeData* pName = new ScRangeData(*this, rName, rExpr, rPos, ScRangeData::Type::Name, GetGrammar()); - return pGlobalNames->insert(pName); + return rGlobalNames.insert(pName); } bool ScDocument::InsertNewRangeName( SCTAB nTab, const OUString& rName, const ScAddress& rPos, const OUString& rExpr ) @@ -274,7 +272,7 @@ const ScRangeData* ScDocument::GetRangeAtBlock( const ScRange& rBlock, OUString& ScRangeData* ScDocument::FindRangeNameBySheetAndIndex( SCTAB nTab, sal_uInt16 nIndex ) const { - const ScRangeName* pRN = (nTab < 0 ? GetRangeName() : GetRangeName(nTab)); + const ScRangeName* pRN = (nTab < 0 ?& GetRangeName() : GetRangeName(nTab)); return (pRN ? pRN->findByIndex( nIndex) : nullptr); } diff --git a/sc/source/core/data/documen4.cxx b/sc/source/core/data/documen4.cxx index 79d6d55311f6..a54e0a224c4d 100644 --- a/sc/source/core/data/documen4.cxx +++ b/sc/source/core/data/documen4.cxx @@ -783,7 +783,7 @@ bool ScDocument::MarkUsedExternalReferences( const ScTokenArray& rArr, const ScA { // this is a named range. Check if the range contains an external // reference. - ScRangeData* pRangeData = GetRangeName()->findByIndex(static_cast(t)->GetIndex()); + ScRangeData* pRangeData = GetRangeName().findByIndex(static_cast(t)->GetIndex()); if (!pRangeData) continue; diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index 7369a1fb9959..f3579bb30649 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -2447,7 +2447,7 @@ void ScDocument::TransposeClip(ScDocument* pTransClip, InsertDeleteFlags nFlags, if (pRangeName) { - pTransClip->GetRangeName()->clear(); + pTransClip->GetRangeName().clear(); for (const auto& rEntry : *pRangeName) { sal_uInt16 nIndex = rEntry.second->GetIndex(); @@ -2545,10 +2545,10 @@ void ScDocument::TransposeClip(ScDocument* pTransClip, InsertDeleteFlags nFlags, namespace { -void copyUsedNamesToClip(ScRangeName* pClipRangeName, ScRangeName* pRangeName, +void copyUsedNamesToClip(ScRangeName& rClipRangeName, ScRangeName* pRangeName, const sc::UpdatedRangeNames::NameIndicesType& rUsedNames) { - pClipRangeName->clear(); + rClipRangeName.clear(); for (const auto& rEntry : *pRangeName) //TODO: also DB and Pivot regions!!! { sal_uInt16 nIndex = rEntry.second->GetIndex(); @@ -2557,7 +2557,7 @@ void copyUsedNamesToClip(ScRangeName* pClipRangeName, ScRangeName* pRangeName, continue; ScRangeData* pData = new ScRangeData(*rEntry.second); - if (pClipRangeName->insert(pData)) + if (rClipRangeName.insert(pData)) pData->SetIndex(nIndex); } } diff --git a/sc/source/core/data/document10.cxx b/sc/source/core/data/document10.cxx index 5760f59832d8..5afa65b8bf15 100644 --- a/sc/source/core/data/document10.cxx +++ b/sc/source/core/data/document10.cxx @@ -741,7 +741,7 @@ ScRangeData* copyRangeName( const ScRangeData* pOldRangeData, ScDocument& rNewDo bool bInserted; if (nNewSheet < 0) - bInserted = rNewDoc.GetRangeName()->insert(pRangeData); + bInserted = rNewDoc.GetRangeName().insert(pRangeData); else bInserted = rNewDoc.GetRangeName(nNewSheet)->insert(pRangeData); @@ -773,10 +773,10 @@ ScRangeData* copyRangeNames( SheetIndexMap& rSheetIndexMap, std::vectorfindByIndex(nOldIndex); + pOldRangeData = GetRangeName().findByIndex(nOldIndex); if (!pOldRangeData) return false; // might be an error in the formula array aRangeName = pOldRangeData->GetUpperName(); @@ -895,9 +895,8 @@ bool ScDocument::CopyAdjustRangeName( SCTAB& rSheet, sal_uInt16& rIndex, ScRange if (!rpRangeData && !bGlobalNamesToLocal) { nNewSheet = -1; - pNewNames = rNewDoc.GetRangeName(); - if (pNewNames) - rpRangeData = pNewNames->findByUpperName(aRangeName); + pNewNames = &rNewDoc.GetRangeName(); + rpRangeData = pNewNames->findByUpperName(aRangeName); } // If no range name was found copy it. if (!rpRangeData) diff --git a/sc/source/core/data/dpshttab.cxx b/sc/source/core/data/dpshttab.cxx index f92fe153bc8e..90e85bc11bd0 100644 --- a/sc/source/core/data/dpshttab.cxx +++ b/sc/source/core/data/dpshttab.cxx @@ -262,14 +262,11 @@ const ScRange& ScSheetSourceDesc::GetSourceRange() const { // Obtain the source range from the range name first. maSourceRange = ScRange(); - ScRangeName* pRangeName = mpDoc->GetRangeName(); + ScRangeName& rRangeName = mpDoc->GetRangeName(); do { - if (!pRangeName) - break; - OUString aUpper = ScGlobal::getCharClass().uppercase(maRangeName); - const ScRangeData* pData = pRangeName->findByUpperName(aUpper); + const ScRangeData* pData = rRangeName.findByUpperName(aUpper); if (!pData) break; diff --git a/sc/source/core/data/grouptokenconverter.cxx b/sc/source/core/data/grouptokenconverter.cxx index a8def6fd7296..87ce1e34c0cc 100644 --- a/sc/source/core/data/grouptokenconverter.cxx +++ b/sc/source/core/data/grouptokenconverter.cxx @@ -258,7 +258,7 @@ bool ScGroupTokenConverter::convert( const ScTokenArray& rCode, sc::FormulaLogge aArrays.push_back(aArray); } - std::vector aArraysTmp = aArrays; + std::vector aArraysTmp = aArrays; formula::DoubleVectorRefToken aTok( std::move(aArraysTmp), nArrayLength, nRefRowSize, bAbsFirst, bAbsLast ); mrGroupTokens.AddToken(aTok); rScope.addRefMessage(mrPos, aAbs.aStart, nRequestedLength, aArrays); @@ -283,12 +283,9 @@ bool ScGroupTokenConverter::convert( const ScTokenArray& rCode, sc::FormulaLogge } // Named range. - ScRangeName* pNames = mrDoc.GetRangeName(); - if (!pNames) - // This should never fail. - return false; + ScRangeName& rNames = mrDoc.GetRangeName(); - ScRangeData* pRange = pNames->findByIndex(static_cast(p)->GetIndex()); + ScRangeData* pRange = rNames.findByIndex(static_cast(p)->GetIndex()); if (!pRange) // No named range exists by that index. return false; diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx index 1c9d011924d9..67fc7bbd8dfe 100644 --- a/sc/source/core/tool/compiler.cxx +++ b/sc/source/core/tool/compiler.cxx @@ -3835,9 +3835,8 @@ const ScRangeData* ScCompiler::GetRangeData( SCTAB& rSheet, const OUString& rUpp pData = pRangeName->findByUpperName(rUpperName); if (!pData) { - pRangeName = rDoc.GetRangeName(); - if (pRangeName) - pData = pRangeName->findByUpperName(rUpperName); + pRangeName = &rDoc.GetRangeName(); + pData = pRangeName->findByUpperName(rUpperName); if (pData) rSheet = -1; } @@ -3846,8 +3845,8 @@ const ScRangeData* ScCompiler::GetRangeData( SCTAB& rSheet, const OUString& rUpp bool ScCompiler::HasPossibleNamedRangeConflict( SCTAB nTab ) const { - const ScRangeName* pRangeName = rDoc.GetRangeName(); - if (pRangeName && pRangeName->hasPossibleAddressConflict()) + const ScRangeName* pRangeName = &rDoc.GetRangeName(); + if (pRangeName->hasPossibleAddressConflict()) return true; pRangeName = rDoc.GetRangeName(nTab); if (pRangeName && pRangeName->hasPossibleAddressConflict()) diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx index e7314645c2b6..27551d94eace 100644 --- a/sc/source/core/tool/rangeutl.cxx +++ b/sc/source/core/tool/rangeutl.cxx @@ -286,7 +286,7 @@ bool ScRangeUtil::MakeRangeFromName ( pData = pRangeNames->findByUpperName(aName); } if (!pData && eScope != RUTL_NAMES_LOCAL) - pData = rDoc.GetRangeName()->findByUpperName(aName); + pData = rDoc.GetRangeName().findByUpperName(aName); if (pData) { OUString aStrArea; @@ -964,11 +964,8 @@ ScRangeData* ScRangeStringConverter::GetRangeDataFromString( const OUString& rSt } if (!pData) { - ScRangeName* pGlobalRangeName = rDoc.GetRangeName(); - if (pGlobalRangeName) - { - pData = pGlobalRangeName->findByUpperName(aUpperName); - } + ScRangeName& rGlobalRangeName = rDoc.GetRangeName(); + pData = rGlobalRangeName.findByUpperName(aUpperName); } return pData; } @@ -992,15 +989,12 @@ bool ScArea::operator==( const ScArea& r ) const } ScAreaNameIterator::ScAreaNameIterator( const ScDocument& rDoc ) : - pRangeName(rDoc.GetRangeName()), + rRangeName(rDoc.GetRangeName()), pDBCollection(rDoc.GetDBCollection()), bFirstPass(true) { - if (pRangeName) - { - maRNPos = pRangeName->begin(); - maRNEnd = pRangeName->end(); - } + maRNPos = rRangeName.begin(); + maRNEnd = rRangeName.end(); } bool ScAreaNameIterator::Next( OUString& rName, ScRange& rRange ) @@ -1009,7 +1003,7 @@ bool ScAreaNameIterator::Next( OUString& rName, ScRange& rRange ) { if ( bFirstPass ) // first the area names { - if ( pRangeName && maRNPos != maRNEnd ) + if ( maRNPos != maRNEnd ) { const ScRangeData& rData = *maRNPos->second; ++maRNPos; diff --git a/sc/source/core/tool/tokenstringcontext.cxx b/sc/source/core/tool/tokenstringcontext.cxx index 5a4430c155a3..8dfd328caa41 100644 --- a/sc/source/core/tool/tokenstringcontext.cxx +++ b/sc/source/core/tool/tokenstringcontext.cxx @@ -54,10 +54,9 @@ TokenStringContext::TokenStringContext( const ScDocument& rDoc, formula::Formula } // Fetch all named range names. - const ScRangeName* pNames = rDoc.GetRangeName(); - if (pNames) - // global names - insertAllNames(maGlobalRangeNames, *pNames); + const ScRangeName& rNames = rDoc.GetRangeName(); + // global names + insertAllNames(maGlobalRangeNames, rNames); { ScRangeName::TabNameCopyMap aTabRangeNames; diff --git a/sc/source/filter/excel/xename.cxx b/sc/source/filter/excel/xename.cxx index f218f885365e..ef08a6d7fcef 100644 --- a/sc/source/filter/excel/xename.cxx +++ b/sc/source/filter/excel/xename.cxx @@ -523,7 +523,7 @@ sal_uInt16 XclExpNameManagerImpl::InsertName( SCTAB nTab, sal_uInt16 nScNameIdx, { sal_uInt16 nNameIdx = 0; const ScRangeData* pData = nullptr; - ScRangeName* pRN = (nTab == SCTAB_GLOBAL) ? GetDoc().GetRangeName() : GetDoc().GetRangeName(nTab); + ScRangeName* pRN = (nTab == SCTAB_GLOBAL) ? &GetDoc().GetRangeName() : GetDoc().GetRangeName(nTab); if (pRN) pData = pRN->findByIndex(nScNameIdx); diff --git a/sc/source/filter/excel/xiname.cxx b/sc/source/filter/excel/xiname.cxx index 2b3af1c74f5f..a6fd909d8e93 100644 --- a/sc/source/filter/excel/xiname.cxx +++ b/sc/source/filter/excel/xiname.cxx @@ -241,7 +241,7 @@ void XclImpName::InsertName(const ScTokenArray* pArray) pData->SetIndex( mnNameIndex ); // used as unique identifier in formulas if (mnXclTab == EXC_NAME_GLOBAL) { - if (!GetDoc().GetRangeName()->insert(pData)) + if (!GetDoc().GetRangeName().insert(pData)) pData = nullptr; } else diff --git a/sc/source/filter/excel/xlroot.cxx b/sc/source/filter/excel/xlroot.cxx index 8f2dbb72050f..a5068cf99e0b 100644 --- a/sc/source/filter/excel/xlroot.cxx +++ b/sc/source/filter/excel/xlroot.cxx @@ -309,7 +309,7 @@ ScStyleSheetPool& XclRoot::GetStyleSheetPool() const ScRangeName& XclRoot::GetNamedRanges() const { - return *GetDoc().GetRangeName(); + return GetDoc().GetRangeName(); } SdrPage* XclRoot::GetSdrPage( SCTAB nScTab ) const diff --git a/sc/source/filter/html/htmlimp.cxx b/sc/source/filter/html/htmlimp.cxx index 3039ab3aeb8a..a551dca7fc3b 100644 --- a/sc/source/filter/html/htmlimp.cxx +++ b/sc/source/filter/html/htmlimp.cxx @@ -108,7 +108,7 @@ void ScHTMLImport::InsertRangeName( ScDocument& rDoc, const OUString& rName, con ScTokenArray aTokArray(rDoc); aTokArray.AddDoubleReference( aRefData ); ScRangeData* pRangeData = new ScRangeData( rDoc, rName, aTokArray ); - rDoc.GetRangeName()->insert( pRangeData ); + rDoc.GetRangeName().insert( pRangeData ); } void ScHTMLImport::WriteToDocument( @@ -191,7 +191,7 @@ void ScHTMLImport::WriteToDocument( if (!pTable->GetTableCaption().isEmpty()) aName.append(" - " + pTable->GetTableCaption()); const OUString sName(aName.makeStringAndClear()); - if (!mrDoc.GetRangeName()->findByUpperName(ScGlobal::getCharClass().uppercase(sName))) + if (!mrDoc.GetRangeName().findByUpperName(ScGlobal::getCharClass().uppercase(sName))) InsertRangeName(mrDoc, sName, aNewRange); } } @@ -207,19 +207,19 @@ OUString ScHTMLImport::GetHTMLRangeNameList( const ScDocument& rDoc, std::u16str return OUString(); OUString aNewName; - ScRangeName* pRangeNames = rDoc.GetRangeName(); + ScRangeName& rRangeNames = rDoc.GetRangeName(); ScRangeList aRangeList; sal_Int32 nStringIx = 0; do { OUString aToken( o3tl::getToken(rOrigName, 0, ';', nStringIx ) ); - if( pRangeNames && ScfTools::IsHTMLTablesName( aToken ) ) + if( ScfTools::IsHTMLTablesName( aToken ) ) { // build list with all HTML tables sal_uLong nIndex = 1; for(;;) { aToken = ScfTools::GetNameFromHTMLIndex( nIndex++ ); - const ScRangeData* pRangeData = pRangeNames->findByUpperName(ScGlobal::getCharClass().uppercase(aToken)); + const ScRangeData* pRangeData = rRangeNames.findByUpperName(ScGlobal::getCharClass().uppercase(aToken)); if (!pRangeData) break; ScRange aRange; diff --git a/sc/source/filter/oox/workbookhelper.cxx b/sc/source/filter/oox/workbookhelper.cxx index a597e2599d7d..f6cdeea875c6 100644 --- a/sc/source/filter/oox/workbookhelper.cxx +++ b/sc/source/filter/oox/workbookhelper.cxx @@ -369,7 +369,7 @@ Reference< XStyle > WorkbookGlobals::getStyleObject( const OUString& rStyleName, namespace { -WorkbookHelper::RangeDataRet lcl_addNewByName(ScDocument& rDoc, ScRangeName* pNames, const OUString& rName, sal_Int16 nIndex, sal_Int32 nUnoType) +WorkbookHelper::RangeDataRet lcl_addNewByName(ScDocument& rDoc, ScRangeName& rNames, const OUString& rName, sal_Int16 nIndex, sal_Int32 nUnoType) { bool bDone = false; ScRangeData::Type nNewType = ScRangeData::Type::Name; @@ -389,7 +389,7 @@ WorkbookHelper::RangeDataRet lcl_addNewByName(ScDocument& rDoc, ScRangeName* pNa { return WorkbookHelper::RangeDataRet(pNew, true); } - if ( pNames->insert(pNew) ) + if ( rNames.insert(pNew) ) bDone = true; if (!bDone) { @@ -399,11 +399,11 @@ WorkbookHelper::RangeDataRet lcl_addNewByName(ScDocument& rDoc, ScRangeName* pNa return WorkbookHelper::RangeDataRet(pNew, false); } -OUString findUnusedName( const ScRangeName* pRangeName, const OUString& rSuggestedName ) +OUString findUnusedName( const ScRangeName& rRangeName, const OUString& rSuggestedName ) { OUString aNewName = rSuggestedName; sal_Int32 nIndex = 0; - while(pRangeName->findByUpperName(ScGlobal::getCharClass().uppercase(aNewName))) + while(rRangeName.findByUpperName(ScGlobal::getCharClass().uppercase(aNewName))) aNewName = rSuggestedName + OUStringChar('_') + OUString::number( nIndex++ ); return aNewName; @@ -419,11 +419,11 @@ WorkbookHelper::RangeDataRet WorkbookGlobals::createNamedRangeObject( if( !orName.isEmpty() ) { ScDocument& rDoc = getScDocument(); - ScRangeName* pNames = rDoc.GetRangeName(); + ScRangeName& rNames = rDoc.GetRangeName(); // find an unused name - orName = findUnusedName( pNames, orName ); + orName = findUnusedName( rNames, orName ); // create the named range - aScRangeData = lcl_addNewByName(rDoc, pNames, orName, nIndex, nNameFlags); + aScRangeData = lcl_addNewByName(rDoc, rNames, orName, nIndex, nNameFlags); } return aScRangeData; } @@ -440,9 +440,9 @@ WorkbookHelper::RangeDataRet WorkbookGlobals::createLocalNamedRangeObject( if(!pNames) throw RuntimeException(u"invalid sheet index used"_ustr); // find an unused name - orName = findUnusedName( pNames, orName ); + orName = findUnusedName( *pNames, orName ); // create the named range - aScRangeData = lcl_addNewByName(rDoc, pNames, orName, nIndex, nNameFlags); + aScRangeData = lcl_addNewByName(rDoc, *pNames, orName, nIndex, nNameFlags); } return aScRangeData; } diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx index 640910e9d60b..b7b1efe22a44 100644 --- a/sc/source/filter/orcus/interface.cxx +++ b/sc/source/filter/orcus/interface.cxx @@ -201,7 +201,7 @@ void ScOrcusNamedExpression::set_named_range(std::string_view /*name*/, std::str void ScOrcusNamedExpression::commit() { ScRangeName* pNames - = mnTab >= 0 ? mrDoc.getDoc().GetRangeName(mnTab) : mrDoc.getDoc().GetRangeName(); + = mnTab >= 0 ? mrDoc.getDoc().GetRangeName(mnTab) : &mrDoc.getDoc().GetRangeName(); if (!pNames) return; diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx index bdb9bb6ced42..f2e86977e270 100644 --- a/sc/source/filter/rtf/eeimpars.cxx +++ b/sc/source/filter/rtf/eeimpars.cxx @@ -143,7 +143,7 @@ void ScEEImport::WriteToDocument( bool bSizeColsRows, double nOutputFactor, SvNu // Automatic language option selected. Check for the global 'use US English' option. bNumbersEnglishUS = officecfg::Office::Common::Filter::HTML::Import::NumbersEnglishUS::get(); } - ScRangeName* pRangeNames = mrDoc.GetRangeName(); + ScRangeName& rRangeNames = mrDoc.GetRangeName(); for ( size_t i = 0, n = mpParser->ListSize(); i < n; ++i ) { pE = mpParser->ListEntry( i ); @@ -422,11 +422,11 @@ void ScEEImport::WriteToDocument( bool bSizeColsRows, double nOutputFactor, SvNu bHasGraphics |= GraphicSize( nCol, nRow, pE ); if ( pE->pName ) { // Anchor Name => RangeName - if (!pRangeNames->findByUpperName(ScGlobal::getCharClass().uppercase(*pE->pName))) + if (!rRangeNames.findByUpperName(ScGlobal::getCharClass().uppercase(*pE->pName))) { ScRangeData* pData = new ScRangeData( mrDoc, *pE->pName, ScAddress( nCol, nRow, nTab ) ); - pRangeNames->insert( pData ); + rRangeNames.insert( pData ); } } } diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx index 2b4e1c1ff19e..0f207b10a55d 100644 --- a/sc/source/filter/xml/xmlexprt.cxx +++ b/sc/source/filter/xml/xmlexprt.cxx @@ -4274,8 +4274,8 @@ void ScXMLExport::WritePersons(const ScDocument& rDoc) void ScXMLExport::WriteNamedExpressions(const ScDocument& rDoc) { - ScRangeName* pNamedRanges = rDoc.GetRangeName(); - WriteNamedRange(rDoc, pNamedRanges); + ScRangeName& rNamedRanges = rDoc.GetRangeName(); + WriteNamedRange(rDoc, &rNamedRanges); } void ScXMLExport::WriteExternalDataMapping(ScDocument& rDoc) diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx index f8355b1f4f86..383891e1eed9 100644 --- a/sc/source/filter/xml/xmlimprt.cxx +++ b/sc/source/filter/xml/xmlimprt.cxx @@ -1314,9 +1314,9 @@ void ScXMLImport::SetNamedRanges() return; // Insert the namedRanges - ScRangeName* pRangeNames = mpDoc->GetRangeName(); + ScRangeName& rRangeNames = mpDoc->GetRangeName(); ::std::for_each(m_aMyNamedExpressions.begin(), m_aMyNamedExpressions.end(), - RangeNameInserter(*mpDoc, *pRangeNames, -1)); + RangeNameInserter(*mpDoc, rRangeNames, -1)); } void ScXMLImport::SetSheetNamedRanges() diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index 31bfee7140db..983393e7d1cd 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -2342,8 +2342,8 @@ void ScPosWnd::FillRangeNames(bool initialize) ScDocument& rDoc = pDocShell->GetDocument(); ScRange aDummy; - ScRangeName* pRangeNames = rDoc.GetRangeName(); - for (const auto& rEntry : *pRangeNames) + ScRangeName& rRangeNames = rDoc.GetRangeName(); + for (const auto& rEntry : rRangeNames) { if (rEntry.second->IsValidReference(aDummy)) aSet.insert(rEntry.second->GetName()); @@ -2615,12 +2615,12 @@ void ScPosWnd::DoEnter() } else if ( eType == SC_NAME_INPUT_DEFINE ) { - ScRangeName* pNames = rDoc.GetRangeName(); + ScRangeName& rNames = rDoc.GetRangeName(); ScRange aSelection; - if ( pNames && !pNames->findByUpperName(ScGlobal::getCharClass().uppercase(aText)) && + if ( !rNames.findByUpperName(ScGlobal::getCharClass().uppercase(aText)) && (rViewData.GetSimpleArea( aSelection ) == SC_MARK_SIMPLE) ) { - ScRangeName aNewRanges( *pNames ); + ScRangeName aNewRanges( rNames ); ScAddress aCursor( rViewData.GetCurX(), rViewData.GetCurY(), rViewData.CurrentTabForData() ); OUString aContent(aSelection.Format(rDoc, ScRefFlags::RANGE_ABS_3D, rDoc.GetAddressConvention())); ScRangeData* pNew = new ScRangeData( rDoc, aText, aContent, aCursor ); diff --git a/sc/source/ui/dbgui/PivotLayoutDialog.cxx b/sc/source/ui/dbgui/PivotLayoutDialog.cxx index 031c3c241441..0172f515d1ca 100644 --- a/sc/source/ui/dbgui/PivotLayoutDialog.cxx +++ b/sc/source/ui/dbgui/PivotLayoutDialog.cxx @@ -54,11 +54,9 @@ namespace ScRange lclGetRangeForNamedRange(OUString const & aName, const ScDocument& rDocument) { ScRange aInvalidRange(ScAddress::INITIALIZE_INVALID); - ScRangeName* pRangeName = rDocument.GetRangeName(); - if (pRangeName == nullptr) - return aInvalidRange; + ScRangeName& rRangeName = rDocument.GetRangeName(); - const ScRangeData* pData = pRangeName->findByUpperName(aName.toAsciiUpperCase()); + const ScRangeData* pData = rRangeName.findByUpperName(aName.toAsciiUpperCase()); if (pData == nullptr) return aInvalidRange; diff --git a/sc/source/ui/dbgui/consdlg.cxx b/sc/source/ui/dbgui/consdlg.cxx index b78d1ee6e1ea..7bf8ab53370d 100644 --- a/sc/source/ui/dbgui/consdlg.cxx +++ b/sc/source/ui/dbgui/consdlg.cxx @@ -173,9 +173,9 @@ void ScConsolidateDlg::Init() // Use the ScAreaData helper class to save those range names from the // RangeNames and database ranges that appear in the ListBoxes. - ScRangeName* pRangeNames = rDoc.GetRangeName(); + ScRangeName& rRangeNames = rDoc.GetRangeName(); ScDBCollection* pDbNames = rDoc.GetDBCollection(); - size_t nRangeCount = pRangeNames ? pRangeNames->size() : 0; + size_t nRangeCount = rRangeNames.size(); size_t nDbCount = pDbNames ? pDbNames->getNamedDBs().size() : 0; nAreaDataCount = nRangeCount+nDbCount; diff --git a/sc/source/ui/dbgui/sfiltdlg.cxx b/sc/source/ui/dbgui/sfiltdlg.cxx index 15d2c081e637..74e16d27e275 100644 --- a/sc/source/ui/dbgui/sfiltdlg.cxx +++ b/sc/source/ui/dbgui/sfiltdlg.cxx @@ -123,11 +123,11 @@ void ScSpecialFilterDlg::Init( const SfxItemSet& rArgSet ) if (m_rDoc.GetChangeTrack() != nullptr) m_xBtnCopyResult->set_sensitive(false); - ScRangeName* pRangeNames = m_rDoc.GetRangeName(); + ScRangeName& rRangeNames = m_rDoc.GetRangeName(); m_xLbFilterArea->clear(); m_xLbFilterArea->append_text(m_aStrUndefined); - for (const auto& rEntry : *pRangeNames) + for (const auto& rEntry : rRangeNames) { if (!rEntry.second->HasType(ScRangeData::Type::Criteria)) continue; diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx index edae7259b0cb..651182ede92b 100644 --- a/sc/source/ui/docshell/arealink.cxx +++ b/sc/source/ui/docshell/arealink.cxx @@ -184,13 +184,13 @@ bool ScAreaLink::FindExtRange( ScRange& rRange, const ScDocument& rSrcDoc, const { bool bFound = false; OUString aUpperName = ScGlobal::getCharClass().uppercase(rAreaName); - ScRangeName* pNames = rSrcDoc.GetRangeName(); - if (pNames) // named ranges - { - const ScRangeData* p = pNames->findByUpperName(aUpperName); - if (p && p->IsValidReference(rRange)) - bFound = true; - } + ScRangeName& rNames = rSrcDoc.GetRangeName(); + + // named ranges + const ScRangeData* p = rNames.findByUpperName(aUpperName); + if (p && p->IsValidReference(rRange)) + bFound = true; + if (!bFound) // database ranges { ScDBCollection* pDBColl = rSrcDoc.GetDBCollection(); diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx index dc4ae35840ed..8e1c21b33751 100644 --- a/sc/source/ui/docshell/dbdocfun.cxx +++ b/sc/source/ui/docshell/dbdocfun.cxx @@ -573,9 +573,9 @@ bool ScDBDocFunc::RepeatDB( const OUString& rDBName, bool bApi, bool bIsUnnamed, rDoc.CopyToDocument(0, 0, 0, rDoc.MaxCol(), rDoc.MaxRow(), nTabCount-1, InsertDeleteFlags::FORMULA, false, *pUndoDoc); // ranges of DB and other - ScRangeName* pDocRange = rDoc.GetRangeName(); - if (!pDocRange->empty()) - pUndoRange.reset(new ScRangeName( *pDocRange )); + ScRangeName& rDocRange = rDoc.GetRangeName(); + if (!rDocRange.empty()) + pUndoRange.reset(new ScRangeName( rDocRange )); ScDBCollection* pDocDB = rDoc.GetDBCollection(); if (!pDocDB->empty()) pUndoDB.reset(new ScDBCollection( *pDocDB )); diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index 995540f3a14f..08a4befd6e1d 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -2238,7 +2238,7 @@ void ScDocFunc::SetNewRangeNames( std::unique_ptr pNewRanges, bool } else { - pOld = rDoc.GetRangeName(); + pOld = &rDoc.GetRangeName(); } std::unique_ptr pUndoRanges(new ScRangeName(*pOld)); std::unique_ptr pRedoRanges(new ScRangeName(*pNewRanges)); @@ -2383,7 +2383,7 @@ bool ScDocFunc::CreateNames( const ScRange& rRange, CreateNameFlags nFlags, bool if (aTab >=0) pNames = rDoc.GetRangeName(nTab); else - pNames = rDoc.GetRangeName(); + pNames = &rDoc.GetRangeName(); if (!pNames) return false; // shouldn't happen diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx index 5452916fc06a..976e3cfd1a95 100644 --- a/sc/source/ui/docshell/docsh4.cxx +++ b/sc/source/ui/docshell/docsh4.cxx @@ -2985,17 +2985,14 @@ bool ScDocShell::DdeSetData( const OUString& rItem, // named range? OUString aPos = rItem; - ScRangeName* pRange = m_pDocument->GetRangeName(); - if( pRange ) + ScRangeName& rRange = m_pDocument->GetRangeName(); + const ScRangeData* pData = rRange.findByUpperName(ScGlobal::getCharClass().uppercase(aPos)); + if (pData) { - const ScRangeData* pData = pRange->findByUpperName(ScGlobal::getCharClass().uppercase(aPos)); - if (pData) - { - if( pData->HasType( ScRangeData::Type::RefArea ) - || pData->HasType( ScRangeData::Type::AbsArea ) - || pData->HasType( ScRangeData::Type::AbsPos ) ) - aPos = pData->GetSymbol(); // continue with the name's contents - } + if( pData->HasType( ScRangeData::Type::RefArea ) + || pData->HasType( ScRangeData::Type::AbsArea ) + || pData->HasType( ScRangeData::Type::AbsPos ) ) + aPos = pData->GetSymbol(); // continue with the name's contents } // Address in DDE function must be always parsed as CONV_OOO so that it diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx index dbdcdd3365e9..f0de47d2ddcc 100644 --- a/sc/source/ui/docshell/externalrefmgr.cxx +++ b/sc/source/ui/docshell/externalrefmgr.cxx @@ -2133,9 +2133,9 @@ namespace { bool hasRangeName(const ScDocument& rDoc, const OUString& rName) { - ScRangeName* pExtNames = rDoc.GetRangeName(); + ScRangeName& rExtNames = rDoc.GetRangeName(); OUString aUpperName = ScGlobal::getCharClass().uppercase(rName); - const ScRangeData* pRangeData = pExtNames->findByUpperName(aUpperName); + const ScRangeData* pRangeData = rExtNames.findByUpperName(aUpperName); return pRangeData != nullptr; } @@ -2354,9 +2354,9 @@ ScExternalRefCache::TokenArrayRef ScExternalRefManager::getDoubleRefTokensFromSr ScExternalRefCache::TokenArrayRef ScExternalRefManager::getRangeNameTokensFromSrcDoc( sal_uInt16 nFileId, const ScDocument& rSrcDoc, OUString& rName) { - ScRangeName* pExtNames = rSrcDoc.GetRangeName(); + ScRangeName& rExtNames = rSrcDoc.GetRangeName(); OUString aUpperName = ScGlobal::getCharClass().uppercase(rName); - const ScRangeData* pRangeData = pExtNames->findByUpperName(aUpperName); + const ScRangeData* pRangeData = rExtNames.findByUpperName(aUpperName); if (!pRangeData) return ScExternalRefCache::TokenArrayRef(); @@ -3067,14 +3067,13 @@ void ScExternalRefManager::breakLink(sal_uInt16 nFileId) // Remove all named ranges that reference this document. // Global named ranges. - ScRangeName* pRanges = mrDoc.GetRangeName(); - if (pRanges) - removeRangeNamesBySrcDoc(*pRanges, nFileId); + ScRangeName& rRanges = mrDoc.GetRangeName(); + removeRangeNamesBySrcDoc(rRanges, nFileId); // Sheet-local named ranges. for (SCTAB i = 0, n = mrDoc.GetTableCount(); i < n; ++i) { - pRanges = mrDoc.GetRangeName(i); + ScRangeName* pRanges = mrDoc.GetRangeName(i); if (pRanges) removeRangeNamesBySrcDoc(*pRanges, nFileId); } diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx index 92f296e7102c..2b6f1e8ea644 100644 --- a/sc/source/ui/docshell/impex.cxx +++ b/sc/source/ui/docshell/impex.cxx @@ -171,21 +171,20 @@ ScImportExport::ScImportExport( ScDocument& r, const OUString& rPos ) SCTAB nTab = ScDocShell::GetCurTab(); aRange.aStart.SetTab( nTab ); OUString aPos( rPos ); + // Named range? - ScRangeName* pRange = rDoc.GetRangeName(); - if (pRange) + ScRangeName& rRange = rDoc.GetRangeName(); + const ScRangeData* pData = rRange.findByUpperName(ScGlobal::getCharClass().uppercase(aPos)); + if (pData) { - const ScRangeData* pData = pRange->findByUpperName(ScGlobal::getCharClass().uppercase(aPos)); - if (pData) + if( pData->HasType( ScRangeData::Type::RefArea ) + || pData->HasType( ScRangeData::Type::AbsArea ) + || pData->HasType( ScRangeData::Type::AbsPos ) ) { - if( pData->HasType( ScRangeData::Type::RefArea ) - || pData->HasType( ScRangeData::Type::AbsArea ) - || pData->HasType( ScRangeData::Type::AbsPos ) ) - { - aPos = pData->GetSymbol(); - } + aPos = pData->GetSymbol(); } } + formula::FormulaGrammar::AddressConvention eConv = rDoc.GetAddressConvention(); // Range? if (aRange.Parse(aPos, rDoc, eConv) & ScRefFlags::VALID) diff --git a/sc/source/ui/docshell/servobj.cxx b/sc/source/ui/docshell/servobj.cxx index 78b83a00179a..0a4ffb1b9b9a 100644 --- a/sc/source/ui/docshell/servobj.cxx +++ b/sc/source/ui/docshell/servobj.cxx @@ -37,15 +37,12 @@ static bool lcl_FillRangeFromName( ScRange& rRange, ScDocShell* pDocSh, const OU if (pDocSh) { ScDocument& rDoc = pDocSh->GetDocument(); - ScRangeName* pNames = rDoc.GetRangeName(); - if (pNames) + ScRangeName& rNames = rDoc.GetRangeName(); + const ScRangeData* pData = rNames.findByUpperName(ScGlobal::getCharClass().uppercase(rName)); + if (pData) { - const ScRangeData* pData = pNames->findByUpperName(ScGlobal::getCharClass().uppercase(rName)); - if (pData) - { - if ( pData->IsValidReference( rRange ) ) - return true; - } + if ( pData->IsValidReference( rRange ) ) + return true; } } return false; diff --git a/sc/source/ui/miscdlgs/linkarea.cxx b/sc/source/ui/miscdlgs/linkarea.cxx index 87b9cbc572ee..3214548dec27 100644 --- a/sc/source/ui/miscdlgs/linkarea.cxx +++ b/sc/source/ui/miscdlgs/linkarea.cxx @@ -248,10 +248,10 @@ void ScLinkedAreaDlg::UpdateSourceRanges() } // tdf#142600 - list tables in order of their appearance in the document's source - const ScRangeName* pRangeName = m_pSourceShell->GetDocument().GetRangeName(); - for (size_t i = 1; i <= pRangeName->index_size(); i++) + const ScRangeName& rRangeName = m_pSourceShell->GetDocument().GetRangeName(); + for (size_t i = 1; i <= rRangeName.index_size(); i++) { - if (const ScRangeData* pRangeData = pRangeName->findByIndex(i)) + if (const ScRangeData* pRangeData = rRangeName.findByIndex(i)) { m_xLbRanges->append_text(pRangeData->GetName()); } diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx index 9d7229b7c663..7025a9340178 100644 --- a/sc/source/ui/navipi/content.cxx +++ b/sc/source/ui/navipi/content.cxx @@ -790,8 +790,8 @@ void ScContentTree::GetAreaNames() ScRange aDummy; std::set aSet; - ScRangeName* pRangeNames = pDoc->GetRangeName(); - for (const auto& rEntry : *pRangeNames) + ScRangeName& rRangeNames = pDoc->GetRangeName(); + for (const auto& rEntry : rRangeNames) { if (rEntry.second->IsValidReference(aDummy)) aSet.insert(rEntry.second->GetName()); @@ -1108,13 +1108,10 @@ static bool lcl_GetRange( const ScDocument& rDoc, ScContentId nType, const OUStr if ( nType == ScContentId::RANGENAME ) { - ScRangeName* pList = rDoc.GetRangeName(); - if (pList) - { - const ScRangeData* p = pList->findByUpperName(ScGlobal::getCharClass().uppercase(rName)); - if (p && p->IsValidReference(rRange)) - bFound = true; - } + ScRangeName& rList = rDoc.GetRangeName(); + const ScRangeData* p = rList.findByUpperName(ScGlobal::getCharClass().uppercase(rName)); + if (p && p->IsValidReference(rRange)) + bFound = true; } else if ( nType == ScContentId::DBAREA ) { diff --git a/sc/source/ui/operation/InsertNameListOperation.cxx b/sc/source/ui/operation/InsertNameListOperation.cxx index ce1e37590b09..b04a18eacd09 100644 --- a/sc/source/ui/operation/InsertNameListOperation.cxx +++ b/sc/source/ui/operation/InsertNameListOperation.cxx @@ -49,8 +49,8 @@ bool InsertNameListOperation::runImplementation() if (!r.HasType(ScRangeData::Type::Database)) ++nValidCount; } - ScRangeName* pList = rDoc.GetRangeName(); - for (const auto& rEntry : *pList) + ScRangeName& rList = rDoc.GetRangeName(); + for (const auto& rEntry : rList) { const ScRangeData& r = *rEntry.second; if (!r.HasType(ScRangeData::Type::Database) @@ -89,7 +89,7 @@ bool InsertNameListOperation::runImplementation() if (!r.HasType(ScRangeData::Type::Database)) ppSortArray[j++] = &r; } - for (const auto & [ rName, rxData ] : *pList) + for (const auto & [ rName, rxData ] : rList) { ScRangeData& r = *rxData; if (!r.HasType(ScRangeData::Type::Database) && !pLocalList->findByUpperName(rName)) diff --git a/sc/source/ui/operation/SubTotalsOperation.cxx b/sc/source/ui/operation/SubTotalsOperation.cxx index e9dde21cec9c..7bcb7c9cf98b 100644 --- a/sc/source/ui/operation/SubTotalsOperation.cxx +++ b/sc/source/ui/operation/SubTotalsOperation.cxx @@ -139,9 +139,9 @@ bool SubTotalsOperation::runImplementation() InsertDeleteFlags::FORMULA, false, *pUndoDoc); // ranges of DB and other - ScRangeName* pDocRange = rDoc.GetRangeName(); - if (!pDocRange->empty()) - pUndoRange.reset(new ScRangeName(*pDocRange)); + ScRangeName& rDocRange = rDoc.GetRangeName(); + if (!rDocRange.empty()) + pUndoRange.reset(new ScRangeName(rDocRange)); ScDBCollection* pDocDB = rDoc.GetDBCollection(); if (!pDocDB->empty()) pUndoDB.reset(new ScDBCollection(*pDocDB)); diff --git a/sc/source/ui/pagedlg/areasdlg.cxx b/sc/source/ui/pagedlg/areasdlg.cxx index 63dbf3ba9ed6..e6b76a8a9f99 100644 --- a/sc/source/ui/pagedlg/areasdlg.cxx +++ b/sc/source/ui/pagedlg/areasdlg.cxx @@ -389,13 +389,13 @@ void ScPrintAreasDlg::Impl_FillLists() // Get ranges and remember in ListBoxen - ScRangeName* pRangeNames = rDoc.GetRangeName(); + ScRangeName& rRangeNames = rDoc.GetRangeName(); - if (!pRangeNames || pRangeNames->empty()) + if (rRangeNames.empty()) // No range names to process. return; - for (const auto& rEntry : *pRangeNames) + for (const auto& rEntry : rRangeNames) { if (!rEntry.second->HasType(ScRangeData::Type::AbsArea ) && !rEntry.second->HasType(ScRangeData::Type::RefArea) diff --git a/sc/source/ui/undo/refundo.cxx b/sc/source/ui/undo/refundo.cxx index 81f0fd2fd01a..125924bd3860 100644 --- a/sc/source/ui/undo/refundo.cxx +++ b/sc/source/ui/undo/refundo.cxx @@ -41,9 +41,9 @@ ScRefUndoData::ScRefUndoData( ScDocument& rDoc, bool bForceDBSnapshot ) : if (pOldDBColl && (bForceDBSnapshot || !pOldDBColl->empty())) pDBCollection.reset(new ScDBCollection(*pOldDBColl)); - const ScRangeName* pOldRanges = rDoc.GetRangeName(); - if (pOldRanges && !pOldRanges->empty()) - pRangeName.reset(new ScRangeName(*pOldRanges)); + const ScRangeName& rOldRanges = rDoc.GetRangeName(); + if (!rOldRanges.empty()) + pRangeName.reset(new ScRangeName(rOldRanges)); // when handling Pivot solely keep the range? @@ -85,8 +85,8 @@ void ScRefUndoData::DeleteUnchanged( ScDocument& rDoc ) } if (pRangeName) { - ScRangeName* pNewRanges = rDoc.GetRangeName(); - if ( pNewRanges && *pRangeName == *pNewRanges ) + ScRangeName& rNewRanges = rDoc.GetRangeName(); + if ( *pRangeName == rNewRanges ) pRangeName.reset(); } diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx index 98112bc47420..71e7b317b444 100644 --- a/sc/source/ui/undo/undoblk.cxx +++ b/sc/source/ui/undo/undoblk.cxx @@ -1435,15 +1435,14 @@ void ScUndoDragDrop::Undo() aCxt.mnTabDelta = nTabDelta; // Global range names. - ScRangeName* pName = rDoc.GetRangeName(); - if (pName) - pName->UpdateReference(aCxt); + ScRangeName& rName = rDoc.GetRangeName(); + rName.UpdateReference(aCxt); SCTAB nTabCount = rDoc.GetTableCount(); for (SCTAB nTab = 0; nTab < nTabCount; ++nTab) { // Sheet-local range names. - pName = rDoc.GetRangeName(nTab); + ScRangeName* pName = rDoc.GetRangeName(nTab); if (pName) pName->UpdateReference(aCxt, nTab); } diff --git a/sc/source/ui/undo/undorangename.cxx b/sc/source/ui/undo/undorangename.cxx index 08aae2bbd2ab..97115ae1b479 100644 --- a/sc/source/ui/undo/undorangename.cxx +++ b/sc/source/ui/undo/undorangename.cxx @@ -90,7 +90,7 @@ void ScUndoAddRangeData::Undo() ScRangeName* pRangeName = nullptr; if (mnTab == -1) { - pRangeName = rDoc.GetRangeName(); + pRangeName = &rDoc.GetRangeName(); } else { @@ -107,7 +107,7 @@ void ScUndoAddRangeData::Redo() ScRangeName* pRangeName = nullptr; if (mnTab == -1) { - pRangeName = rDoc.GetRangeName(); + pRangeName = &rDoc.GetRangeName(); } else { diff --git a/sc/source/ui/unoobj/nameuno.cxx b/sc/source/ui/unoobj/nameuno.cxx index 388c07e96120..7ea80b915da6 100644 --- a/sc/source/ui/unoobj/nameuno.cxx +++ b/sc/source/ui/unoobj/nameuno.cxx @@ -120,7 +120,7 @@ ScRangeData* ScNamedRangeObj::GetRangeData_Impl() if (nTab >= 0) pNames = pDocShell->GetDocument().GetRangeName(nTab); else - pNames = pDocShell->GetDocument().GetRangeName(); + pNames = &pDocShell->GetDocument().GetRangeName(); if (pNames) { pRet = pNames->findByUpperName(ScGlobal::getCharClass().uppercase(aName)); @@ -163,7 +163,7 @@ void ScNamedRangeObj::Modify_Impl( const OUString* pNewName, const ScTokenArray* if (nTab >= 0) pNames = rDoc.GetRangeName(nTab); else - pNames = rDoc.GetRangeName(); + pNames = &rDoc.GetRangeName(); if (!pNames) return; @@ -785,12 +785,10 @@ rtl::Reference ScGlobalNamedRangesObj::GetObjectByIndex_Impl(sa if (!pDocShell) return nullptr; - ScRangeName* pNames = pDocShell->GetDocument().GetRangeName(); - if (!pNames) - return nullptr; + ScRangeName& rNames = pDocShell->GetDocument().GetRangeName(); sal_uInt16 nPos = 0; - for (const auto& rName : *pNames) + for (const auto& rName : rNames) { if (lcl_UserVisibleName(*rName.second)) { @@ -811,7 +809,7 @@ rtl::Reference ScGlobalNamedRangesObj::GetObjectByName_Impl(con ScRangeName* ScGlobalNamedRangesObj::GetRangeName_Impl() { - return pDocShell->GetDocument().GetRangeName(); + return &pDocShell->GetDocument().GetRangeName(); } SCTAB ScGlobalNamedRangesObj::GetTab_Impl() diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index 42f0138463ec..e74daa03b4c9 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -3684,13 +3684,10 @@ void ScCellShell::ExecuteDataPilotDialog() pTabViewShell->GetFrameWeld(), bEnableExt)); // Populate named ranges (if any). - ScRangeName* pRangeName = rDoc.GetRangeName(); - if (pRangeName) - { - ScRangeName::const_iterator itr = pRangeName->begin(), itrEnd = pRangeName->end(); - for (; itr != itrEnd; ++itr) - pTypeDlg->AppendNamedRange(itr->second->GetName()); - } + ScRangeName& rRangeName = rDoc.GetRangeName(); + ScRangeName::const_iterator itr = rRangeName.begin(), itrEnd = rRangeName.end(); + for (; itr != itrEnd; ++itr) + pTypeDlg->AppendNamedRange(itr->second->GetName()); pTypeDlg->StartExecuteAsync([this, pTypeDlg, pTabViewShell, pScMod, pFact, &rDoc, &rMark, aDestPos](int nResult) mutable { diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx index 5c5d9ecac663..a0bbc243100a 100644 --- a/sc/source/ui/view/dbfunc3.cxx +++ b/sc/source/ui/view/dbfunc3.cxx @@ -520,9 +520,9 @@ void ScDBFunc::DoSubTotals( const ScSubTotalParam& rParam, bool bRecord, InsertDeleteFlags::FORMULA, false, *pUndoDoc ); // database and other ranges - ScRangeName* pDocRange = rDoc.GetRangeName(); - if (!pDocRange->empty()) - pUndoRange.reset(new ScRangeName( *pDocRange )); + ScRangeName& rDocRange = rDoc.GetRangeName(); + if (!rDocRange.empty()) + pUndoRange.reset(new ScRangeName( rDocRange )); ScDBCollection* pDocDB = rDoc.GetDBCollection(); if (!pDocDB->empty()) pUndoDB.reset(new ScDBCollection( *pDocDB )); @@ -2312,9 +2312,9 @@ void ScDBFunc::RepeatDB( bool bRecord ) rDoc.CopyToDocument( 0,0,0, rDoc.MaxCol(),rDoc.MaxRow(),nTabCount-1, InsertDeleteFlags::FORMULA, false, *pUndoDoc ); // data base and other ranges - ScRangeName* pDocRange = rDoc.GetRangeName(); - if (!pDocRange->empty()) - pUndoRange.reset(new ScRangeName( *pDocRange )); + ScRangeName& rDocRange = rDoc.GetRangeName(); + if (!rDocRange.empty()) + pUndoRange.reset(new ScRangeName( rDocRange )); ScDBCollection* pDocDB = rDoc.GetDBCollection(); if (!pDocDB->empty()) pUndoDB.reset(new ScDBCollection( *pDocDB )); diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index 4b1c7a6ea15f..3def63e1e9ae 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -3136,7 +3136,7 @@ bool ScViewFunc::InsertName( const OUString& rName, const OUString& rSymbol, ScDocShell* pDocSh = GetViewData().GetDocShell(); ScDocument& rDoc = pDocSh->GetDocument(); SCTAB nTab = GetViewData().CurrentTabForData(); - ScRangeName* pList = rDoc.GetRangeName(); + ScRangeName& rList = rDoc.GetRangeName(); ScRangeData::Type nType = ScRangeData::Type::Name; auto pNewEntry = std::make_unique( @@ -3160,15 +3160,15 @@ bool ScViewFunc::InsertName( const OUString& rName, const OUString& rSymbol, rDoc.PreprocessRangeNameUpdate(); // input available yet? Then remove beforehand (=change) - ScRangeData* pData = pList->findByUpperName(ScGlobal::getCharClass().uppercase(rName)); + ScRangeData* pData = rList.findByUpperName(ScGlobal::getCharClass().uppercase(rName)); if (pData) { // take old Index pNewEntry->SetIndex(pData->GetIndex()); - pList->erase(*pData); + rList.erase(*pData); } // don't delete, insert took ownership, even on failure! - if ( pList->insert( pNewEntry.release() ) ) + if ( rList.insert( pNewEntry.release() ) ) bOk = true; rDoc.CompileHybridFormula();