summaryrefslogtreecommitdiffstats
path: root/src/selection.h
diff options
context:
space:
mode:
authorMarc Jeanmougin <mc>2015-02-19 19:20:09 +0000
committerMarc Jeanmougin <mc>2015-02-19 19:20:09 +0000
commit7e4b6f793d31d3245bd8afbf6f10aa255ac3e7ae (patch)
tree4d885b8aa45917ceba4f64f2fc2af74f2766adee /src/selection.h
parentPut a few std::vector<SPitem*> (diff)
downloadinkscape-7e4b6f793d31d3245bd8afbf6f10aa255ac3e7ae.tar.gz
inkscape-7e4b6f793d31d3245bd8afbf6f10aa255ac3e7ae.zip
added a set to the Selection
(bzr r13922.1.6)
Diffstat (limited to 'src/selection.h')
-rw-r--r--src/selection.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/selection.h b/src/selection.h
index 2d5e7c34a..e40810ded 100644
--- a/src/selection.h
+++ b/src/selection.h
@@ -16,14 +16,10 @@
#include <vector>
#include <map>
#include <list>
+#include <set>
#include <stddef.h>
#include <sigc++/sigc++.h>
-#include <boost/multi_index_container.hpp>
-#include <boost/multi_index/ordered_index.hpp>
-#include <boost/multi_index/identity.hpp>
-#include <boost/multi_index/member.hpp>
-
#include "gc-managed.h"
#include "gc-finalized.h"
#include "gc-anchored.h"
@@ -254,7 +250,7 @@ public:
XML::Node *singleRepr();
/** Returns the list of selected objects. */
- std::list<SPObject*> const &list();
+ std::vector<SPObject*> const &list();
/** Returns the list of selected SPItems. */
std::vector<SPItem*> const &itemList();
/** Returns a list of the xml nodes of all selected objects. */
@@ -376,7 +372,9 @@ private:
/** Releases an active layer object that is being removed. */
void _releaseContext(SPObject *obj);
- mutable std::list<SPObject*> _objs;
+ mutable std::list<SPObject*> _objs; //to more efficiently remove arbitrary elements
+ mutable std::vector<SPObject*> _objs_vector; // to be returned by list();
+ mutable std::set<SPObject*> _objs_set; //to efficiently test if object is selected
mutable std::vector<XML::Node*> _reprs;
mutable std::vector<SPItem*> _items;