### Method

# Adw Breakpoint add_setter

since: 1.4

#### Declaration [src]

    void
    adw_breakpoint_add_setter (
      AdwBreakpoint* self,
      GObject* object,
      const char* property,
      const GValue* value
    )

#### Description [src]

Adds a setter to `self`.

The setter will automatically set `property` on `object` to `value` when applying the breakpoint, and set it back to its original value upon unapplying it.

Note

Setting properties to their original values does not work for properties that have irreversible side effects. For example, changing `GtkButton:label` while `GtkButton:icon-name` is set will reset the icon. However, resetting the label will not set `icon-name` to its original value.

Use the `AdwBreakpoint::apply` and `AdwBreakpoint::unapply` signals for those properties instead, as follows:

    static void
    breakpoint_apply_cb (MyWidget *self)
    {
      gtk_button_set_icon_name (self->button, "go-previous-symbolic");
    }

    static void
    breakpoint_apply_cb (MyWidget *self)
    {
      gtk_button_set_label (self->button, _("_Back"));
    }

    // ...

    g_signal_connect_swapped (breakpoint, "apply",
                              G_CALLBACK (breakpoint_apply_cb), self);
    g_signal_connect_swapped (breakpoint, "unapply",
                              G_CALLBACK (breakpoint_unapply_cb), self);

Available since: 1.4

#### Parameters

`object`

  Type: `GObject`

  The target object.

  The data is owned by the caller of the method.

`property`

  Type: `const char*`

  The target property.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`value`

  Type: `GValue`

  The value to set.

  The argument can be `NULL`.
  The data is owned by the caller of the method.