[Mono-winforms-list] Native look theme for Windows

Jonathan Pobst monkey at jpobst.com
Tue Apr 1 22:38:25 EDT 2008


Hey,

We had planned to have this done as part of the Summer of Code.

In the long run, the layout code should probably be refactored to 
Theme.cs and the visual styles theme should not inherit from 
Win32Classic.  But that's ok for now to minimize huge changes.  It will 
also allow me to commit the big block of new code without fear of 
breaking the old code.  (Since Win32Classic won't be changing for now.)

 > * What would be the correct name for this class? ThemeWin32Native,
 > ThemeWin32UX, ThemeWimp (like the GTK Windows impersonator), etc.

We had planned to go with "ThemeVisualStyles", and then we would 
implement VisualStyles on Linux and Mac.  This way the theme code would 
be common, and only the VisualStyles implementation would change.  We 
realize this will not get us completely native drawing, but we can 
create styles that mimic Gtk/Aqua.

 > * Until now, I needed to change visibility of at least one member of a
 > winforms control (Button.IsDefault) from "protected" to "protected
 > internal". Is this acceptable?

Protected to protected internal is fine.

 > * I guess the correct thing to do would be to create a base class
 > (something like ThemeWin32Common), with code common to both Win32Classic
 > and Win32Native. This is a mayor change and I am not a core Mono
 > developer. Should I start such a job anyway?

Oh, covered this above.  If you want to just inherit from Win32Classic 
for now, that is fine.

Jonathan


More information about the Mono-winforms-list mailing list