Attached is a screen shot of the arbitrary link plugin I just pushed to the trunk.
It's not finished, although it essentially works. Basically it just needs to establish a decent API and then use that API itself internally. I have a qt interface which looks the same ready to go, but I've been having trouble getting the slots and signals connected. That's the end of this email apart from a bug report for c.positionExists() The plugin assigns unique IDs to vnodes, and also needs to determine the (first) position of a vnode. I don't think there's any way to do this other than brute force / full tree search? To mitigate the impacts of the latter I tried caching positions, which leads me to believe c.postionExists() is broken. If you select a node that has links to other nodes and cut it, the code that "fails" is assert self.c.positionExists(self.dests[selected][1]) self.c.selectPosition(self.dests[selected][1]) i.e. assert self.c.positionExists(cachedP) self.c.selectPosition(cachedP) leads to no position being selected. However suspicious you may wish to be of my code, I don't think that should happen. by "fails" I mean the assert is satisfied, but, when following a link from an uncut node to the cut node, a position that is not part of the tree is selected. I.e. you end up with no node selected. The links from an uncut node to the cut node should be automatically culled, but they rely on c.positionExists() as well. If I disable the attempt to cache positions (i.e. use a full search every time) everything works fine. The caching mechanism attempts to use c.positionExists() to determine when a position has disappeared from the tree, requiring a new search for a position containing the target vnode, and returning None if appropriate. Also I think the core has selectVnode as an alias of selectPosition, but I don't think this is valid anymore. Cheers -Terry --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en -~----------~----~----~----~------~----~------~--~---
<<inline: bl.png>>
