Code

7aaa5f69166cbe43bfda15b1c161efe0981d5ee7
[inkscape.git] / src / live_effects / lpeobject-reference.h
1 #ifndef SEEN_LPEOBJECT_REFERENCE_H\r
2 #define SEEN_LPEOBJECT_REFERENCE_H\r
3 \r
4 /*\r
5  * The reference corresponding to the inkscape:live-effect attribute\r
6  *\r
7  * Copyright (C) 2007 Johan Engelen\r
8  *\r
9  * Released under GNU GPL, read the file 'COPYING' for more information.\r
10  */\r
11 \r
12 #include <forward.h>\r
13 #include <uri-references.h>\r
14 #include <sigc++/sigc++.h>\r
15 \r
16 namespace Inkscape {\r
17 namespace XML {\r
18 struct Node;\r
19 }\r
20 }\r
21 \r
22 struct LivePathEffectObject;\r
23 \r
24 namespace Inkscape {\r
25 \r
26 namespace LivePathEffect {\r
27 \r
28 class LPEObjectReference : public Inkscape::URIReference {\r
29 public:\r
30     LPEObjectReference(SPObject *owner);\r
31     ~LPEObjectReference();\r
32 \r
33     SPObject       *owner;\r
34 \r
35     // concerning the LPEObject that is refered to:\r
36     gchar                *lpeobject_href;\r
37     Inkscape::XML::Node  *lpeobject_repr;\r
38     LivePathEffectObject *lpeobject;\r
39 \r
40     sigc::connection _modified_connection;\r
41     sigc::connection _delete_connection;\r
42     sigc::connection _changed_connection;\r
43 \r
44     void            link(char* to);\r
45     void            unlink(void);\r
46     void            start_listening(LivePathEffectObject* to);\r
47     void            quit_listening(void);\r
48 \r
49     void (*user_unlink) (SPObject *user);\r
50 \r
51 protected:\r
52     bool _acceptObject(SPObject * const obj) const;\r
53 \r
54 };\r
55 \r
56 }; //namespace LivePathEffect\r
57 \r
58 }; // namespace inkscape\r
59 \r
60 #endif /* !SEEN_LPEOBJECT_REFERENCE_H */\r
61 \r
62 /*\r
63   Local Variables:\r
64   mode:c++\r
65   c-file-style:"stroustrup"\r
66   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))\r
67   indent-tabs-mode:nil\r
68   fill-column:99\r
69   End:\r
70 */\r
71 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :\r