What is it?
gtkform is a gtk+ container that resembles the Motif XmFormWidget behavior. For every edge (side) of a widget, you can assign an attachment. These attachments can be relative to the form or to another widget. The attachments determine the layout behavior of the form when resizing occurs.Where is it?
http://www.echo-sol.com/~steveg/gtkform/gtkform.tar.gzChange Log
Create a gtkform widget, add children and set contraints. After a widget is added to a form, you can assign the attachments with a call to gtk_form_constrain. Every call to gtk_form_constrain looks like thisDifferences from XmFormgtk_form_constrain (Form widget, Edge, Attachment , Target, Offset);
Parameter Explanation Form widget Form widget that contains the children. Edge Edge of the Component.
GTK_FORM_EDGE_TOP
GTK_FORM_EDGE_LEFT
GTK_FORM_EDGE_BOTTOM
GTK_FORM_EDGE_RIGHTAttachment GTK_FORM_ATTACH_NONE
GTK_FORM_ATTACH_FORM
GTK_FORM_ATTACH_WIDGET
GTK_FORM_ATTACH_OPPOSITE_WIDGET
GTK_FORM_ATTACH_CENTER
GTK_FORM_ATTACH_SELFTarget For WIDGET, OPPOSITE_WIDGET or CENTER Offset Offset from the target or form side.
Attachment Explanation GTK_FORM_ATTACH_NONE Edge does not have any constraint. GTK_FORM_ATTACH_FORM Edge is layed out Offset pixels from the side of the form. GTK_FORM_ATTACH_WIDGET Edge is layed out Offset pixels from Target . GTK_FORM_ATTACH_OPPOSITE_WIDGET Edge is layed out Offset pixels from the opposite side of Target. GTK_FORM_ATTACH_CENTER Component is centered with respect to Target . If Target is GTK_FORM_NULL_WIDGET, then widget is centered on the form. The Edge specified with this call only determines which direction to take the offset. If Offset is zero, then either edge will have the same outcome. GTK_FORM_ATTACH_SELF Edge is positioned at the same relative position within the form, even if the form is resized.
Aside from the fact that gtkform does not implement all of the XmForm functionality, gtkform does have extended functionality beyond XmForm. Unlike XmForm, gtkform will allow widgets to have contraints relative to each other as long as they are not truely circular. In other words, widget A can be attached to the left of widget B and widget B can be attached to the bottom of widget A. Similiarly, widget A can be attached to itself. This can be used to specify a fixed width or height for a component. Lastly, gtkform supports centering.Etc
gtkform is written and maintained by Steve Green and is licensed under the LGPL.
Original source and documentation is locatated at http://www.echo-sol.com/~steveg/gtkform