1 #ifndef INKSCAPE_CANVAS_TEMPORARY_ITEM_LIST_H
2 #define INKSCAPE_CANVAS_TEMPORARY_ITEM_LIST_H
4 /** \file
5 * Provides a class that can contain active TemporaryItem's on a desktop
6 *
7 * Authors:
8 * Johan Engelen
9 *
10 * Copyright (C) Johan Engelen 2008 <j.b.c.engelen@utwente.nl>
11 *
12 * Released under GNU GPL, read the file 'COPYING' for more information
13 */
15 #include "forward.h"
16 #include "display/display-forward.h"
17 #include <list>
19 namespace Inkscape {
20 namespace Display {
22 class TemporaryItem;
24 class TemporaryItemList {
25 public:
26 TemporaryItemList(SPDesktop *desktop);
27 virtual ~TemporaryItemList();
29 TemporaryItem* add_item (SPCanvasItem *item, guint lifetime);
30 void delete_item (TemporaryItem * tempitem);
32 protected:
33 SPDesktop *desktop; /** Desktop we are on. */
35 std::list<TemporaryItem *> itemlist; /** list of temp items */
37 void _item_timeout (TemporaryItem * tempitem);
39 private:
40 TemporaryItemList(const TemporaryItemList&);
41 TemporaryItemList& operator=(const TemporaryItemList&);
42 };
44 } //namespace Display
45 } //namespace Inkscape
47 #endif
49 /*
50 Local Variables:
51 mode:c++
52 c-file-style:"stroustrup"
53 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
54 indent-tabs-mode:nil
55 fill-column:99
56 End:
57 */
58 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :