## GtkFrame GtkFrame — A bin with a decorative frame and optional label |

## Synopsis

    #include <gtk/gtk.h>

                        GtkFrame;
    GtkWidget*          gtk_frame_new                       (const gchar *label);
    void                gtk_frame_set_label                 (GtkFrame *frame,
                                                             const gchar *label);
    void                gtk_frame_set_label_widget          (GtkFrame *frame,
                                                             GtkWidget *label_widget);
    void                gtk_frame_set_label_align           (GtkFrame *frame,
                                                             gfloat xalign,
                                                             gfloat yalign);
    void                gtk_frame_set_shadow_type           (GtkFrame *frame,
                                                             GtkShadowType type);
    const gchar*        gtk_frame_get_label                 (GtkFrame *frame);
    void                gtk_frame_get_label_align           (GtkFrame *frame,
                                                             gfloat *xalign,
                                                             gfloat *yalign);
    GtkWidget*          gtk_frame_get_label_widget          (GtkFrame *frame);
    GtkShadowType       gtk_frame_get_shadow_type           (GtkFrame *frame);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkBin
                                     +----GtkFrame
                                           +----GtkAspectFrame

## Implemented Interfaces

GtkFrame implements AtkImplementorIface.

## Properties

      label                    gchararray            : Read / Write
      label-widget             GtkWidget             : Read / Write
      label-xalign             gfloat                : Read / Write
      label-yalign             gfloat                : Read / Write
      shadow                   GtkShadowType         : Read / Write
      shadow-type              GtkShadowType         : Read / Write

## Description

The frame widget is a Bin that surrounds its child with a decorative frame and an optional label. If present, the label is drawn in a gap in the top side of the frame. The position of the label can be controlled with `gtk_frame_set_label_align()`.

## Details

### GtkFrame

    typedef struct _GtkFrame GtkFrame;

### gtk_frame_new ()

    GtkWidget*          gtk_frame_new                       (const gchar *label);

Creates a new GtkFrame, with optional label `label`. If `label` is `NULL`, the label is omitted.

`label` : | the text to use as the label of the frame
Returns : | a new GtkFrame widget

### gtk_frame_set_label ()

    void                gtk_frame_set_label                 (GtkFrame *frame,
                                                             const gchar *label);

Sets the text of the label. If `label` is `NULL`, the current label is removed.

`frame` : | a GtkFrame
`label` : | the text to use as the label of the frame

### gtk_frame_set_label_widget ()

    void                gtk_frame_set_label_widget          (GtkFrame *frame,
                                                             GtkWidget *label_widget);

Sets the label widget for the frame. This is the widget that will appear embedded in the top edge of the frame as a title.

`frame` : | a GtkFrame
`label_widget` : | the new label widget

### gtk_frame_set_label_align ()

    void                gtk_frame_set_label_align           (GtkFrame *frame,
                                                             gfloat xalign,
                                                             gfloat yalign);

Sets the alignment of the frame widget's label. The default values for a newly created frame are 0.0 and 0.5.

`frame` : | a GtkFrame
`xalign` : | The position of the label along the top edge of the widget. A value of 0.0 represents left alignment; 1.0 represents right alignment.
`yalign` : | The y alignment of the label. A value of 0.0 aligns under the frame; 1.0 aligns above the frame.

### gtk_frame_set_shadow_type ()

    void                gtk_frame_set_shadow_type           (GtkFrame *frame,
                                                             GtkShadowType type);

Sets the shadow type for `frame`.

`frame` : | a GtkFrame
`type` : | the new GtkShadowType

### gtk_frame_get_label ()

    const gchar*        gtk_frame_get_label                 (GtkFrame *frame);

If the frame's label widget is a GtkLabel, returns the text in the label widget. (The frame will have a GtkLabel for the label widget if a non-`NULL` argument was passed to `gtk_frame_new()`.)

`frame` : | a GtkFrame
Returns : | the text in the label, or `NULL` if there was no label widget or the lable widget was not a GtkLabel. This string is owned by GTK+ and must not be modified or freed.

### gtk_frame_get_label_align ()

    void                gtk_frame_get_label_align           (GtkFrame *frame,
                                                             gfloat *xalign,
                                                             gfloat *yalign);

Retrieves the X and Y alignment of the frame's label. See `gtk_frame_set_label_align()`.

`frame` : | a GtkFrame
`xalign` : | location to store X alignment of frame's label, or `NULL`
`yalign` : | location to store X alignment of frame's label, or `NULL`

### gtk_frame_get_label_widget ()

    GtkWidget*          gtk_frame_get_label_widget          (GtkFrame *frame);

Retrieves the label widget for the frame. See `gtk_frame_set_label_widget()`.

`frame` : | a GtkFrame
Returns : | the label widget, or `NULL` if there is none.

### gtk_frame_get_shadow_type ()

    GtkShadowType       gtk_frame_get_shadow_type           (GtkFrame *frame);

Retrieves the shadow type of the frame. See `gtk_frame_set_shadow_type()`.

`frame` : | a GtkFrame
Returns : | the current shadow type of the frame.

## Property Details

### The :`label` property

      label                    gchararray            : Read / Write

Text of the frame's label.

Default value: NULL

### The :`label-widget` property

      label-widget             GtkWidget             : Read / Write

A widget to display in place of the usual frame label.

### The :`label-xalign` property

      label-xalign             gfloat                : Read / Write

The horizontal alignment of the label.

Allowed values: [0,1]

Default value: 0.5

### The :`label-yalign` property

      label-yalign             gfloat                : Read / Write

The vertical alignment of the label.

Allowed values: [0,1]

Default value: 0.5

### The :`shadow` property

      shadow                   GtkShadowType         : Read / Write

Deprecated property, use shadow_type instead.

Default value: GTK_SHADOW_ETCHED_IN

### The :`shadow-type` property

      shadow-type              GtkShadowType         : Read / Write

Appearance of the frame border.

Default value: GTK_SHADOW_ETCHED_IN