summaryrefslogtreecommitdiffstats
path: root/src/conn-avoid-ref.cpp
diff options
context:
space:
mode:
authormjwybrow <mjwybrow@users.sourceforge.net>2006-02-14 00:36:28 +0000
committermjwybrow <mjwybrow@users.sourceforge.net>2006-02-14 00:36:28 +0000
commitfa668afcbd7dc12ef748e0d0b4fd62fb9441c13e (patch)
treedd81610ccafce158141f5e63505aeac2c4fe3b6e /src/conn-avoid-ref.cpp
parentextending the font selector preview string (patch #1240559 by cmarqu) (diff)
downloadinkscape-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.cpp37
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;
}