sc/inc/document.hxx | 4 +-- sc/inc/formulagroup.hxx | 1 sc/qa/unit/ucalc.cxx | 4 +-- sc/source/core/data/column.cxx | 6 ++--- sc/source/core/data/column2.cxx | 26 +++++++++++----------- sc/source/core/data/column3.cxx | 16 ++++++------- sc/source/core/data/documen2.cxx | 4 +-- sc/source/core/data/documentimport.cxx | 4 +-- sc/source/core/data/validat.cxx | 2 - sc/source/core/tool/interpr1.cxx | 6 ++--- sc/source/filter/xcl97/XclImpChangeTrack.cxx | 2 - sc/source/filter/xml/XMLDDELinksContext.cxx | 2 - sc/source/filter/xml/XMLTrackedChangesContext.cxx | 2 - sc/source/ui/undo/undocell.cxx | 2 - 14 files changed, 40 insertions(+), 41 deletions(-)
New commits: commit 04071a018b1484838334c018f4c3d75596492a50 Author: Kohei Yoshida <[email protected]> Date: Tue Oct 8 09:33:23 2013 -0400 Get the string ID's for case insensitive comparisons. If we ever need to use this for case sensitive comparisons, we'll have to find a way to conditionalize it. Change-Id: Ibb862c4700d2fb660570fc80a80a03eed1d556c3 diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx index 21ef99f..392a851 100644 --- a/sc/source/core/data/column2.cxx +++ b/sc/source/core/data/column2.cxx @@ -2183,7 +2183,7 @@ bool appendStrings( getBlockIterators<sc::string_block>(it, nLenRemain, itData, itDataEnd); for (; itData != itDataEnd; ++itData) - rArray.push_back(itData->getData()); + rArray.push_back(itData->getDataIgnoreCase()); } break; case sc::element_type_edittext: @@ -2194,7 +2194,7 @@ bool appendStrings( for (; itData != itDataEnd; ++itData) { OUString aStr = ScEditUtil::GetString(**itData, pDoc); - rArray.push_back(rPool.intern(aStr).getData()); + rArray.push_back(rPool.intern(aStr).getDataIgnoreCase()); } } break; @@ -2219,7 +2219,7 @@ bool appendStrings( return false; } - rArray.push_back(rPool.intern(aStr).getData()); + rArray.push_back(rPool.intern(aStr).getDataIgnoreCase()); } } break; @@ -2250,7 +2250,7 @@ bool appendStrings( return false; } -void copyFirstBlock( sc::FormulaGroupContext& rCxt, size_t nLen, const sc::CellStoreType::position_type& rPos ) +void copyFirstStringBlock( sc::FormulaGroupContext& rCxt, size_t nLen, const sc::CellStoreType::position_type& rPos ) { rCxt.maStrArrays.push_back(new sc::FormulaGroupContext::StrArrayType); sc::FormulaGroupContext::StrArrayType& rArray = rCxt.maStrArrays.back(); @@ -2259,7 +2259,7 @@ void copyFirstBlock( sc::FormulaGroupContext& rCxt, size_t nLen, const sc::CellS svl::SharedString* p = &sc::string_block::at(*rPos.first->data, rPos.second); svl::SharedString* pEnd = p + nLen; for (; p != pEnd; ++p) - rArray.push_back(p->getData()); + rArray.push_back(p->getDataIgnoreCase()); } } @@ -2370,12 +2370,12 @@ formula::VectorRefArray ScColumn::FetchVectorRefArray( sc::FormulaGroupContext& if (nLenRequested <= nLen) { // Requested length fits a single block. - copyFirstBlock(rCxt, nLenRequested, aPos); + copyFirstStringBlock(rCxt, nLenRequested, aPos); sc::FormulaGroupContext::StrArrayType& rArray = rCxt.maStrArrays.back(); return formula::VectorRefArray(&rArray[0]); } - copyFirstBlock(rCxt, nLen, aPos); + copyFirstStringBlock(rCxt, nLen, aPos); sc::FormulaGroupContext::StrArrayType& rArray = rCxt.maStrArrays.back(); // Fill the remaining array with values from the following blocks. commit f05eaa705a1b77c3975929709637b52b8961fb31 Author: Kohei Yoshida <[email protected]> Date: Tue Oct 8 09:27:27 2013 -0400 Rename GetCellStringPool() to GetSharedStringPool(). Change-Id: I99d373f7887424bb103cff60d53f5cd8ce337ef7 diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index fc0058d..54fd457 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -853,8 +853,8 @@ public: */ double* GetValueCell( const ScAddress& rPos ); - SC_DLLPUBLIC svl::SharedStringPool& GetCellStringPool(); - const svl::SharedStringPool& GetCellStringPool() const; + SC_DLLPUBLIC svl::SharedStringPool& GetSharedStringPool(); + const svl::SharedStringPool& GetSharedStringPool() const; sal_uIntPtr GetCellStringID( const ScAddress& rPos ) const; sal_uIntPtr GetCellStringIDIgnoreCase( const ScAddress& rPos ) const; diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx index 91afa61..f682bc4 100644 --- a/sc/qa/unit/ucalc.cxx +++ b/sc/qa/unit/ucalc.cxx @@ -502,7 +502,7 @@ void Test::testCellStringPool() CPPUNIT_ASSERT_MESSAGE("They must be equal when cases are ignored.", nId1 == nId2); // Check the string counts after purging. Purging shouldn't remove any strings in this case. - svl::SharedStringPool& rPool = m_pDoc->GetCellStringPool(); + svl::SharedStringPool& rPool = m_pDoc->GetSharedStringPool(); rPool.purge(); CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(4), rPool.getCount()); CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), rPool.getCountIgnoreCase()); @@ -1475,7 +1475,7 @@ struct PartiallyFilledEmptyMatrix void Test::testMatrix() { - svl::SharedStringPool& rPool = m_pDoc->GetCellStringPool(); + svl::SharedStringPool& rPool = m_pDoc->GetSharedStringPool(); ScMatrixRef pMat, pMat2; // First, test the zero matrix type. diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx index 4502fe0..bdfb9c5 100644 --- a/sc/source/core/data/column.cxx +++ b/sc/source/core/data/column.cxx @@ -1477,7 +1477,7 @@ void ScColumn::CopyStaticToDocument(SCROW nRow1, SCROW nRow2, ScColumn& rDestCol for (; itData != itDataEnd; ++itData) { const EditTextObject& rObj = **itData; - svl::SharedString aSS = pDocument->GetCellStringPool().intern(ScEditUtil::GetString(rObj, pDocument)); + svl::SharedString aSS = pDocument->GetSharedStringPool().intern(ScEditUtil::GetString(rObj, pDocument)); aConverted.push_back(aSS); } aDestPos.miCellPos = rDestCol.maCells.set(aDestPos.miCellPos, nCurRow, aConverted.begin(), aConverted.end()); @@ -1507,7 +1507,7 @@ void ScColumn::CopyStaticToDocument(SCROW nRow1, SCROW nRow2, ScColumn& rDestCol aDestPos.miCellPos = rDestCol.maCells.set(aDestPos.miCellPos, nRow, rFC.GetValue()); else { - svl::SharedString aSS = pDocument->GetCellStringPool().intern(rFC.GetString()); + svl::SharedString aSS = pDocument->GetSharedStringPool().intern(rFC.GetString()); if (aSS.getData()) aDestPos.miCellPos = rDestCol.maCells.set(aDestPos.miCellPos, nRow, aSS); } @@ -1800,7 +1800,7 @@ class CopyByCloneHandler } else { - svl::SharedString aSS = mrDestCol.GetDoc().GetCellStringPool().intern(aStr); + svl::SharedString aSS = mrDestCol.GetDoc().GetSharedStringPool().intern(aStr); if (aSS.getData()) { maDestPos.miCellPos = diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx index 0f13a26..21ef99f 100644 --- a/sc/source/core/data/column2.cxx +++ b/sc/source/core/data/column2.cxx @@ -1018,7 +1018,7 @@ protected: public: void commitStrings() { - svl::SharedStringPool& rPool = mpDoc->GetCellStringPool(); + svl::SharedStringPool& rPool = mpDoc->GetSharedStringPool(); sc::CellStoreType::iterator it = mrCells.begin(); std::vector<StrEntry>::iterator itStr = maStrEntries.begin(), itStrEnd = maStrEntries.end(); for (; itStr != itStrEnd; ++itStr) @@ -1957,7 +1957,7 @@ class FillMatrixHandler public: FillMatrixHandler(ScMatrix& rMat, size_t nMatCol, size_t nTopRow, SCCOL nCol, SCTAB nTab, ScDocument* pDoc) : - mrMat(rMat), mnMatCol(nMatCol), mnTopRow(nTopRow), mnCol(nCol), mnTab(nTab), mpDoc(pDoc), mrPool(pDoc->GetCellStringPool()) {} + mrMat(rMat), mnMatCol(nMatCol), mnTopRow(nTopRow), mnCol(nCol), mnTab(nTab), mpDoc(pDoc), mrPool(pDoc->GetSharedStringPool()) {} void operator() (const sc::CellStoreType::value_type& node, size_t nOffset, size_t nDataSize) { @@ -2171,7 +2171,7 @@ bool appendStrings( size_t nLen, sc::CellStoreType::iterator it, const sc::CellStoreType::iterator& itEnd) { size_t nLenRemain = nLen; - svl::SharedStringPool& rPool = pDoc->GetCellStringPool(); + svl::SharedStringPool& rPool = pDoc->GetSharedStringPool(); for (; it != itEnd; ++it) { diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index 2597217..0ac951a 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -1454,7 +1454,7 @@ bool ScColumn::ParseString( else cFirstChar = 0; // Text - svl::SharedStringPool& rPool = pDocument->GetCellStringPool(); + svl::SharedStringPool& rPool = pDocument->GetSharedStringPool(); if ( cFirstChar == '=' ) { @@ -1606,7 +1606,7 @@ bool ScColumn::SetString( SCROW nRow, SCTAB nTabP, const String& rString, void ScColumn::SetEditText( SCROW nRow, EditTextObject* pEditText ) { - pEditText->NormalizeString(pDocument->GetCellStringPool()); + pEditText->NormalizeString(pDocument->GetSharedStringPool()); sc::CellStoreType::iterator it = GetPositionToInsert(nRow); maCells.set(it, nRow, pEditText); maCellTextAttrs.set(nRow, sc::CellTextAttr()); @@ -1617,7 +1617,7 @@ void ScColumn::SetEditText( SCROW nRow, EditTextObject* pEditText ) void ScColumn::SetEditText( sc::ColumnBlockPosition& rBlockPos, SCROW nRow, EditTextObject* pEditText ) { - pEditText->NormalizeString(pDocument->GetCellStringPool()); + pEditText->NormalizeString(pDocument->GetSharedStringPool()); rBlockPos.miCellPos = GetPositionToInsert(rBlockPos.miCellPos, nRow); rBlockPos.miCellPos = maCells.set(rBlockPos.miCellPos, nRow, pEditText); rBlockPos.miCellTextAttrPos = maCellTextAttrs.set( @@ -1751,7 +1751,7 @@ sal_uIntPtr ScColumn::GetCellStringID( SCROW nRow ) const { std::vector<sal_uIntPtr> aIDs; const EditTextObject* pObj = sc::edittext_block::at(*aPos.first->data, aPos.second); - pObj->GetStringIDs(pDocument->GetCellStringPool(), aIDs); + pObj->GetStringIDs(pDocument->GetSharedStringPool(), aIDs); if (aIDs.size() != 1) // We don't handle multiline content for now. return 0; @@ -1780,7 +1780,7 @@ sal_uIntPtr ScColumn::GetCellStringIDIgnoreCase( SCROW nRow ) const { std::vector<sal_uIntPtr> aIDs; const EditTextObject* pObj = sc::edittext_block::at(*aPos.first->data, aPos.second); - pObj->GetStringIDsIgnoreCase(pDocument->GetCellStringPool(), aIDs); + pObj->GetStringIDsIgnoreCase(pDocument->GetSharedStringPool(), aIDs); if (aIDs.size() != 1) // We don't handle multiline content for now. return 0; @@ -2111,7 +2111,7 @@ class FormulaToValueHandler public: - FormulaToValueHandler(ScDocument& rDoc) : mrStrPool(rDoc.GetCellStringPool()) {} + FormulaToValueHandler(ScDocument& rDoc) : mrStrPool(rDoc.GetSharedStringPool()) {} void operator() (size_t nRow, const ScFormulaCell* p) { @@ -2195,7 +2195,7 @@ void ScColumn::SetRawString( SCROW nRow, const OUString& rStr, bool bBroadcast ) if (!ValidRow(nRow)) return; - svl::SharedString aSS = pDocument->GetCellStringPool().intern(rStr); + svl::SharedString aSS = pDocument->GetSharedStringPool().intern(rStr); if (!aSS.getData()) return; @@ -2219,7 +2219,7 @@ void ScColumn::SetRawString( SCROW nRow, const svl::SharedString& rStr, bool bBr void ScColumn::SetRawString( sc::ColumnBlockPosition& rBlockPos, SCROW nRow, const OUString& rStr, bool bBroadcast ) { - svl::SharedString aSS = pDocument->GetCellStringPool().intern(rStr); + svl::SharedString aSS = pDocument->GetSharedStringPool().intern(rStr); if (!aSS.getData()) return; diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx index 0fb6755..9a7a0ec 100644 --- a/sc/source/core/data/documen2.cxx +++ b/sc/source/core/data/documen2.cxx @@ -600,12 +600,12 @@ ScRefCellValue ScDocument::GetRefCellValue( const ScAddress& rPos ) return maTabs[rPos.Tab()]->GetRefCellValue(rPos.Col(), rPos.Row()); } -svl::SharedStringPool& ScDocument::GetCellStringPool() +svl::SharedStringPool& ScDocument::GetSharedStringPool() { return *mpCellStringPool; } -const svl::SharedStringPool& ScDocument::GetCellStringPool() const +const svl::SharedStringPool& ScDocument::GetSharedStringPool() const { return *mpCellStringPool; } diff --git a/sc/source/core/data/documentimport.cxx b/sc/source/core/data/documentimport.cxx index 334b2f5..03f5842 100644 --- a/sc/source/core/data/documentimport.cxx +++ b/sc/source/core/data/documentimport.cxx @@ -150,7 +150,7 @@ void ScDocumentImport::setStringCell(const ScAddress& rPos, const OUString& rStr if (!pBlockPos) return; - svl::SharedString aSS = mpImpl->mrDoc.GetCellStringPool().intern(rStr); + svl::SharedString aSS = mpImpl->mrDoc.GetSharedStringPool().intern(rStr); if (!aSS.getData()) return; @@ -170,7 +170,7 @@ void ScDocumentImport::setEditCell(const ScAddress& rPos, EditTextObject* pEditT if (!pBlockPos) return; - pEditText->NormalizeString(mpImpl->mrDoc.GetCellStringPool()); + pEditText->NormalizeString(mpImpl->mrDoc.GetSharedStringPool()); sc::CellStoreType& rCells = pTab->aCol[rPos.Col()].maCells; pBlockPos->miCellPos = rCells.set(pBlockPos->miCellPos, rPos.Row(), pEditText); } diff --git a/sc/source/core/data/validat.cxx b/sc/source/core/data/validat.cxx index 07a54f9..c27b25c 100644 --- a/sc/source/core/data/validat.cxx +++ b/sc/source/core/data/validat.cxx @@ -462,7 +462,7 @@ bool ScValidationData::IsDataValid( } else { - svl::SharedString aSS = mpDoc->GetCellStringPool().intern(rTest); + svl::SharedString aSS = mpDoc->GetSharedStringPool().intern(rTest); ScRefCellValue aTmpCell(&aSS); bRet = IsDataValid(aTmpCell, rPos); } diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx index f4c2d4f..c621de3 100644 --- a/sc/source/core/tool/interpr1.cxx +++ b/sc/source/core/tool/interpr1.cxx @@ -6763,7 +6763,7 @@ bool ScInterpreter::FillEntry(ScQueryEntry& rEntry) const OUString& sStr = GetString(); rItem.meType = ScQueryEntry::ByString; rItem.maString = sStr; - rItem.mnStrId = pDok->GetCellStringPool().getIdentifierIgnoreCase(rItem.maString); + rItem.mnStrId = pDok->GetSharedStringPool().getIdentifierIgnoreCase(rItem.maString); } break; case svDoubleRef : @@ -6788,7 +6788,7 @@ bool ScInterpreter::FillEntry(ScQueryEntry& rEntry) GetCellString(aStr, aCell); rItem.meType = ScQueryEntry::ByString; rItem.maString = aStr; - rItem.mnStrId = pDok->GetCellStringPool().getIdentifierIgnoreCase(rItem.maString); + rItem.mnStrId = pDok->GetSharedStringPool().getIdentifierIgnoreCase(rItem.maString); } } break; @@ -6797,7 +6797,7 @@ bool ScInterpreter::FillEntry(ScQueryEntry& rEntry) OUString aStr; const ScMatValType nType = GetDoubleOrStringFromMatrix(rItem.mfVal, aStr); rItem.maString = aStr; - rItem.mnStrId = pDok->GetCellStringPool().getIdentifierIgnoreCase(rItem.maString); + rItem.mnStrId = pDok->GetSharedStringPool().getIdentifierIgnoreCase(rItem.maString); rItem.meType = ScMatrix::IsNonValueType(nType) ? ScQueryEntry::ByString : ScQueryEntry::ByValue; } diff --git a/sc/source/filter/xcl97/XclImpChangeTrack.cxx b/sc/source/filter/xcl97/XclImpChangeTrack.cxx index a93b911..ff70fbb 100644 --- a/sc/source/filter/xcl97/XclImpChangeTrack.cxx +++ b/sc/source/filter/xcl97/XclImpChangeTrack.cxx @@ -250,7 +250,7 @@ void XclImpChangeTrack::ReadCell( if( pStrm->IsValid() ) { rCell.meType = CELLTYPE_STRING; - rCell.mpString = new svl::SharedString(GetDoc().GetCellStringPool().intern(sString)); + rCell.mpString = new svl::SharedString(GetDoc().GetSharedStringPool().intern(sString)); } } break; diff --git a/sc/source/filter/xml/XMLDDELinksContext.cxx b/sc/source/filter/xml/XMLDDELinksContext.cxx index ba904b6..dbfe45d 100644 --- a/sc/source/filter/xml/XMLDDELinksContext.cxx +++ b/sc/source/filter/xml/XMLDDELinksContext.cxx @@ -166,7 +166,7 @@ void ScXMLDDELinkContext::EndElement() ScDDELinkCells::iterator aItr(aDDELinkTable.begin()); ScDDELinkCells::iterator aEndItr(aDDELinkTable.end()); - svl::SharedStringPool& rPool = pDoc->GetCellStringPool(); + svl::SharedStringPool& rPool = pDoc->GetSharedStringPool(); while (aItr != aEndItr) { if (nIndex % nColumns == 0) diff --git a/sc/source/filter/xml/XMLTrackedChangesContext.cxx b/sc/source/filter/xml/XMLTrackedChangesContext.cxx index 590b0e3..fd189ff 100644 --- a/sc/source/filter/xml/XMLTrackedChangesContext.cxx +++ b/sc/source/filter/xml/XMLTrackedChangesContext.cxx @@ -1294,7 +1294,7 @@ void ScXMLChangeCellContext::EndElement() if (!sText.isEmpty() && bString) { mrOldCell.meType = CELLTYPE_STRING; - mrOldCell.mpString = new svl::SharedString(pDoc->GetCellStringPool().intern(sText)); + mrOldCell.mpString = new svl::SharedString(pDoc->GetSharedStringPool().intern(sText)); } else { diff --git a/sc/source/ui/undo/undocell.cxx b/sc/source/ui/undo/undocell.cxx index cff0e7f..e47857c 100644 --- a/sc/source/ui/undo/undocell.cxx +++ b/sc/source/ui/undo/undocell.cxx @@ -670,7 +670,7 @@ ScUndoThesaurus::ScUndoThesaurus( ScDocShell* pNewDocShell, else { aOldCell.meType = CELLTYPE_STRING; - aOldCell.mpString = new svl::SharedString(pDocShell->GetDocument()->GetCellStringPool().intern(aUndoStr)); + aOldCell.mpString = new svl::SharedString(pDocShell->GetDocument()->GetSharedStringPool().intern(aUndoStr)); } SetChangeTrack(aOldCell); } commit 0e1d17eba56d4ba6e3bb1fbb654a8f839a1eef73 Author: Kohei Yoshida <[email protected]> Date: Tue Oct 8 09:14:48 2013 -0400 Use the document's string pool rather than a separate one for the formula. Change-Id: Id13bca1ed493328fb0b8a664275af8c98e3f46c8 diff --git a/sc/inc/formulagroup.hxx b/sc/inc/formulagroup.hxx index fc3af2a..ca240f7 100644 --- a/sc/inc/formulagroup.hxx +++ b/sc/inc/formulagroup.hxx @@ -33,7 +33,6 @@ struct FormulaGroupContext : boost::noncopyable typedef boost::ptr_vector<NumArrayType> NumArrayStoreType; typedef boost::ptr_vector<StrArrayType> StrArrayStoreType; - svl::SharedStringPool maStrPool; NumArrayStoreType maNumArrays; StrArrayStoreType maStrArrays; }; diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx index 35c9153..0f13a26 100644 --- a/sc/source/core/data/column2.cxx +++ b/sc/source/core/data/column2.cxx @@ -2167,11 +2167,11 @@ bool appendDouble( } bool appendStrings( - sc::FormulaGroupContext& rCxt, ScDocument* pDoc, - sc::FormulaGroupContext::StrArrayType& rArray, size_t nLen, - sc::CellStoreType::iterator it, const sc::CellStoreType::iterator& itEnd ) + ScDocument* pDoc, sc::FormulaGroupContext::StrArrayType& rArray, + size_t nLen, sc::CellStoreType::iterator it, const sc::CellStoreType::iterator& itEnd) { size_t nLenRemain = nLen; + svl::SharedStringPool& rPool = pDoc->GetCellStringPool(); for (; it != itEnd; ++it) { @@ -2194,7 +2194,7 @@ bool appendStrings( for (; itData != itDataEnd; ++itData) { OUString aStr = ScEditUtil::GetString(**itData, pDoc); - rArray.push_back(rCxt.maStrPool.intern(aStr).getData()); + rArray.push_back(rPool.intern(aStr).getData()); } } break; @@ -2219,7 +2219,7 @@ bool appendStrings( return false; } - rArray.push_back(rCxt.maStrPool.intern(aStr).getData()); + rArray.push_back(rPool.intern(aStr).getData()); } } break; @@ -2380,7 +2380,7 @@ formula::VectorRefArray ScColumn::FetchVectorRefArray( sc::FormulaGroupContext& // Fill the remaining array with values from the following blocks. ++aPos.first; - if (!appendStrings(rCxt, pDocument, rArray, nLenRequested - nLen, aPos.first, maCells.end())) + if (!appendStrings(pDocument, rArray, nLenRequested - nLen, aPos.first, maCells.end())) return formula::VectorRefArray(); return formula::VectorRefArray(&rArray[0]); _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
