Notes for the manual:
It is very much a direct manipulation UI builder. Select widgets from
the palette and place them onto windows. Use the property editor to
edit properties of widgets. Context-sensitive popup menus are also
provided. If you've used something like Visual Basic you should feel
quite at home.
However, Gtk interfaces differ from VB in that widgets are not normally
given explicit positions, but are placed in containers such as boxes and
tables which are able to resize dynamically as the window shrinks or expands.
Thus creating the structure of the window requires a little initial thought
and is best done by sketching on paper. Once you've decided on the
layout you create the interface by adding the outermost containers first,
and eventually adding the individual widgets which make up your interface.
The UI Builder uses special 'placeholders' in the windows, which you
replace with the widgets you want in your interface.
(If you get really stuck with boxes and tables, there is a 'Fixed' container
which supports a layout just like VB - but your windows won't look good
Lists the main components of the project, which consist of windows,
dialog boxes, popups & popup menus.
Menu bar has commands for opening/saving projects, writing source code,
showing palette/properties windows, and setting grid/snap options
(used for fixed containers only).
Shows icons representing the widgets available, as well as the 'selector'
(shown as an arrow) which is used to select widgets.
To add a widget to a window, select the widget in the palette, and select
the position in the window where you want it to be added.
Note that after adding a widget, the selector becomes active again.
If you want to add multiple widgets of the same type, hold down the
control key when selecting the widget in the palette. When you have
finished adding the widgets, you will have to select the selector again
Shows the properties of the currently selected widget, and allows you
to alter them. The properties are split over 6 pages - widget, place,
basic, style, accelerators, & signals.
Many of the properties also have tooltips which can be seen by holding
the mouse over the property labels.
The 'widget' page contains the name given to the widget and any properties
specific to the type of widget, e.g. a label will have the label text
The 'place' page contains properties which relate to the widget's position
in its container widget. It is only applicable for widgets in tables and
boxes, and will be empty in all other cases.
The 'basic' page contains properties common to all widgets, such as the
width and the height of the widget. Some properties may be insensitive if
they do not apply to the currently selected widget, e.g. a widget in a
box container will have its x and y properties set insensitive since
these should not be used in a box.
The 'style' page shows the style of the widget - the various colours and
backgrounds used for drawing the widget in each of its 5 possible states.
The widget can inherit the style of its parent, in which case the rest
of the style page will be insensitive. **Setting the font is pretty
difficult at present. Styles can be named and shared between many widgets,
by giving the style a name or selecting the name of a previously-created
style. The notebook on the styles page shows the 5 possible states of a
widget, and the colours used for that state. Colors and backgrounds can
be copied and pasted.
The 'accelerators' page...
The 'signals' page...
These are the actual windows of your user interface which are being
When the selector is active, use the left mouse button to select widgets.
Holding the control key enables the selection of multiple widget. Holding
the shift key selects the widgets behind the widget being pointed at.
This allows you to view and edit the properties of the containers.
Pressing the right mouse button shows a context-sensitive popup menu.
This contains commands relating to the particular widget, with submenus
containing commands relating to all widgets behind this widget (i.e. its