[MonoDevelop] wx.NET, #WT, or other cross-platform gui widgets

Michael Hutchinson m.j.hutchinson at gmail.com
Wed Dec 13 18:11:38 EST 2006


On 12/13/06, Jon Molesa <rjmolesa at consoltec.net> wrote:
> One thought is to have a simple form designer for wx.NET.  I think you
> were suggesting it as a plugin to MD.  Does Stetic create XML files as
> the descriptor?  I could look that up myself when I get a free moment.
> wx can use XRC files to build GUIs.

IIRC, Stetic does store the design in XML files. It also adds an MD
build step that compiles them to C# or whatever language the project
is using. It might be possible to compile most of it to wx.NET
instead, though the event binding and property syntax would likely be
very tricky. Custom controls would cause real problems.

> PS - I believe you're right about the lowest common denominator, but
> isn't native preferred when available.

It depends. wxWidgets isn't really a native toolkit from the
programmer's point of view -- it's just another platform with its own
limitations and quirks. The advantage is for the user: it looks and
behaves almost exactly like a native app. I suspect that a really good
GTK theme could do this almost just as well.

> MD or SD would still need to run on a Mac.  My Mac is awfully slow.
> I'm hoping Santa brings me a stick of 512.  I've been pretty good ;-).

Well, I suspect they'll both work on a Mac eventually :) If you'd like
to fix the issues that stop MD working reliably on a Mac, we'd be
happy to take patches. BTW, here's the original X11-free Mac GTK+:
http://developer.imendio.com/projects/gtk-macosx

> That would be impressive.  I too could make use of that.  :-)  A self
> aware library as to which platform it's running on an adjusts it's
> offerings accordingly.  True simplicity offered through abhorrent
> complexity.

It needn't be particularly complex. All I was thinking of was that you
could wrap the lowest common denominator widgets and functionality,
then let the consumer write code like
if (button.UnderlyingWidget is Gtk.Button) {// do GTK-specific stuff etc
Maybe a way could be devised to make each set of toolkit-specif stuff
pluggable. How useful this would be I don't know... it would be
comparable to developing GUIs with the different toolkits, but with
some degree of code-sharing.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list