1
#ifndef SEEN_SP_CONN_END_PAIR
2
#define SEEN_SP_CONN_END_PAIR
5
* A class for handling connector endpoint movement and libavoid interaction.
8
* Peter Moulder <pmoulder@mail.csse.monash.edu.au>
10
* * Copyright (C) 2004 Monash University
12
* Released under GNU GPL, read the file 'COPYING' for more information
14
#include <glib/gtypes.h>
17
#include "libnr/nr-point.h"
18
#include <sigc++/connection.h>
19
#include <sigc++/functors/slot.h>
20
#include <sigc++/signal.h>
21
#include "libavoid/connector.h"
34
SPConnEndPair(SPPath *);
37
void setAttr(unsigned const key, gchar const *const value);
38
void writeRepr(Inkscape::XML::Node *const repr) const;
39
void getAttachedItems(SPItem *[2]) const;
40
void getEndpoints(NR::Point endPts[]) const;
41
void reroutePath(void);
42
void makePathInvalid(void);
44
bool isAutoRoutingConn(void);
45
void rerouteFromManipulation(void);
47
sigc::connection connectInvalidPath(sigc::slot<void, SPPath *> slot);
49
// A signal emited by a call back from libavoid. Used to let
50
// connectors know when they need to reroute themselves.
51
sigc::signal<void, SPPath *> _invalid_path_signal;
52
// A sigc connection to listen for connector path invalidation.
53
sigc::connection _invalid_path_connection;
56
SPConnEnd *_connEnd[2];
60
// libavoid's internal representation of the item.
61
Avoid::ConnRef *_connRef;
65
// A sigc connection for transformed signal.
66
sigc::connection _transformed_connection;
70
void sp_conn_end_pair_build(SPObject *object);
75
SP_CONNECTOR_NOAVOID, // Basic connector - a straight line.
76
SP_CONNECTOR_POLYLINE // Object avoiding polyline.
80
#endif /* !SEEN_SP_CONN_END_PAIR */
85
c-file-style:"stroustrup"
86
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
91
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :