On Tue, Sep 25, 2007 at 11:36:38AM +0200, Georg Baum wrote:
> Andre Poenitz wrote:
> 
> > How would you have rated the previous GUII architecture?
> 
> I would not have implemented it that way, but I never had big problems with
> it. Is was in my experience far less a problem than you always made it
> appear. Surely implementing a new inset required too many classes, but
> creating these was some dull copy/paste/adjust work that you could do when
> you needed a break from serious work, since the architecture was well
> documented and you could always use existing stuff as a base. The unneeded
> work for a new inset that would have been saved by a bettter architecture
> was _at most_ 1-3 hours. And if the InsetCommand->InsetFoo change would
> have had more than cosmetical advantages at the time I tried it I simply
> would have implemented the needed controllers.

So given that context menus/dialogs would make sense for half of mathed
we talk about ~73/2 * (1-3h) i.e. ~70 hours of work to get mathed on par
with the rest of the world. And that's not _total_ work, but _extra_
work imposed by the architecture which is supposed to _ease_ development.

> Far more time is consumed by half finished half documented redesigns of half
> finished half documented redesigns. For example, metrics/draw: The first
> unfinished redesign I know of happened before 1.4.0, and created among
> others bug 1814. The next redesign happened before 1.5.0 and was not
> finished either. Where is the metrics/draw concept documented?

There have been pretty long mails on this subject initially. And the
concept actually was pretty clear, and it was also clear that LyX faces
certain challenges that others don't (e.g. wildly varying heights of
rows) for which initially "guessing" as solution was accepted. Then lots
of small "improvements" crept in, leading to the state we have now. On
top of an incomplete transition from the old system (drawing by row, not
by paragraph/inset for instance). This original incomplete transition
was also the problem that the performance was worse than expected, and
we got performance improvements by hacks.  I am certainly not completely
innocent, but what we have now is _much_ better than
updateInsetsInInset() & Co.

> Who understands the current state?

Probably nobody completely. 

Andre'

Reply via email to