In GTK+ 2.16, a number of previously abstract widget classes were made instantiable (in the cause of introducing the GtkOrientable interface). Making a class instantiable is a lot like introducing a new class, and gives us the chance to reconsider the defaults for their properties.
Here is a fragment of the class hierarchy, with the newly instantiable classes in bold:
GtkWidget
GtkRuler
- GtkHRuler
- GtkVRuler
GtkRange
GtkScale
- GtkHScale
- GtkVScale
GtkScrollbar
- GtkHScrollbar
- GtkVScrollbar
GtkSeparator
- GtkHSeparator
- GtkVSeparator
GtkContainer
GtkPaned
- GtkHPaned
- GtkVPaned
GtkBox
- GtkHBox
- GtkVBox
GtkButtonBox
- GtkHButtonBox
- GtkVButtonBox
Property |
Child |
Current |
New |
GtkWidget::app-paintable |
|
FALSE |
|
GtkWidget::can-default |
|
FALSE |
|
GtkWidget::can-focus |
|
FALSE |
|
GtkWidget::composite-child |
|
FALSE |
|
GtkWidget::events |
|
GDK_STRUCTURE_MASK |
|
GtkWidget::extension-events |
|
GDK_EXTENSION_EVENTS_NONE |
|
GtkWidget::has-default |
|
FALSE |
|
GtkWidget::has-focus |
|
FALSE |
|
GtkWidget::has-tooltip |
|
FALSE |
|
GtkWidget::height-request |
|
-1 |
|
GtkWidget::is-focus |
|
FALSE |
|
GtkWidget::name |
|
NULL |
|
GtkWidget::no-show-all |
|
FALSE |
|
GtkWidget::parent |
|
NULL |
- |
GtkWidget::receives-default |
|
FALSE |
|
GtkWidget::sensitive |
|
TRUE |
|
GtkWidget::style |
|
NULL |
- |
GtkWidget::tooltip-markup |
|
NULL |
|
GtkWidget::tooltip-text |
|
NULL |
|
GtkWidget::visible |
|
FALSE |
TRUE |
GtkWidget::width-request |
|
-1 |
|
GtkWidget::window |
|
NULL |
- |
GtkContainer::border-width |
|
0 |
|
GtkContainer::child |
|
NULL |
- |
GtkContainer::resize-mode |
|
GTK_RESIZE_PARENT |
|
GtkPaned::position |
|
0 |
|
GtkPaned::min-position |
|
0 |
|
GtkPaned::max-position |
|
G_MAXINT |
|
GtkPaned::resize |
|
TRUE |
|
GtkPaned::shrink |
|
TRUE |
|
GtkRuler::lower |
|
0.0 |
|
GtkRuler::upper |
|
0.0 |
|
GtkRuler::position |
|
0.0 |
|
GtkRuler::max-size |
|
0.0 |
|
GtkRuler::metric |
|
GTK_PIXELS |
|
GtkBox::spacing |
|
0 |
|
GtkBox::homogeneous |
|
FALSE |
= |
GtkBox::expand |
|
TRUE |
FALSE |
GtkBox::fill |
|
TRUE |
FALSE |
GtkBox::padding |
|
0 |
|
GtkBox::pack-type |
|
GTK_PACK_START |
= |
GtkBox::position |
|
0 |
- |
GtkButtonBox::layout-style |
|
GTK_BUTTON_BOX_DEFAULT_STYLE |
|
GtkButtonBox::secondary |
|
FALSE |
|
GtkScale::digits |
|
1 |
|
GtkScale::draw-value |
|
TRUE |
|
GtkScale::value-pos |
|
GTK_POS_TOP |
|
GtkRange::update-policy |
|
GTK_UPDATE_CONTINUOUS |
= |
GtkRange::adjustment |
|
NULL |
= |
GtkRange::inverted |
|
FALSE |
= |
GtkRange::lower-stepper-sensitivity |
|
GTK_SENSITIVITY_AUTO |
= |
GtkRange::upper-stepper-sensitivity |
|
GTK_SENSITIVITY_AUTO |
= |
GtkRange::show-fill-level |
|
FALSE |
= |
GtkRange::restrict-to-fill-level |
|
TRUE |
|
GtkRange::fill-level |
|
G_MAXDOUBLE |
|
Properties with defaults to remain the same: =
Properties where defaults can't be changed: -