Add links to the Xr-related libraries for RH9.
[mono.git] / web / winforms
index ecc1ce31b0ed1fc0d2792d3ff6c956e88f7d3d82..a9793fc871567c5ab221c16110eca5d2f381c01d 100644 (file)
@@ -1,20 +1,66 @@
 * System.Windows.Forms
 
+       Currently Windows.Forms support is not finished.
+
+       The System.Windows.Forms effort is taking two paths: 
+
+       <ul>
+               <li>Win32/Wine-based: This effort will use the Win32
+               API, and use a stub program to run the with Wine.
+               This allows applications that use P/Invoke to
+               function, and event delivery through the Wndproc
+               method to work for the most advanced and custom
+               applications.  This is the path of best compatibility.
+
+               Also, work on a Gtk-based rendered for Wine will be
+               done, to make the user interface integrate with your
+               desktop look.
+
+               <li>Gtk# based: This effort will build a subset of
+               Windows.Forms that uses Gtk#.  This gives a better
+               integration with the desktop, but will not be
+               completely compatible with the Windows edition.  In
+               particular code that uses P/Invoke to call into Win32
+               or overwrite the Wndproc method to achieve special
+               effects will not work.
+       </ul>
+
+* Win32/Wine edition.
+
+       Currently (May 21st, 2003) to get the Windows.Forms support
+       working, you need a Mono installation from CVS, and you need
+       to install Wine plus the <a
+       href="http://www.openlinksw.com">OpenLink patch</a>, and
+       define the environment variable "SWF" (export SWF=1 from your
+       shell). 
+
+       <table>
+       <tr>
+       <td>
        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.
-       
-       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.  
+
+       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. 
+       </td>
+       <td>
+       <a href="images/WINESWF.JPG"><img src="images/WINESWF-mini.JPG"></a>
+       </td>
+       
+       </table>
+
+* Gtk# based
+
+       The code is contained in CVS.  
 
        There are no current plans to support embedded devices, but
        Gtk/FrameBuffer is an option.  If you have suggestions or
 
 * Contributing
 
-       The Winforms effort is being coordinated by <a
-       href="mailto:DENNISH@Raytek.com">Dennis Hayes</a>.  If you are
-       interested in helping out with this effort, get in touch with
-       him.
+       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).  
+
+       See the file mcs/class/System.Windows.Forms/CheckOutList for
+       details on who is working on which class.
+
+       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
 
 
 * Directory Layout
 
+<pre>
         System.Drawing  (assembly directory)
                 System.Drawing.Blah
                         Common code for "Blah"
                 WineLIB
                         System.Drawing.Blah
                                 Win32 ports of "System.Drawing.Blah"
+</pre>
 
        Notice that there is a proof of concept Gtk-backend for
        Windows.Forms, but nobody is working on it, and for the
        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.  
+