Code

Fix bug #552289 - Ungrouping objects changes position of arrow lines. This was due...
[inkscape.git] / src / display / canvas-temporary-item-list.cpp
index 54e81a1f0fb0dd83543e990ec8d795c53bd18049..c324a5ddf0138bee9860991bcd0ac79e594b6320 100644 (file)
@@ -1,83 +1,83 @@
-/** \file\r
- * Provides a class that can contain active TemporaryItem's on a desktop\r
- * Code inspired by message-stack.cpp\r
- *\r
- * Authors:\r
- *   Johan Engelen\r
- *\r
- * Copyright (C) Johan Engelen 2008 <j.b.c.engelen@utwente.nl>\r
- *\r
- * Released under GNU GPL, read the file 'COPYING' for more information\r
- */\r
-\r
-#include "display/canvas-temporary-item-list.h"\r
-\r
-#include "display/canvas-temporary-item.h"\r
-\r
-namespace Inkscape {\r
-namespace Display {\r
-\r
-TemporaryItemList::TemporaryItemList(SPDesktop *desktop)\r
-    : desktop(desktop)\r
-{\r
-\r
-}\r
-\r
-TemporaryItemList::~TemporaryItemList()\r
-{\r
-    // delete all items in list so the timeouts are removed\r
-    for ( std::list<TemporaryItem*>::iterator it = itemlist.begin(); it != itemlist.end(); ++it ) {\r
-        TemporaryItem * tempitem = *it;\r
-        delete tempitem;\r
-    }\r
-    itemlist.clear();\r
-}\r
-\r
-/* Note that TemporaryItem or TemporaryItemList is responsible for deletion and such, so this return pointer can safely be ignored. */\r
-TemporaryItem *\r
-TemporaryItemList::add_item(SPCanvasItem *item, guint lifetime)\r
-{\r
-    // beware of strange things happening due to very short timeouts\r
-    TemporaryItem * tempitem = new TemporaryItem(item, lifetime);\r
-    itemlist.push_back(tempitem);\r
-    tempitem->signal_timeout.connect( sigc::mem_fun(*this, &TemporaryItemList::_item_timeout) );\r
-    return tempitem;\r
-}\r
-\r
-void\r
-TemporaryItemList::delete_item( TemporaryItem * tempitem )\r
-{\r
-    // check if the item is in the list, if so, delete it. (in other words, don't wait for the item to delete itself)\r
-    bool in_list = false;\r
-    for ( std::list<TemporaryItem*>::iterator it = itemlist.begin(); it != itemlist.end(); ++it ) {\r
-        if ( *it == tempitem ) {\r
-            in_list = true;\r
-            break;\r
-        }\r
-    }\r
-    if (in_list) {\r
-        itemlist.remove(tempitem);\r
-        delete tempitem;\r
-    }\r
-}\r
-\r
-void\r
-TemporaryItemList::_item_timeout(TemporaryItem * tempitem)\r
-{\r
-    itemlist.remove(tempitem);\r
-    // no need to delete the item, it does that itself after signal_timeout.emit() completes\r
-}\r
-\r
-} //namespace Display\r
-} /* namespace Inkscape */\r
-\r
-/*\r
-  Local Variables:\r
-  mode:c++\r
-  c-file-style:"stroustrup"\r
-  c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))\r
-  indent-tabs-mode:nil\r
-  fill-column:99\r
-  End:\r
-*/\r
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :\r
+/** \file
+ * Provides a class that can contain active TemporaryItem's on a desktop
+ * Code inspired by message-stack.cpp
+ *
+ * Authors:
+ *   Johan Engelen
+ *
+ * Copyright (C) Johan Engelen 2008 <j.b.c.engelen@utwente.nl>
+ *
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+
+#include "display/canvas-temporary-item-list.h"
+
+#include "display/canvas-temporary-item.h"
+
+namespace Inkscape {
+namespace Display {
+
+TemporaryItemList::TemporaryItemList(SPDesktop *desktop)
+    : desktop(desktop)
+{
+
+}
+
+TemporaryItemList::~TemporaryItemList()
+{
+    // delete all items in list so the timeouts are removed
+    for ( std::list<TemporaryItem*>::iterator it = itemlist.begin(); it != itemlist.end(); ++it ) {
+        TemporaryItem * tempitem = *it;
+        delete tempitem;
+    }
+    itemlist.clear();
+}
+
+/* Note that TemporaryItem or TemporaryItemList is responsible for deletion and such, so this return pointer can safely be ignored. */
+TemporaryItem *
+TemporaryItemList::add_item(SPCanvasItem *item, guint lifetime)
+{
+    // beware of strange things happening due to very short timeouts
+    TemporaryItem * tempitem = new TemporaryItem(item, lifetime);
+    itemlist.push_back(tempitem);
+    tempitem->signal_timeout.connect( sigc::mem_fun(*this, &TemporaryItemList::_item_timeout) );
+    return tempitem;
+}
+
+void
+TemporaryItemList::delete_item( TemporaryItem * tempitem )
+{
+    // check if the item is in the list, if so, delete it. (in other words, don't wait for the item to delete itself)
+    bool in_list = false;
+    for ( std::list<TemporaryItem*>::iterator it = itemlist.begin(); it != itemlist.end(); ++it ) {
+        if ( *it == tempitem ) {
+            in_list = true;
+            break;
+        }
+    }
+    if (in_list) {
+        itemlist.remove(tempitem);
+        delete tempitem;
+    }
+}
+
+void
+TemporaryItemList::_item_timeout(TemporaryItem * tempitem)
+{
+    itemlist.remove(tempitem);
+    // no need to delete the item, it does that itself after signal_timeout.emit() completes
+}
+
+} //namespace Display
+} /* namespace Inkscape */
+
+/*
+  Local Variables:
+  mode:c++
+  c-file-style:"stroustrup"
+  c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+  indent-tabs-mode:nil
+  fill-column:99
+  End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :