On Wednesday, June 14, 2017 at 5:05:55 AM UTC-5, Edward K. Ream wrote:

> This is a highly experimental project, as I'll explain in the previous 
Engineering Notebook thread.

Hehe.  *This* is the ENB thread I was talking about :-)

There are various intertwined aspects of the project.

1. It's not clear how to "suppress" the Qt gui (especially its drawing 
code).  There are at least two ways to do so:

A. Disable qt_tree.full_redraw, and disable/patch/hack other methods so 
that unit tests work.  I doubt that this approach is sound. It introduces 
too many special cases into the Qt gui code.  That's the last thing we need.

B. Create a *completely new* NullGui environment in TM.doTests. This seems 
cleaner, but there is a big complication: The Commander class and its 
subclasses cache gui-related ivars. Boo hoo. It does not suffice merely to 
switch g.app.gui! The result is a strange admixture of QtGui methods called 
from cached ivars and NullGui methods called otherwise.

Instead, we need a *fresh* copy of c (and all its subcommanders), inited 
from the new NullGui environment. A new method, say, c2 = 
*c.copy_with_gui(gui)*, will create a *fully inited copy* of c, but inited 
with the new gui ivars. c2 must have the same outline as c, copied from c 
without re-reading any files. c.copy_with_gui() looks like a major 
sub-project. 

2. Recent revs have significantly revised the NullGui class.  Using this 
class makes the unit tests lightning fast, but many fail in one of two 
ways.  *Errors *typically are the result of missing ivars or methods 
(over-zealous house-cleaning), but some are a more subtle, and maybe more 
important.  *Failures *are more concerning.  They must be studied in detail 
to understand why they fail. This study is crucial to determining what 
approach is actually sound.

That's all for now. 

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