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