* LifetimeServices.cs: Implemented all methods.
[mono.git] / doc / winforms
index 2d8c1e3d79d73861f9e95159a0941d1eb121f33e..91fb22d63ba03837ac92230a035e4560ed62d77f 100644 (file)
@@ -1,9 +1,19 @@
 * System.Windows.Forms
 
-       System.Windows.Forms eventually will support multiple
-       toolkits.  Ximian will be delivering a product that will allow
-       for System.Windows.Forms applications to integrate with GNOME
-       through Gtk and MacOS X using Cocoa.
+       System.Windows.Forms is currently being implemented using the
+       Win32 API, we will be using <a
+       href="http://www.winehq.com">WineLib</a> on Unix systems to
+       emulate the Win32 API.
+
+       This means that those who want to contribute to the effort can
+       develop and test classes today using Windows and P/Invoke
+       calls to Win32 and we will then just run the result on Unix. 
+
+       In terms of integrating visually with the desktop, we are
+       hoping to contribute to the Wine project an mechanism to make
+       it use the Gtk+ themes on X11 and Cocoa on MacOS to render the
+       widgets, and get the native look and feel on each of these
+       platforms. 
 
        There are no current plans to support embedded devices, but
        Gtk/FrameBuffer is an option.  If you have suggestions or
 
 * Contributing
 
-       Currently Ximian developers are busy making our JIT engine
-       feature complete, and dealing with the low-level details of
-       the Mono runtime.
+       The Winforms effort is being coordinated in the <a
+       href="mailto:mono-winforms-list@ximian.com:.com">mono-winforms-list@ximian.com</a>.
+       If you are interested in helping out with this effort,
+       subscribe to it by sending an email message to <a
+       href="mailto:mono-winforms-list-request@ximian.com:.com">mono-winforms-list-request@ximian.com</a>.
+
+       If you want to help, you can start by writing a control and
+       testing it with Windows today (or you can also try to build
+       the existing library on Linux, but this is a bit more
+       complicated).  
 
-       If you are interested in contributing, you can start stubbing
-       out classes and providing enumerations.  That will help us
-       significantly when we start working on the actual bindings.  
+       See the file mcs/class/System.Windows.Forms/CheckOutList for
+       details on who is working on which class.
 
-       Christian Meyer is currently organizing this effort.
+       Please read the README document in the
+       System.Windows.Forms/WINElib directory for details about how
+       to build the Windows.Forms support for Mono.
 
 * System.Drawing
 
-       Using existing libraries to implement some of the functionality required
+       Using existing libraries to implement some of the
+       functionality required:
 
        <ul>
                * gdk-pixbuf is a generic image loader that loads an image
@@ -64,6 +83,7 @@
 
 * Directory Layout
 
+<pre>
         System.Drawing  (assembly directory)
                 System.Drawing.Blah
                         Common code for "Blah"
                 MacOS
                         System.Drawing.Blah
                                 MacOS ports of "System.Drawing.Blah"
-                Win32
+                WineLIB
                         System.Drawing.Blah
                                 Win32 ports of "System.Drawing.Blah"
+</pre>
 
-       Then we use nant targets to include/exclude the right set of
-       files to create the assembly.
+       Notice that there is a proof of concept Gtk-backend for
+       Windows.Forms, but nobody is working on it, and for the
+       reasons stated before it is not a long term strategy.
 
 * Open questions:
 
        can accept either libart-like rendering operations and
        X11-like rendering operations.  This complicates matters, but
        I am not sure.  Someone needs to investigate this.
+
+* Historical 
+       
+       Although the original plans were to use Gtk on X and Cocoa on
+       MacOS X, it would be very hard to emulate the event model in
+       which some Winforms applications depend, and it would be very
+       hard to implement the Wndproc method.  
+