New branch 768-new-tree <https://github.com/leo-editor/leo-editor/tree/768-new-tree>, related to issue #768 is ready for testing.
All but 2 unit tests pass. Those two that fail are not related to the new tree code (something about docutils and script controller). All commands that I can think of that are related to tree seem functional. Please report any error. Be careful to save often because code still contains lot of assert statements that are meant to hard crash any time when something is wrong with the outline data. Lot of them I trust is safe to remove, but I'd rather leave them on while testing so that bugs can be quicker fixed. If everything goes well, those assertions should be replaced just with warning in log. Lot of code from leo/plugins/qt_tree has been removed. Hoisting, de-hoisting, chapters are functional and new tree handles them very easy. Probably lot of code in leoChapters can be simplified by delegating work to new tree. What I have noticed also is that there are quite a lot of c.selectPosition(p) calls in places that I would never expect to see them. Some of these calls are duplicated. I believe that the reason for this calls was to cause redrawing the outline. However, with the new tree code, lot of these calls become unnecessary and even danger. New tree expects that after any change in the underlying outline structure (*vnodes), it needs to synchronize data and only after synchronization to allow selecting position. Browsing LeoPyRef.leo outline with more than 10.000 nodes is breeze. There may be still something that is not functional in new-tree branch, some command that doesn't properly update tree, but I don't expect anything that can't be fixed in a day or so. Please test and report errors. Vitalije -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/d/optout.
