[Mono-winforms-list] [Fwd: some patches for MWF]

Atsushi Eno atsushi@ximian.com
Fri, 31 Dec 2004 12:02:04 +0900


This is a multi-part message in MIME format.
--------------050204000603040304060402
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

Resending with non-moderated gzip attachments.

-------- Original Message --------
Subject: some patches for MWF
Date: Thu, 30 Dec 2004 16:55:40 +0900
From: Atsushi Eno <atsushi@ximian.com>
To: mono-winforms-list@ximian.com

Hi,

I received some MWF patches from a Japanese student. He has a pretty
cool page for mono patches but in Japanese (he cannot use English so
well). So I translated his comments and attached the patches.

http://kazuki.panicode.com/mono/mono.xml (patches)
http://kazuki.panicode.com/mono/images.xml (comparison of look & feel)
http://kazuki.panicode.com/mono/bugs.xml (things that look like bugs)


System.Windows.Forms.TreeView
BaseRevision:38155
LastModified:2004-12-30 09:00
TreeView.cs.diff
TreeNode.cs.diff

> Now it looks like TreeView better than before. I think node
> selection, some events and scrolling are perfect. But as I wrote
> in "bugs" page, if you use anchor or dock, no scrollbar
> will show up on startup, because of the incorrect ClientSize.
> After resizing it, ClientSize becomes fine and they will show up
> expectedly. See the screenshot pages.


System.Windows.Forms.ThemeWin32Classic
BaseRevision:38152
LastModified:2004-12-30 09:00
ThemeWin32Classic.cs.diff

> Improved window colors, by getting system colors.
> It DllImports user32.dll, but with the hacky platform switch below,
>    if(Environment.OSVersion.Platform == (PlatformID)128) return; 
> it won't work on non-windows platforms. I just copied this IF from
> XPlatUI constructor, but I wonder if it works fine... ;-)


System.Windows.Forms.GroupBox
BaseRevision:38155
LastModified:2004-12-29 21:34	
GroupBox.cs.diff

> Fixed insufficient redraw that results in lines remaining on
> resizing, just added SetStyle(ControlStyles.ResizeRedraw, true)
> though.


System.Windows.Forms.Control
BaseRevision:38131
LastModified:2004-12-29 02:39
Control.cs.diff

> Tiny implementation of focus. Only OnMouseDown will work and
> transition by Tab is not implemented. Additionally, emulated
> OnClick events.
>
> NOTE: With this patch, Checkbox, RadioButton etc. get broken.
> It is because ButtonBase emulates OnClick by its own.
> IMHO handling OnClick emulation on Control would be better than
> doing that on ButtonBase, so I added it to Control. If you are
> going to play MWF with this patch, invalidate OnClick emulation
> on ButtonBase. It is in protected ButtonBase.OnMouseUp method.
> And you need to append  SetStyle(ControlStyles.Selectable,true);
> to controls to focus.


System.Windows.Forms.RadioButton
BaseRevision:38131
LastModified:2004-12-29 00:10	
RadioButton.cs.diff

> Fixed that multiple radiobuttons might be checked in a container
> control.

If any comments, I'll send him (in Japanese).

Atsushi Eno



--------------050204000603040304060402
Content-Type: application/octet-stream;
 name="winforms-patches.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="winforms-patches.tar.gz"

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
q7maq7maq7ma6xu8/gOgPNgvAKAAAA==
--------------050204000603040304060402--