
Hi Sebastian,
On Fri, 2013-08-30 at 01:15 +0200, Sebastian Götte wrote:
this week I ironed out all crashes I could find and fixed the libavoid routing I recently broke. I fixed loading/saving of documents containing connectors and points (yay!) and back-ported the parts of the code that would need C++11 to compile to pre-C++11.
Things seem to be much more stable! Good work!
Tomorrow I will test more complicated libavoid routing and make a plan for object inclusion/exclusion selection and make a test build to verify everything works on a clean system followed by a few test runs inside valgrind. Remaining TODOs are icons for the toolbar buttons, undo handling, some more advanced point manipulation functions (mainly putting points in groups/taking them out of groups) and, finally, rebasing everything onto upstream. And there is the mystery of the lost cursor, but I think I'll figure that one out.
I got the code to compile... had to rerun autogen.sh and configure. I also, following Krzysztof's hint, had to put #include <glibmm/threads.h> at the top of src/connector-context.cpp. This is a hack as we should really shouldn't need to include it there.
Problems:
1. How do I create a new connector from scratch? If I already have a point, I can create a new connector but I can't figure out how to get that first point entered.
2. Selecting an object and clicking the leftmost button ("Make connector avoid selected objects") does not insert (or remove) an "inkscape:connector-avoid true" attribute.
3. Changing the "Curvature" has no effect unless I select the "object-avoiding polygon segment" followed by "object-avoiding line of orthogonal segments" buttons. There should be a signal/callback attached to the "Curvature" entry box to update the paths if necessary.
4. The one loss of functionality is that we can no longer connect to a random object. I assume that once a point can be inserted into a group, this functionality will be restored by grouping a point with an object. (And hopefully, with SVG 2 Connectors, place points relative to the bounding box of an object.)
BTW, anybody interested in SVG 2 connectors should look at my proposal.[1] We may be discuss this proposal at tomorrow's SVG working group meeting.
Tav