## Exceptions

As some widgets do not implement properties for all required properties. This section documents some of the exceptions built into libglade's logic.

The following properties have custom handlers in libglade. Most of these will probably become real properties in GTK+ 2.2.

- `GtkWidget::visible` is handled specially so that it gets applied after children have been added. This works around some sizing bugs in certain widgets (and is the same behaviour libglade-0.x had).

- `GtkWidget::tooltip` implements tooltips for the widget. The property value is the tooltip to set on the widget.

- `GtkOptionMenu::history` sets which menu item index in the list should be selected initially with `gtk_option_menu_set_history()`.

- `GtkTextView::text` offers an easy way to set the contents of a text view's buffer.

- `GtkCallendar::display_options` sets display options of a calendar with `gtk_calendar_display_options()`.

- `GtkRadioMenuItem::group` sets the group for the radio item. The property value is the name of another widget in the group. This property won't handle forward references like the `GtkRadioButton::group` property.

- `GtkToolbar::tooltips` sets whether the toolbar shows tooltips with `gtk_toolbar_set_tooltips()`.

- `GtkStatusbar::has_resize_grip` sets whether the status bar has a resize grip in the bottom corner with `gtk_statusbar_set_has_resize_grip()`.

- `GtkRuler::metric` sets the bounds and metric type for the ruler with `gtk_ruler_set_metric()`.

- `GtkMenuItem::label`, `GtkMenuItem::use_underline` and `GtkMenuItem::use_stock` are used to create a label inside a menu item, and set whether it has a mnemonic (underlined letter), and whether it should be a stock item (standardised, translated label and an icon, if it is a GtkImageMenuItem). These properties act similarly to the identically named `GtkButton` properties.

There are custom handlers for a number of deprecated widgets, and deprecated settings for some widgets. These most likely won't be converted to real properties in the future. These include:

`GtkPixmap::build_insensitive`
`GtkPixmap::filename`
`GtkProgress::format`
`GtkCalendar::display_options`
`GtkCList::column_widths`
`GtkCList::selection_mode`
`GtkCList::shadow_type`
`GtkCList::show_titles`
`GtkTree::selection_mode`
`GtkTree::view_mode`
`GtkTree::view_line`
`GtkList::selection_mode`
`GtkCheckMenuItem::always_show_toggle`
`GtkText::text`

XXXX - To be done