summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--editeng/source/editeng/impedit2.cxx6
-rw-r--r--sc/inc/validat.hxx19
-rw-r--r--sc/source/core/data/validat.cxx34
3 files changed, 49 insertions, 10 deletions
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx
index aa8c3fdb01b2..17de955d0785 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -1792,8 +1792,8 @@ sal_uInt16 ImpEditEngine::GetScriptType( const EditSelection& rSel ) const
short nScriptType = 0;
- sal_Int32 nStartPara = GetEditDoc().GetPos( aSel.Min().GetNode() );
- sal_Int32 nEndPara = GetEditDoc().GetPos( aSel.Max().GetNode() );
+ sal_Int32 nStartPara = GetEditDoc().GetPos( aSel.Min().GetNode() );
+ sal_Int32 nEndPara = GetEditDoc().GetPos( aSel.Max().GetNode() );
for ( sal_Int32 nPara = nStartPara; nPara <= nEndPara; nPara++ )
{
@@ -1811,7 +1811,7 @@ sal_uInt16 ImpEditEngine::GetScriptType( const EditSelection& rSel ) const
for ( size_t n = 0; n < rTypes.size(); n++ )
{
if (rTypes[n].nStartPos <= nS && nE <= rTypes[n].nEndPos)
- {
+ {
if ( rTypes[n].nScriptType != i18n::ScriptType::WEAK )
{
nScriptType |= GetItemScriptType ( rTypes[n].nScriptType );
diff --git a/sc/inc/validat.hxx b/sc/inc/validat.hxx
index 64aa5975cf5d..9dd83f24ab24 100644
--- a/sc/inc/validat.hxx
+++ b/sc/inc/validat.hxx
@@ -183,16 +183,28 @@ struct CompareScValidationDataPtr
bool operator()( ScValidationData* const& lhs, ScValidationData* const& rhs ) const { return (*lhs)<(*rhs); }
};
-class ScValidationDataList : public std::set<ScValidationData*, CompareScValidationDataPtr>
+class ScValidationDataList
{
+private:
+ typedef std::set<ScValidationData*, CompareScValidationDataPtr> ScValidationDataListDataType;
+ ScValidationDataListDataType maData;
+
public:
ScValidationDataList() {}
ScValidationDataList(const ScValidationDataList& rList);
ScValidationDataList(ScDocument* pNewDoc, const ScValidationDataList& rList);
~ScValidationDataList() {}
+ typedef ScValidationDataListDataType::iterator iterator;
+ typedef ScValidationDataListDataType::const_iterator const_iterator;
+
+ iterator begin();
+ const_iterator begin() const;
+ iterator end();
+ const_iterator end() const;
+
void InsertNew( ScValidationData* pNew )
- { if (!insert(pNew).second) delete pNew; }
+ { if (!maData.insert(pNew).second) delete pNew; }
ScValidationData* GetData( sal_uInt32 nKey );
@@ -203,6 +215,9 @@ public:
void UpdateMoveTab( sc::RefUpdateMoveTabContext& rCxt );
sal_Bool operator==( const ScValidationDataList& r ) const; // for ref-undo
+
+ void clear();
+
};
#endif
diff --git a/sc/source/core/data/validat.cxx b/sc/source/core/data/validat.cxx
index d6342e010a0f..3304e732fd9f 100644
--- a/sc/source/core/data/validat.cxx
+++ b/sc/source/core/data/validat.cxx
@@ -899,8 +899,7 @@ bool ScValidationData::IsListValid( ScRefCellValue& rCell, const ScAddress& rPos
// ============================================================================
// ============================================================================
-ScValidationDataList::ScValidationDataList(const ScValidationDataList& rList) :
- std::set<ScValidationData*, CompareScValidationDataPtr>()
+ScValidationDataList::ScValidationDataList(const ScValidationDataList& rList)
{
// fuer Ref-Undo - echte Kopie mit neuen Tokens!
@@ -971,13 +970,38 @@ sal_Bool ScValidationDataList::operator==( const ScValidationDataList& r ) const
{
// fuer Ref-Undo - interne Variablen werden nicht verglichen
- sal_uInt16 nCount = size();
- sal_Bool bEqual = ( nCount == r.size() );
+ size_t nCount = maData.size();
+ bool bEqual = ( nCount == r.maData.size() );
for( const_iterator it1 = begin(), it2 = r.begin(); it1 != end() && bEqual; ++it1, ++it2 ) // Eintraege sind sortiert
if ( !(*it1)->EqualEntries(**it2) ) // Eintraege unterschiedlich ?
- bEqual = sal_False;
+ bEqual = false;
return bEqual;
}
+ScValidationDataList::iterator ScValidationDataList::begin()
+{
+ return maData.begin();
+}
+
+ScValidationDataList::const_iterator ScValidationDataList::begin() const
+{
+ return maData.begin();
+}
+
+ScValidationDataList::iterator ScValidationDataList::end()
+{
+ return maData.end();
+}
+
+ScValidationDataList::const_iterator ScValidationDataList::end() const
+{
+ return maData.end();
+}
+
+void ScValidationDataList::clear()
+{
+ maData.clear();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */