System.Windows.Forms on OS X currently requires X11. This is sub-optimal. We are currently looking for contributors to assist in implementing an OS X SWF back end.
The primary classes of interest are:
Table of Contents
XplatUIDriver
(source (http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIDriver.cs?view=markup))
This is the abstract XplatUIDriver class which is extended for each supported platform.
XPlatUIX11
(source (http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs?view=markup))
This is the implementation of the X11 driver class. This class extends the XplatUIDriver class for the X11 platform.
XPlatUIWin32
(source (http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIWin32.cs?view=markup))
This is the implementation of the Win32 driver class. This class also extends the XplatUIDriver class. In this case, as the name implies, the XplatUIDriver class is extended for the Win32 platform.
XplatUICarbon
(source (http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUICarbon.cs?view=markup))
You guessed it. This is the partially complete implementation of the OSX driver class. As expected, this class extends the XplatUIDriver class for the OS X platform.
Missing properties
Missing methods
Complete properties
Complete methods
Methods needing re-write
- ProcessKeyboardEvent
XPlatUI
(source (http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.cs?view=markup))
This is the public interface to the platform-specific classes. XplatUI's constructor decides what platform is being used and instantiates the appropriate driver for the executing platform.