diff options
| author | mjwybrow <mjwybrow@users.sourceforge.net> | 2006-02-14 00:36:28 +0000 |
|---|---|---|
| committer | mjwybrow <mjwybrow@users.sourceforge.net> | 2006-02-14 00:36:28 +0000 |
| commit | fa668afcbd7dc12ef748e0d0b4fd62fb9441c13e (patch) | |
| tree | dd81610ccafce158141f5e63505aeac2c4fe3b6e /src/conn-avoid-ref.cpp | |
| parent | extending the font selector preview string (patch #1240559 by cmarqu) (diff) | |
| download | inkscape-fa668afcbd7dc12ef748e0d0b4fd62fb9441c13e.tar.gz inkscape-fa668afcbd7dc12ef748e0d0b4fd62fb9441c13e.zip | |
* src/graphlayout/graphlayout.cpp, src/conn-avoid-ref.cpp,
src/conn-avoid-ref.h, src/libavoid/connector.cpp,
src/libavoid/connector.h:
Change the behaviour and naming of some connector querying code
after feedback from Tim Dwyer in implementing graph drawing
functionality.
(bzr r136)
Diffstat (limited to 'src/conn-avoid-ref.cpp')
| -rw-r--r-- | src/conn-avoid-ref.cpp | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/src/conn-avoid-ref.cpp b/src/conn-avoid-ref.cpp index d7cca60f9..d832a34b4 100644 --- a/src/conn-avoid-ref.cpp +++ b/src/conn-avoid-ref.cpp @@ -109,20 +109,49 @@ void SPAvoidRef::handleSettingChange(void) } +GSList *SPAvoidRef::getAttachedShapes(const unsigned int type) +{ + GSList *list = NULL; + + Avoid::IntList shapes; + GQuark shapeId = g_quark_from_string(item->id); + Avoid::attachedShapes(shapes, shapeId, type); + + Avoid::IntList::iterator finish = shapes.end(); + for (Avoid::IntList::iterator i = shapes.begin(); i != finish; ++i) { + const gchar *connId = g_quark_to_string(*i); + SPObject *obj = item->document->getObjectById(connId); + if (obj == NULL) { + g_warning("getAttachedShapes: Object with id=\"%s\" is not " + "found. Skipping.", connId); + continue; + } + SPItem *shapeItem = SP_ITEM(obj); + list = g_slist_prepend(list, shapeItem); + } + return list; +} + + GSList *SPAvoidRef::getAttachedConnectors(const unsigned int type) { GSList *list = NULL; Avoid::IntList conns; GQuark shapeId = g_quark_from_string(item->id); - Avoid::attachedToShape(conns, shapeId, type); + Avoid::attachedConns(conns, shapeId, type); Avoid::IntList::iterator finish = conns.end(); for (Avoid::IntList::iterator i = conns.begin(); i != finish; ++i) { const gchar *connId = g_quark_to_string(*i); - SPItem *citem = SP_ITEM(item->document->getObjectById(connId)); - g_assert(citem != NULL); - list = g_slist_prepend(list, citem); + SPObject *obj = item->document->getObjectById(connId); + if (obj == NULL) { + g_warning("getAttachedConnectors: Object with id=\"%s\" is not " + "found. Skipping.", connId); + continue; + } + SPItem *connItem = SP_ITEM(obj); + list = g_slist_prepend(list, connItem); } return list; } |
