[Mono-winforms-list] System.Windows.Forms Status Update

Daniel Morgan danielmorgan@verizon.net
Thu, 9 Sep 2004 18:46:51 -0400


I have things to say about Mono's Managed System.Windows.Forms.

Other managed controls:
TextBox
DataGrid
Panel
ListView
Splitter
Timer
PrintDocument - I guess this would need cross-platform printing support

How do you plan on implementing data binding support?

Do you plan on implementing any managed versions of ActiveX controls?  =
This
could be in a Mono namespace like Mono.Windows.Forms or something.

For instance, I prefer the MSFlexGrid control over the DataGrid, but =
there
is no managed version of MSFlexGrid.  Luckily, I added the the =
MSFlexGrid
COM control to my toolbox in visual studio.net.  VS.NET created a
COM-interop library for me.  I ported my Visual Basic 6 library to C# in =
no
time. So now, I have a very nice grid for me to use in C#.  However, the
downside is I do not have data binding support like the DataGrid does.=20

-----Original Message-----
From: mono-winforms-list-admin@lists.ximian.com
[mailto:mono-winforms-list-admin@lists.ximian.com] On Behalf Of Peter =
Dennis
Bartok
Sent: Thursday, September 09, 2004 5:24 PM
To: mono-winforms-list@ximian.com
Subject: [Mono-winforms-list] System.Windows.Forms Status Update


[This is a resend - I apologize if you're getting it twice]

Hi All!

As some of you may know, we've had a SWF hack-a-thon in Provo last =
month. I
figured I'd give everyone a quick update about the current state of =
things.

For those who might have missed Miguel's message two months ago here a =
quick
intro: After having various problems with the approach of using Wine, =
like
threading support, installation issues, debuggability, interop with
System.Drawing, etc. we decided to start over and develop SWF from =
scratch
(again). Except that this time everything is fully implemented in =
managed
code. All controls are natively written in C#, using only System.Drawing =
and
a small 'driver' that provides the interface to the underlying Windowing
system.

At this point, we have the following controls fully implemented in =
managed
code:
- Label / LinkLabel
- Statusbar
- Toolbar
- Scrollbar (Horizontal/Vertical)
- Trackbar
- Button
- RadioButton
- CheckBox
- Picturebox (even supports animated pictures)
- ProgressBar

These controls should all be fully usable and provide/implement all =
methods
and properties documented by Microsoft for System.Windows.Forms.

Currently, the following controls being worked on:
- Edit
- Menu
- Groupbox
- Tooltip
- TabControl

Additionally, the Form and Control class are still a work in progress, =
not
yet complete. Control is tied very much into the underlying driver
architecture. Currently we have a driver for Win32, and a driver for =
X11.
The X11 driver has only been used/tested on Linux, due to lack of time =
and
resources we haven't done anything on Solaris or Mac yet, maybe someone =
who
reads this will feel compelled to volunteer :-)

Some of the bigger issues we were facing with Wine, like multithreading, =
are
already solved in the new implementation. The developers.exe sample app =
that
shows off multithreading, timers and various controls already works =
nicely
with the new code.

We've had volunteers, asking which areas need work, so here a list of
controls and classes/components that need tender loving care:
- ListControl
   ComboBox
   ListBox
     CheckedListBox
- MonthCalendar
- Splitter
- TreeView
- DomainUpDown
- NumericUpDown
- DateTimePicker
- Common Dialogs (probably only doable once all controls are done, =
unless
someone implements them on top of Microsoft's Win32 SWF)
- PrintPreviewControl

- Macintosh driver
- 64bit testing and/or support for Solaris
- Testing and support for other platforms

The list is probably incomplete, and some things are very large tasks, =
like
the ListControl, which consist of several classes that can probably be
implemented somewhat independently of each other.

Also, if you would like to contribute but are unsure whether you have =
the
time or experience to contribute a whole control, we also need test
applications. Simple ones that just test every aspect of a single =
control as
well as more complex apps that have a purpose like a calculator. =
Anything
that helps sniff out bugs in the code or shows people how to use SWF for
their own needs is needed and welcome. And of course, we also still need
lots of documentation.

The current implementation can be found in =
mcs/class/Managed.Windows.Forms,
and the core developers usually hang around #mono-winforms on gimpnet.

Cheers,
  Peter

_______________________________________________
Mono-winforms-list maillist  -  Mono-winforms-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-winforms-list