X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=web%2Fwinforms;h=b93c633a1a47d7f5f2fe4fa8b6c74cb3f35dc64e;hb=63bb1969072d47dc01ec08d553edeaf15be92608;hp=b98d0d3a5617dc660cb5c5759912bdcad8c43d59;hpb=79b9bc16839fca8f1436223bcb5fcd55ad098798;p=mono.git diff --git a/web/winforms b/web/winforms index b98d0d3a561..b93c633a1a4 100644 --- a/web/winforms +++ b/web/winforms @@ -1,96 +1,52 @@ * System.Windows.Forms - Currently Windows.Forms support is not finished. - - The System.Windows.Forms effort is taking two paths: +

Currently Windows.Forms support is under development. Check Mono's Roadmap for more + details on when it is going to be available. + +

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. + +

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. + +* Installation +

To get the Windows.Forms support working, you need: +

- -* Win32/Wine edition. - - To get the Windows.Forms support working, you need a Mono - installation from CVS, and you need to install Wine plus the - OpenLink patch, and - define the environment variable "SWF" (export SWF=1 from your - shell). For more information, see the Mono - Wine Packages page in the Mono Wiki. - - - - - -
- System.Windows.Forms is currently being implemented using the - Win32 API, we will be using WineLib 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 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. - - -
- -* 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 - recommendations, please let us let us know +
  • The latest Mono package. +
  • The latest libgdiplus library. +
  • The latest Cairo vector graphics library. +
  • A recent copy of Wine. +
  • A recent copy of WineLib (do a cvs co winelib from Mono's CVS). + + * Contributing - The Winforms effort is being coordinated in the mono-winforms-list@ximian.com. +

    The Winforms effort is being coordinated in the mono-winforms-list@ximian.com. If you are interested in helping out with this effort, subscribe to it by sending an email message to mono-winforms-list-request@ximian.com. - - 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. + href="mailto:mono-winforms-list-request@ximian.com">mono-winforms-list-request@ximian.com. + +

    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. + +

    If you choose a particular control to work on, send a note to the + winforms list to avoid duplication of effort. + * System.Drawing - For details, see the For details, see the System.Drawing implementation notes section of the web site.