+ GtkContainerClass *container_class;
+
+ gobject_class = (GObjectClass*) class;
+ widget_class = GTK_WIDGET_CLASS (class);
+ container_class = GTK_CONTAINER_CLASS (class);
+
+ gobject_class->set_property = gtk_frame_set_property;
+ gobject_class->get_property = gtk_frame_get_property;
+
+ g_object_class_install_property (gobject_class,
+ PROP_LABEL,
+ g_param_spec_string ("label",
+ P_("Label"),
+ P_("Text of the frame's label"),
+ NULL,
+ GTK_PARAM_READABLE |
+ GTK_PARAM_WRITABLE));
+ g_object_class_install_property (gobject_class,
+ PROP_LABEL_XALIGN,
+ g_param_spec_float ("label-xalign",
+ P_("Label xalign"),
+ P_("The horizontal alignment of the label"),
+ 0.0,
+ 1.0,
+ 0.0,
+ GTK_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class,
+ PROP_LABEL_YALIGN,
+ g_param_spec_float ("label-yalign",
+ P_("Label yalign"),
+ P_("The vertical alignment of the label"),
+ 0.0,
+ 1.0,
+ 0.5,
+ GTK_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class,
+ PROP_SHADOW,
+ g_param_spec_enum ("shadow", NULL,
+ P_("Deprecated property, use shadow_type instead"),
+ GTK_TYPE_SHADOW_TYPE,
+ GTK_SHADOW_ETCHED_IN,
+ GTK_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class,
+ PROP_SHADOW_TYPE,
+ g_param_spec_enum ("shadow-type",
+ P_("Frame shadow"),
+ P_("Appearance of the frame border"),
+ GTK_TYPE_SHADOW_TYPE,
+ GTK_SHADOW_ETCHED_IN,
+ GTK_PARAM_READWRITE));
+
+ g_object_class_install_property (gobject_class,
+ PROP_LABEL_WIDGET,
+ g_param_spec_object ("label-widget",
+ P_("Label widget"),
+ P_("A widget to display in place of the usual frame label"),
+ GTK_TYPE_WIDGET,
+ GTK_PARAM_READWRITE));
+
+ widget_class->expose_event = gtk_frame_expose;
+ widget_class->size_request = gtk_frame_size_request;
+ widget_class->size_allocate = gtk_frame_size_allocate;