summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-05-08 03:52:02 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-05-09 03:02:35 +0200
commitdd5086102184b31b6706991d40332986a6f045be (patch)
treea48e7d01b0f27f5e6f7668280bda7362325cf65d /sc/inc
parent5c2c03e9062d0c86d385a56c3ce1f536944927a2 (diff)
DECL_PTRARR_SORT to ptr_set in conditio.[ch]xx
Change-Id: I I7de285ae784ae144a7d3190d4f99c1b38694da28
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/conditio.hxx24
1 files changed, 17 insertions, 7 deletions
diff --git a/sc/inc/conditio.hxx b/sc/inc/conditio.hxx
index a60c836bc7e7..f0acc9004487 100644
--- a/sc/inc/conditio.hxx
+++ b/sc/inc/conditio.hxx
@@ -36,6 +36,8 @@
#include "scdllapi.h"
#include "rangelst.hxx"
+#include <boost/ptr_container/ptr_set.hpp>
+
class ScBaseCell;
class ScFormulaCell;
class ScTokenArray;
@@ -261,13 +263,11 @@ public:
// List of areas and formats:
//
-typedef ScConditionalFormat* ScConditionalFormatPtr;
-
-SV_DECL_PTRARR_SORT(ScConditionalFormats_Impl, ScConditionalFormatPtr,
- SC_COND_GROW)
-
-class ScConditionalFormatList : public ScConditionalFormats_Impl
+class ScConditionalFormatList
{
+private:
+ boost::ptr_set<ScConditionalFormat> maConditionalFormats;
+ typedef boost::ptr_set<ScConditionalFormat> ConditionalFormatContainer;
public:
ScConditionalFormatList() {}
ScConditionalFormatList(const ScConditionalFormatList& rList);
@@ -275,7 +275,7 @@ public:
~ScConditionalFormatList() {}
void InsertNew( ScConditionalFormat* pNew )
- { if (!Insert(pNew)) delete pNew; }
+ { maConditionalFormats.insert(pNew); }
ScConditionalFormat* GetFormat( sal_uInt32 nKey );
@@ -289,6 +289,16 @@ public:
void SourceChanged( const ScAddress& rAddr );
bool operator==( const ScConditionalFormatList& r ) const; // for Ref-Undo
+
+ typedef ConditionalFormatContainer::iterator iterator;
+ typedef ConditionalFormatContainer::const_iterator const_iterator;
+
+ SC_DLLPUBLIC iterator begin();
+ SC_DLLPUBLIC const_iterator begin() const;
+ SC_DLLPUBLIC iterator end();
+ SC_DLLPUBLIC const_iterator end() const;
+
+ size_t size() const;
};
#endif