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: -

Projects/GTK/PropertyDefaults (last edited 2018-12-05 15:46:19 by EmmanueleBassi)