Code

Split SPCanvasItem and SPCanvasGroup to individual .h files. Removed forward header.
[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 <list>
18 struct SPCanvasItem;
20 namespace Inkscape {
21 namespace Display {
23 class TemporaryItem;
25 class TemporaryItemList  {
26 public:
27     TemporaryItemList(SPDesktop *desktop);
28     virtual ~TemporaryItemList();
30     TemporaryItem* add_item (SPCanvasItem *item, guint lifetime);
31     void           delete_item (TemporaryItem * tempitem);
33 protected:
34     SPDesktop *desktop;   /** Desktop we are on. */
36     std::list<TemporaryItem *> itemlist; /** list of temp items */ 
38     void _item_timeout (TemporaryItem * tempitem);
40 private:
41     TemporaryItemList(const TemporaryItemList&);
42     TemporaryItemList& operator=(const TemporaryItemList&);
43 };
45 } //namespace Display
46 } //namespace Inkscape
48 #endif
50 /*
51   Local Variables:
52   mode:c++
53   c-file-style:"stroustrup"
54   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
55   indent-tabs-mode:nil
56   fill-column:99
57   End:
58 */
59 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :