[Mono-winforms-list] Fw: [Mono-list] System.Windows.Forms plans.

Peter Dennis Bartok peter@novonyx.com
Wed, 30 Jun 2004 19:38:36 -0600

This was also posted on mono-list and mono-devel list. 

-----Original Message-----
From: "Miguel de Icaza" <miguel@novell.com>
To: <mono-list@ximian.com>; <mono-devel-list@ximian.com>
Date: Wednesday, 30 June, 2004 16:13
Subject: [Mono-list] System.Windows.Forms plans.


   A couple of weeks ago, we decided to rewrite our
System.Windows.Forms implementation.  Today's implementation suffered
from various problems:

* Debugging with Wine was extremely hard, and Wine was 
  a moving target, internals change from release to release.

* Wine/GDI+ interactions were not efficient.

* Too many cooks contributed to the core, so it was
  hard to maintain.
    So a couple of weeks ago we decided to take a step back and
redesign it, as you remember one of the reasons for using Wine is that
it would allow third-party components to P/Invoke and to hook up to
WndProc, this is sadly required for most third-party commercial
controls and for advanced applications like WebMatrix to run.

    Our new implementation takes a different approach, it will be
completely managed and will not use Wine, this should help the
portability to new operating systems, and should help on the debugging
side of things, and should help with the large set of Wine/GDI+
interactions that we have.  

    To support WndProc, this new version uses the most commony used
WndProc events internally so applications that depend on this works,
and we will have an optional plugin that would use WineLib to host
advanced functionality. 

    This is a rewrite from scratch to support the new design, and we
hope to have something in the next couple of weeks that will go into
the Mono CVS repository.

    The core is being worked on by Peter Bartok, and once the core is
ready familiar faces: Jackson, Jordi and Ravindra will join the effort
to implement the missing functionality, and we hope that interested
developers will join this effort.