diff options
author | Peter Dennis Bartok <pbartok@mono-cvs.ximian.com> | 2004-09-18 01:32:15 +0400 |
---|---|---|
committer | Peter Dennis Bartok <pbartok@mono-cvs.ximian.com> | 2004-09-18 01:32:15 +0400 |
commit | 7597c3550cf88a81dc548b9ea2cd1e9135bd0aca (patch) | |
tree | d5109c97fbfa50f54172bc905f7e21d208414ee8 /web | |
parent | 6e137c9b68ac2aeac5b4ae800613dc213dac4be3 (diff) |
- Updated to describe the new managed version of System.Windows.Forms
svn path=/trunk/mono/; revision=34032
Diffstat (limited to 'web')
-rw-r--r-- | web/winforms | 57 |
1 files changed, 43 insertions, 14 deletions
diff --git a/web/winforms b/web/winforms index b93c633a1a4..a9a5e8ae54c 100644 --- a/web/winforms +++ b/web/winforms @@ -1,19 +1,42 @@ * System.Windows.Forms - <p>Currently Windows.Forms support is under development. Check Mono's <a + <p>Currently Windows.Forms support is under heavy development. Check Mono's <a href = "http://www.go-mono.com/mono-roadmap.html">Roadmap</a> for more details on when it is going to be available. - <p>System.Windows.Forms in Mono is implemented using System.Drawing and - Wine. This allows applications that use P/Invoke to call Win32 functions - or rely on event delivery through the Wndproc method to work as - expected. This is the path of best compatibility. - - <p>In terms of integrating visually with the desktop, we are hoping to - contribute to the Wine project a 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. + <p>System.Windows.Forms in Mono is implemented using System.Drawing. All controls + are natively drawn through System.Drawing. System.Windows.Forms implements it's own + driver interface to communicate with the host OS windowing system. Currently, + we have a driver for Win32 and a driver for X11. + The drivers translate the native window messages into WndProc compatible messages, + to provide as much compatibility with native .Net as possible. + <p>In terms of integrating visually with the desktop, we have a (still incomplete) + themeing interface, currently with a classic Win32 theme and a Gtk theme. + + <p>The current implementation is still very incomplete, with several large controls + (Edit, ListBox, ComboBox, Menus), etc, still being developed. It is too early to + file bugs if you cannot compile or run a certain application because of controls + missing. + +* Why not use Wine? + + <ul> + + <li>Debugging with Wine was extremely hard, and Wine was a moving target, + some of the calls we relied on changed from release to release. + <li>Wine/GDI+ interactions were not efficient. + <li>Too many cooks contributed to the core, so it was hard to maintain. + <li>To many dependencies on install, many people where having problems getting + the very strict winelib requirements right. + + </ul> + + The driver interface should allow us to also create a Wine based driver for + System.Windows.Forms, to support applications performing Win32 P/Invokes, but + for now this is not a priority. + + * Installation <p>To get the Windows.Forms support working, you need: @@ -23,11 +46,17 @@ <li> The latest <a href = "http://www.go-mono.com/download.html">Mono</a> package. <li> The latest <a href = "http://www.go-mono.com/download.html">libgdiplus</a> library. <li> The latest <a href = "http://www.cairographics.org/download">Cairo</a> vector graphics library. - <li> A recent copy of <a href="http://www.winehq.com/">Wine</a>. - <li> A recent copy of WineLib (do a cvs co winelib from Mono's CVS). </ul> + The current source of System.Windows.Forms resides in mcs/class/Managed.Windows.Forms. + The previous version of System.Windows.Forms, based on Wine, still can be found in + mcs/class/System.Windows.Forms, but it is no longer being worked on. + + <p>To use the latest version, go into Managed.Windows.Forms and issue a 'make clean', + followed by a 'make install'. Afterwards, the new implementation should be available + in the GAC for your use. + * Contributing <p>The Winforms effort is being coordinated in the <a @@ -37,8 +66,8 @@ href="mailto:mono-winforms-list-request@ximian.com">mono-winforms-list-request@ximian.com</a>. <p>If you want to help, you can pick a control and start implementing it's - methods. You can do this either on Windows or on Linux. Try using - System.Drawing calls instead of P/Invoked Win32 calls. + methods. You can do this either on Windows or on Linux. All controls must be drawn + using System.Drawing calls, tied into the themeing interface, and not stubbed. <p>If you choose a particular control to work on, send a note to the winforms list to avoid duplication of effort. |