## GtkRevealer GtkRevealer — Hide and show with animation |

## Functions

GtkWidget * | gtk_revealer_new ()
GtkWidget * | gtk_revealer_get_child ()
void | gtk_revealer_set_child ()
gboolean | gtk_revealer_get_reveal_child ()
void | gtk_revealer_set_reveal_child ()
gboolean | gtk_revealer_get_child_revealed ()
guint | gtk_revealer_get_transition_duration ()
void | gtk_revealer_set_transition_duration ()
GtkRevealerTransitionType | gtk_revealer_get_transition_type ()
void | gtk_revealer_set_transition_type ()

## Properties

GtkWidget * | child | Read / Write
gboolean | child-revealed | Read
gboolean | reveal-child | Read / Write / Construct
guint | transition-duration | Read / Write / Construct
GtkRevealerTransitionType | transition-type | Read / Write / Construct

## Types and Values

| GtkRevealer
enum | GtkRevealerTransitionType

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkRevealer

## Implemented Interfaces

GtkRevealer implements AtkImplementorIface, GtkBuildable and GtkConstraintTarget.

## Includes

    #include <gtk/gtk.h>

## Description

The GtkRevealer widget is a container which animates the transition of its child from invisible to visible.

The style of transition can be controlled with `gtk_revealer_set_transition_type()`.

These animations respect the “gtk-enable-animations” setting.

### CSS nodes

GtkRevealer has a single CSS node with name revealer. When styling GtkRevealer using CSS, remember that it only hides its contents, not itself. That means applied margin, padding and borders will be visible even when the “reveal-child” property is set to `FALSE`.

The GtkRevealer widget was added in GTK+ 3.10.

## Functions

### gtk_revealer_new ()

    GtkWidget *
    gtk_revealer_new (void);

Creates a new GtkRevealer.

#### Returns

a newly created GtkRevealer

### gtk_revealer_get_child ()

    GtkWidget *
    gtk_revealer_get_child (GtkRevealer *revealer);

Gets the child widget of `revealer` .

#### Parameters

revealer | a GtkRevealer |

#### Returns

the child widget of `revealer` .

[nullable][transfer none]

### gtk_revealer_set_child ()

    void
    gtk_revealer_set_child (GtkRevealer *revealer,
                            GtkWidget *child);

Sets the child widget of `revealer` .

#### Parameters

revealer | a GtkRevealer |
child | the child widget. | [allow-none]

### gtk_revealer_get_reveal_child ()

    gboolean
    gtk_revealer_get_reveal_child (GtkRevealer *revealer);

Returns whether the child is currently revealed. See `gtk_revealer_set_reveal_child()`.

This function returns `TRUE` as soon as the transition is to the revealed state is started. To learn whether the child is fully revealed (ie the transition is completed), use `gtk_revealer_get_child_revealed()`.

#### Parameters

revealer | a GtkRevealer |

#### Returns

`TRUE` if the child is revealed.

### gtk_revealer_set_reveal_child ()

    void
    gtk_revealer_set_reveal_child (GtkRevealer *revealer,
                                   gboolean reveal_child);

Tells the GtkRevealer to reveal or conceal its child.

The transition will be animated with the current transition type of `revealer` .

#### Parameters

revealer | a GtkRevealer |
reveal_child | `TRUE` to reveal the child |

### gtk_revealer_get_child_revealed ()

    gboolean
    gtk_revealer_get_child_revealed (GtkRevealer *revealer);

Returns whether the child is fully revealed, in other words whether the transition to the revealed state is completed.

#### Parameters

revealer | a GtkRevealer |

#### Returns

`TRUE` if the child is fully revealed

### gtk_revealer_get_transition_duration ()

    guint
    gtk_revealer_get_transition_duration (GtkRevealer *revealer);

Returns the amount of time (in milliseconds) that transitions will take.

#### Parameters

revealer | a GtkRevealer |

#### Returns

the transition duration

### gtk_revealer_set_transition_duration ()

    void
    gtk_revealer_set_transition_duration (GtkRevealer *revealer,
                                          guint duration);

Sets the duration that transitions will take.

#### Parameters

revealer | a GtkRevealer |
duration | the new duration, in milliseconds |

### gtk_revealer_get_transition_type ()

    GtkRevealerTransitionType
    gtk_revealer_get_transition_type (GtkRevealer *revealer);

Gets the type of animation that will be used for transitions in `revealer` .

#### Parameters

revealer | a GtkRevealer |

#### Returns

the current transition type of `revealer`

### gtk_revealer_set_transition_type ()

    void
    gtk_revealer_set_transition_type (GtkRevealer *revealer,
                                      GtkRevealerTransitionType transition);

Sets the type of animation that will be used for transitions in `revealer` . Available types include various kinds of fades and slides.

#### Parameters

revealer | a GtkRevealer |
transition | the new transition type |

## Types and Values

### GtkRevealer

    typedef struct _GtkRevealer GtkRevealer;

### enum GtkRevealerTransitionType

These enumeration values describe the possible transitions when the child of a GtkRevealer widget is shown or hidden.

#### Members

GTK_REVEALER_TRANSITION_TYPE_NONE | No transition |
GTK_REVEALER_TRANSITION_TYPE_CROSSFADE | Fade in |
GTK_REVEALER_TRANSITION_TYPE_SLIDE_RIGHT | Slide in from the left |
GTK_REVEALER_TRANSITION_TYPE_SLIDE_LEFT | Slide in from the right |
GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP | Slide in from the bottom |
GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN | Slide in from the top |
GTK_REVEALER_TRANSITION_TYPE_SWING_RIGHT | Floop in from the left |
GTK_REVEALER_TRANSITION_TYPE_SWING_LEFT | Floop in from the right |
GTK_REVEALER_TRANSITION_TYPE_SWING_UP | Floop in from the bottom |
GTK_REVEALER_TRANSITION_TYPE_SWING_DOWN | Floop in from the top |

## Property Details

### The `“child”` property

      “child”                    GtkWidget *

The child widget.

Owner: GtkRevealer

Flags: Read / Write

### The `“child-revealed”` property

      “child-revealed”           gboolean

Whether the child is revealed and the animation target reached.

Owner: GtkRevealer

Flags: Read

Default value: FALSE

### The `“reveal-child”` property

      “reveal-child”             gboolean

Whether the container should reveal the child.

Owner: GtkRevealer

Flags: Read / Write / Construct

Default value: FALSE

### The `“transition-duration”` property

      “transition-duration”      guint

The animation duration, in milliseconds.

Owner: GtkRevealer

Flags: Read / Write / Construct

Default value: 250

### The `“transition-type”` property

      “transition-type”          GtkRevealerTransitionType

The type of animation used to transition.

Owner: GtkRevealer

Flags: Read / Write / Construct

Default value: GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN

## See Also

GtkExpander