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>>

Reply via email to