Code

Fixed icon loading, cacheing and fallback to use stock mechanisms.
[inkscape.git] / src / display / canvas-temporary-item.h
index 0caa0d94307008d0ac5538a43c2d5bdecc6006a4..5077fb55ba7125fae6adc159da22a14cbf399610 100644 (file)
@@ -1,56 +1,57 @@
-#ifndef INKSCAPE_CANVAS_TEMPORARY_ITEM_H\r
-#define INKSCAPE_CANVAS_TEMPORARY_ITEM_H\r
-\r
-/** \file\r
- * Provides a class to put a canvasitem temporarily on-canvas.\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/display-forward.h"\r
-\r
-#include <sigc++/sigc++.h>\r
-\r
-namespace Inkscape {\r
-namespace Display {\r
-\r
-class TemporaryItem  {\r
-public:\r
-    TemporaryItem(SPCanvasItem *item, guint lifetime);\r
-    virtual ~TemporaryItem();\r
-\r
-    sigc::signal<void, TemporaryItem *> signal_timeout;\r
-\r
-protected:\r
-    friend class TemporaryItemList;\r
-\r
-    SPCanvasItem * canvasitem;   /** The item we are holding on to */\r
-    guint timeout_id;     /** ID by which glib knows the timeout event */\r
-\r
-    static gboolean _timeout(gpointer data); ///< callback for when lifetime expired\r
-\r
-private:\r
-    TemporaryItem(const TemporaryItem&);\r
-    TemporaryItem& operator=(const TemporaryItem&);\r
-};\r
-\r
-} //namespace Display\r
-} //namespace Inkscape\r
-\r
-#endif\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
+#ifndef INKSCAPE_CANVAS_TEMPORARY_ITEM_H
+#define INKSCAPE_CANVAS_TEMPORARY_ITEM_H
+
+/** \file
+ * Provides a class to put a canvasitem temporarily on-canvas.
+ *
+ * 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/display-forward.h"
+
+#include <sigc++/sigc++.h>
+
+namespace Inkscape {
+namespace Display {
+
+class TemporaryItem  {
+public:
+    TemporaryItem(SPCanvasItem *item, guint lifetime, bool destroy_on_deselect = false);
+    virtual ~TemporaryItem();
+
+    sigc::signal<void, TemporaryItem *> signal_timeout;
+
+protected:
+    friend class TemporaryItemList;
+
+    SPCanvasItem * canvasitem;   /** The item we are holding on to */
+    guint timeout_id;     /** ID by which glib knows the timeout event */
+    bool destroy_on_deselect; // only destroy when parent item is deselected, not when mouse leaves
+
+    static gboolean _timeout(gpointer data); ///< callback for when lifetime expired
+
+private:
+    TemporaryItem(const TemporaryItem&);
+    TemporaryItem& operator=(const TemporaryItem&);
+};
+
+} //namespace Display
+} //namespace Inkscape
+
+#endif
+
+/*
+  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 :