Winforms 2.0 Update
It's been quite a while since we released Mono 1.2.3, and the winforms team and contributors have been busy. I often reference the MoMA reports for what areas I need to be working on. Since the MoMA reports haven't been updated to reflect things that have now been implemented since 1.2.3, I did some quick and dirty comparisons so I could filter out what's been done.
According to my numbers, as of 1.2.3 there are 995 winforms methods that people have reported as in-use in their real world applications that we are missing. Since 1.2.3, we have implemented 335 of them, leaving us with 660 to go. I think that's pretty good progress for about 2 months. As the number gets smaller, it will probably take longer to implement things, as they are generally the harder ones left.
Two of the biggest places we are missing stuff are WebBrowser and MaskedTextBox, which are the only 2 controls we are completely missing. WebBrowser accounts for 154 of the missing methods, and MaskedTextBox accounts for 66 of them. MaskedTextBox doesn't look especially hard to implement, just tedious to match all the behavior from .Net.
WebBrowser on the other hand, is going to be very tricky to do in a compatible, cross-platform way. We have to consider several things, like which rendering engine to use: Gecko, KHTML, WebKit, etc. We have to either bundle it, or have some mechanism of making sure that the system has it installed. Also, it has to expose enough API that we can map all the WebBrowser functionality into it. We've thrown ideas around many times, but have yet to come up with a plan. Given what we have left, it's probably something we are going to have to face pretty soon. :)
According to my numbers, as of 1.2.3 there are 995 winforms methods that people have reported as in-use in their real world applications that we are missing. Since 1.2.3, we have implemented 335 of them, leaving us with 660 to go. I think that's pretty good progress for about 2 months. As the number gets smaller, it will probably take longer to implement things, as they are generally the harder ones left.
Two of the biggest places we are missing stuff are WebBrowser and MaskedTextBox, which are the only 2 controls we are completely missing. WebBrowser accounts for 154 of the missing methods, and MaskedTextBox accounts for 66 of them. MaskedTextBox doesn't look especially hard to implement, just tedious to match all the behavior from .Net.
WebBrowser on the other hand, is going to be very tricky to do in a compatible, cross-platform way. We have to consider several things, like which rendering engine to use: Gecko, KHTML, WebKit, etc. We have to either bundle it, or have some mechanism of making sure that the system has it installed. Also, it has to expose enough API that we can map all the WebBrowser functionality into it. We've thrown ideas around many times, but have yet to come up with a plan. Given what we have left, it's probably something we are going to have to face pretty soon. :)
Comments
This would be invaluable for GTK# as well.
I really appreciate this update on the status of a webbrowser... we really need a simple html rendering control soon (Windows and Linux); do you know of anyone who's used one of your options "raw" in WinForms? I.e., we don't need it to be wrapped as a WebBrower.
Thanks
jh
As for DataGridView, we definitely know it needs work. The MoMA report metric only tells us which methods we are missing, not which ones may be implemented but not functioning correctly. We've recently received some fixes from the original author of DGV, but I don't know to what degree he plans on fixing it.