Richard, Don, Rob and I had an excellent conference call today. Great 
things are coming, based on tagging and uA's.

The discussion highlighted a big hole in Leo's documentation. We need a 
summary of how to do cool things *easily* with Leo.  This will allow people 
to dream bigger.

Here is a *quick* list topics for the code academy.  Mos can already be 
done easy, if you know where to look.  Some may require a few new lines in 
Leo's core. These topics should also be included in Leo's cheat sheet, or 
somewhere similar.

*uA's*

They are crucial to flexible data management. uA's can associate arbitrary 
data with any vnode or position, as describe here 
<http://leoeditor.com/customizing.html#adding-extensible-attributes-to-nodes-and-leo-files>
.

Everyone needs to know how to get, set and search uA's.  You can get and 
set uA's with v.u. Just a few lines of code will search the entire outline 
for all nodes/positions having a given uA.

Quick additions to Leo's core:
- Define the p.u property, so code can do p.u instead of p.v.u.
- Possibly make the api for uA's more convenient.

A more ambitious addition: Define a gui interface for uA's.

*Other topics*

- Clones: making and deleting them. Clones are *cheap *to create!
- How to create new panes in the log window, and how to put cool stuff in 
them.
- How to hoist outlines programmatically.
- How to write a plugin so it can respond to events.
- How to create new panes in Leo's window with Terry's free_layout and 
nested_splitter plugins.  In essence, these plugin are part of Leo's core.
- How to put multiple icons in a single headline.  This may be possible 
already.  If not it would require just a few lines of code in Leo's core.

We discussed the so-called Easter-Egg interface to create new panes this 
from the gui, but a summary of how to do this programmatically is needed. 
*Note*: it's possible to save the layout so that Leo will restore it when 
Leo starts up the next time.

- How to change what is shown in the outline pane.  Chapters and hoists 
exploit existing capabilities.  If need be, more could be added with just a 
few lines of code in Leo's main outline redrawing code.

*New directions*

Putting all this together, we all agreed that being able to make uA's 
*visible* somehow would give Leo many of the cool features of the ECCO 
outliner. We envisage a uA tab in the outline pane that would allow the 
user to:

- See all and *only* nodes with given attributes.  This is similar to Leo's 
clone-find-all (or clone-find-all-flattened) commands, combined with 
something like a hoist.

- List all such nodes in the uA pane, similar to the Nav Pane (Quicksearch 
plugin), so that clicking on a node would select the node in the entire 
outline, with only ancestors of the selected node expanded.  Pretty easy to 
do.  Alternatively, perhaps some  tag (uA) oriented features can be added 
to existing plugins.

*Conclusions*

I expect that we can do really great things with Leo in just a few weeks.

Discussions of how to do *practical* tasks may be missing from the current 
documentation.  Neophytes have to read between too many lines.  A list of 
*easily 
done* programming tasks will help develop a larger cadre of developers.

Edward

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

Reply via email to