[MonoDevelop] Thoughts on Monodevelop's gtk designer:

kev tripzero at nextabyte.com
Wed Mar 18 06:56:09 EDT 2009


Lluis Sanchez Gual wrote:
> El dl 16 de 03 de 2009 a les 20:48 +0800, en/na kev va escriure:
>> Preface:
>>
>> I'm a complete newbie when it comes to gtk development.  Therefore the
>> following observations and comments are coming from someone who has
>> neither used monodevelop's gtk tools, or any other tools for gui
>> development.  Due to some frustrations with monodevelop's designer, I
>> ended trying to use Glade3 to do the UI.  I shall try to point out some
>> of these frustrations.
> 
> I think some of the frustrations come from an incorrect use of the GTK
> framework. In GTK, widgets rarely are placed in absolute positions.
> Instead, you combine containers to design the layout of the window, and
> put widgets on the containers, playing with relative alignments and
> margins. GTK also supports absolute positioning of widgets with the
> Fixed container, but MD doesn't yet have design tools for helping
> building guis using this container, because even if you can do it, it is
> not the right way of doing it.
> 

When designing something like this: http://openice.org/login.png , the
fixed container seemed the most intuitive.  You are right though, I
don't have any understanding (until now) on how the GTK framework works.

>> I'm using monodevelop from svn.
>>
>> 1) When adding a widget container, the default size is very small.  It
>> appears to default to about 1px in height.  It feels to me that it
>> should default to "fill" the entire canvas.  This applies to all of the
>> containers I used, VButtonBox, Fixed, HButtonBox.
> 
> This happens when you put a container inside a Fixed. We can fix that.
> However, if you want the container to fill the entire canvas, just don't
> put it inside a Fixed.
> 

It also happens when you drop a Fixed container on an empty widget.

>> 2) Glade's containers have grid markers.  These were useful to me when
>> aligning buttons in specific areas.  In Designer, I had to guess.
>> Snapping functionality would be a nice addition to grid lines in Designer.
> 
> We might add is, although I'm not very found of encouraging this way of
> designing guis.
> 
>> 3) I really liked how in Glade3, the V/HButtonBox(s) had placeholders
>> for the number of buttons it was allowing.  Dropping a button in these
>> placeholders was very intuitive to me.
>>
>> 4) The points around the widgets, eight in total, gave me the initial
>> impression that I could resize the widget by clicking on the point and
>> dragging it.  I discovered later that those points are used for
>> positioning?  The real way to resize the widget, in my case a button,
>> was to adjust the requested width and height.  This was the case in
>> Glade as well.
>>
>> I feel that it would be intuitive to allow the adjustment of the
>> "requested width/height" by dragging the mouse on those points.
> 
> Yes, when resizing widgets in a Fixed that would help.
> 

The app I'm creating is touchscreen targeted.  Becaue of that, I need
bigger than default buttons.  I think this would be useful in any
container for that reason.

-Tripzero


More information about the Monodevelop-list mailing list