Code

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