Imported Upstream version 5.12.0.220

Former-commit-id: c477e03582759447177c6d4bf412cd2355aad476
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-04-24 09:31:23 +00:00
parent 8bd104cef2
commit 8fc30896db
1200 changed files with 29534 additions and 26161 deletions

View File

@ -1,8 +1,8 @@
Managed.Windows.Forms README
System.Windows.Forms README
* Introduction
Managed.Windows.Forms is a managed implementation of
This is a managed implementation of
System.Windows.Forms. It implements a driver interface to allow
running on multiple windowing systems, for example X11 or Windows. All
controls are implemented in managed code, using System.Drawing to draw
@ -11,11 +11,8 @@ them.
* Status
This library is in a beta state. Development is still proceeding as
at a rapid page on the 1.1 codebase. A limitted number of 2.0
controls have been implemented, but the 2.0 api is not supported at
this time. Bug reports are welcome. Please use
http://bugzilla.ximian.com/
This library is in a community-supported state. Bug reports are welcome.
Please use https://github.com/mono/mono/issues
* Contributions
@ -26,10 +23,10 @@ controls need a lot of work, so ask on the mailing list or in irc if
someone is working on it already, and if not, start in on it. Also,
the unit tests need a lot of work. We can always use more of them,
and there are still a small number of them which pass on MS .NET and
fail on MWF. For code contributions, please check the 'Guidelines'
fail on Mono. For code contributions, please check the 'Guidelines'
file.
The novell MWF team is currently:
The Novell System.Windows.Forms team was:
Andreia Gaita (shana.ufie@gmail.com)
Jackson Harper (jackson@ximian.com)
Mike Kestner (kestner@ximian.com)
@ -40,4 +37,4 @@ The novell MWF team is currently:
There is a mailing list dedicated to Mono's System.Windows.Forms
implementation, mono-winforms-list, see
http://lists.ximian.com/mailman/listinfo/mono-winforms-list
https://lists.dot.net/mailman/listinfo/mono-winforms-list

View File

@ -105,4 +105,21 @@ namespace System.Windows.Forms.CarbonInternal {
kMouseTrackingTimedOut = 8,
kMouseTrackingMouseMoved = 9
}
internal enum CFStringEncoding : uint {
kCFStringEncodingMacRoman = 0,
kCFStringEncodingWindowsLatin1 = 0x0500,
kCFStringEncodingISOLatin1 = 0x0201,
kCFStringEncodingNextStepLatin = 0x0B01,
kCFStringEncodingASCII = 0x0600,
kCFStringEncodingUnicode = 0x0100,
kCFStringEncodingUTF8 = 0x08000100,
kCFStringEncodingNonLossyASCII = 0x0BFF,
kCFStringEncodingUTF16 = 0x0100,
kCFStringEncodingUTF16BE = 0x10000100,
kCFStringEncodingUTF16LE = 0x14000100,
kCFStringEncodingUTF32 = 0x0c000100,
kCFStringEncodingUTF32BE = 0x18000100,
kCFStringEncodingUTF32LE = 0x1c000100
}
}

View File

@ -1 +1 @@
a4a747537c315e0839c50ad99dd26b90eb018d34
5baad2b8154d09ac8513466f8d08e15cc3046d83

View File

@ -119,10 +119,17 @@ namespace System.Windows.Forms
SmallIcons.ImageSize = new Size (24, 24);
LargeIcons.ImageSize = new Size (48, 48);
platformMimeHandler = new GnomeHandler ();
if (platformMimeHandler.Start () == MimeExtensionHandlerStatus.OK) {
platform = EPlatformHandler.GNOME;
} else {
try {
platformMimeHandler = new GnomeHandler ();
if (platformMimeHandler.Start () == MimeExtensionHandlerStatus.OK) {
platform = EPlatformHandler.GNOME;
} else {
MimeIconEngine.LargeIcons.Images.Clear ();
MimeIconEngine.SmallIcons.Images.Clear ();
platformMimeHandler = new PlatformDefaultHandler ();
platformMimeHandler.Start ();
}
} catch {
MimeIconEngine.LargeIcons.Images.Clear ();
MimeIconEngine.SmallIcons.Images.Clear ();
platformMimeHandler = new PlatformDefaultHandler ();

View File

@ -2085,10 +2085,10 @@ namespace System.Windows.Forms {
internal override bool Text(IntPtr handle, string text) {
Hwnd hwnd = Hwnd.ObjectFromHandle (handle);
if (WindowMapping [hwnd.Handle] != null) {
SetWindowTitleWithCFString ((IntPtr)(WindowMapping [hwnd.Handle]), __CFStringMakeConstantString (text));
SetWindowTitleWithCFString ((IntPtr)(WindowMapping [hwnd.Handle]), CFStringCreateWithCString (IntPtr.Zero, text, Carbon.CFStringEncoding.kCFStringEncodingUTF8));
}
SetControlTitleWithCFString (hwnd.whole_window, __CFStringMakeConstantString (text));
SetControlTitleWithCFString (hwnd.client_window, __CFStringMakeConstantString (text));
SetControlTitleWithCFString (hwnd.whole_window, CFStringCreateWithCString (IntPtr.Zero, text, Carbon.CFStringEncoding.kCFStringEncodingUTF8));
SetControlTitleWithCFString (hwnd.client_window, CFStringCreateWithCString (IntPtr.Zero, text, Carbon.CFStringEncoding.kCFStringEncodingUTF8));
return true;
}
@ -2382,7 +2382,9 @@ namespace System.Windows.Forms {
extern static int SetWindowTitleWithCFString (IntPtr hWnd, IntPtr titleCFStr);
[DllImport("/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon")]
internal extern static IntPtr __CFStringMakeConstantString (string cString);
[DllImport("/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon")]
extern static IntPtr CFStringCreateWithCString (IntPtr allocator, string cString, Carbon.CFStringEncoding encoding);
[DllImport("/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon")]
internal extern static int CFRelease (IntPtr wHnd);
[DllImport("/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon")]