Bond 2 XML file documentation

This is a work in progress. There is an open office document in the ~/docs directory. I would love it if people sent me patches for the docs. There is also documentation in the uigtk directory before each function on what options can be in the xml file.

The widgets are all based around the GTK widget toolkit. If you are not familure with GTK then I recommend you read their tutorial and api reference guide as the naming, properties and layout of widgets is closely based around their standards. http://www.gtk.org


Most widgets and dbobjects can have names specified for them. This is by putting a name attribute into xml tag. Ie

I have not mentoned the name in widget attributes listing, but it can be specified. If it is not the parser will make up a name for the widget.


The name is important because you use the name to reference that widget or database object for api calls, database sources etc. A longname attribute is placed in automatically by the parser which is the name and path of the widget, so dont put a longname attribute into the tag.




Creates a window/form widget. This may only contain one widget child, though this can be a box which contains many widgets. A window can only occur under a object. Visible state defaults to false, so if you want it visible you must specify TRUE here.


Attributes:


Example:



Creates a tabled box which can contain many other widgets, under GTK its called GtkTable. Boxes can be contained within boxes.

The size of the box needs to be specified as attributes. A box must contain cells, which is the container of other widgets. The cells describe the


Attributes:

xsize=int

Number of columns in the table. Default 1.

ysize=int

Number of rows in the table. Default 1.

homogeneous=bool

If all the cells are to be lined up or not. Defaults to false.

visible=bool

If widget is visible, defaults to true.

spacing=int

Sets the spacing for both xspacing and yspacing.

xspacing=int

Spacing in pixels between columns. Default 4.

yspacing=int

Spacing in pixels between rows. Default 4.



Example:

...



A cell may be in a box, vbox or hbox. Though the attributes available to it are differnt in the vbox and hbox.


Box Cell Attributes:

xpos=int

Position in , offsets from top left.

ypos=int

Position in , offsets from top left.

xpadding=int

Column padding between cell and widget.

ypadding=int

Row padding between cell and widget.

xsize=int

How many columns this cell stretchs.

ysize=int

How many rows this cell covers.

expand=bool

If the cell can be expanded in size. Default true.

xexpand=bool

Same as above, but only for columns