Code

4d712e2163bc94d176e63c02096db8a16efae2fb
[inkscape.git] / src / display / canvas-temporary-item-list.h
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 :