DevPinoy.org
A Filipino Developers Community
   
A look at MonoDevelop's GUI designer for Gtk#
Easy-to-use developer tools have, for the most part, been largely Windows-only. I guess that's not true anymore, what with the latest Eclipse IDE and the up-and-coming MonoDevelop IDE. In case you've been living in another planet for quite some time and you have no idea what MonoDevelop is, MonoDevelop is an IDE that runs in Linux and other UNIX-like operating systems that allows you to develop applications running on the Mono CLR, which is an open source port of the Microsoft .NET Framework. MonoDevelop started life as a port of the open source SharpDevelop IDE for .NET on Windows.

MonoDevelop 0.10 (and its later versions; currently it's at 0.11) already features an integrated GUI window designer for the Gtk toolkit. Since the Gtk# library for .NET allows cross-platform (Windows and non-Windows) desktop apps to be developed, I think it's a big feature. You can find out more information about the announcement of the GUI designer here and here. A Flash screencast can be viewed here.

I played around with the MonoDevelop in the latest Ubuntu Dapper beta (flight 7) and was delighted to see it was already working :) Last time I tried it, it just crashed after opening a Gtk# project. I've attached here links to screenshots I took:

01 - new Gtk# project
02 - view of IDE
03 - designer view
04 - putting in widgets
05 - running it on Linux
06 - Linux and Windows side by side

Some pet peeves:
  1. Even if you change the window's title (by setting its Title property using the Widget Properties pane), it still shows as "MainWindow" in the GUI designer.
  2. The drag-n-dropping of controls into the window/form needs refinement. You can't just drag controls around; you'll have to cut-n-paste them if you want to move them across boxes in the layout. You can't press the Del key either to delete a widget...you need to right-click on the widget and select "Delete" from the context menu. Oh well.
  3. The IDE seemingly hung up when I exited it. It was there for a few minutes then it disappeared. Weird huh?
  4. Running a Gtk# app on Windows first produces an ugly black console window (see screenshot #6). Exiting the Gtk# app automatically removes the black console window. While workable, I don't like it. Stick out tongue [:P]
Still I think the clincher here was that I was able to compile a desktop app in Linux and run the same compiled binary in Windows. Next time I'm gonna test if the reverse (compile in VS.NET, run in Linux) is just as effective. Cross-platform .NET, here we come!

Oh I forgot: here's a link to the Gtk# installer for Windows. The SDK will allow you to develop Gtk# apps on Windows while the redistributable will allow your end users to run them.

Posted 05-09-2006 9:14 AM by cruizer
Filed under: ,

Comments

cruizer wrote re: A look at MonoDevelop's GUI designer for Gtk#
on 05-09-2006 12:08 AM
here are links on how to pack widgets in a window or form:

[url]http://www.mono-project.com/GtkSharp:_Packing_with_Tables[/url]
[url]http://www.mono-project.com/GtkSharp:_Packing_with_Boxes[/url]

it can take some time to get to used to layouting with Gtk, since i'm sure many of us are used to the absolute positioning of widgets in VB6 and Windows Forms.

Windows Forms support is being added to Mono, by the way, so expect another blog entry from me as soon as I find time to play with it Smile [:)]
LaTtEX wrote re: A look at MonoDevelop's GUI designer for Gtk#
on 05-09-2006 2:36 AM
Astig... despite the fact that it's buggy. Yun nga lang I have a feeling this has been taking so long. Even #develop is taking too long to come up with an IDE that supports ASP.NET for 2.0 (or have I just not been looking). It's been so long that I think #develop has been undermined by the Express Editions.
arkangel1a wrote re: A look at MonoDevelop's GUI designer for Gtk#
on 05-09-2006 4:57 AM
this is really cool. :D
cruizer wrote re: A look at MonoDevelop's GUI designer for Gtk#
on 05-09-2006 4:10 PM
well the express editions won't work on non-Windows platforms, so there's a need right there Smile [:)] yeah i agree...biggest letdown with SharpDevelop (even 2.0 which works on .NET 2.0) is the lack of an ASP.NET web designer. monodevelop already has an ASP.NET web designer in the works, by the way.
cruizer wrote Windows.Forms on Mono@Linux
on 05-09-2006 6:52 PM
Ok, so yesterday I took a look at MonoDevelop's GUI designer for Gtk# and showed a screenshot of the...
jokiz wrote re: A look at MonoDevelop's GUI designer for Gtk#
on 05-10-2006 2:53 AM
will this gtk# be a wrapper on top of windows forms?
cruizer wrote re: A look at MonoDevelop's GUI designer for Gtk#
on 06-19-2006 2:23 PM
hi jokiz, sorry for the late reply. GTK# is not a wrapper over windows forms. it's a wrapper over the GTK libraries. GTK works on Windows and Linux, among other platforms. i think it's the way to go (for now) when it comes to creating cross-platform GUI .NET apps. WinForms on Mono is not yet mature and complete.
Copyright DevPinoy 2005-2008