Panel.Settings.bind_with_mapping

### Method

# Panel Settingsbind_with_mapping

#### Declaration [src]

    void
    panel_settings_bind_with_mapping (
      PanelSettings* self,
      const char* key,
      gpointer object,
      const char* property,
      GSettingsBindFlags flags,
      GSettingsBindGetMapping get_mapping,
      GSettingsBindSetMapping set_mapping,
      gpointer user_data,
      GDestroyNotify destroy
    )

#### Description [src]

Like `panel_settings_bind()` but allows transforming to and from settings storage using `get_mapping` and `set_mapping` transformation functions.

Call `panel_settings_unbind()` to unbind the mapping.

#### Parameters

`key`

  Type: `const char*`

  The settings key.

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

`object`

  Type: `gpointer`

  The object to bind to.

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

`property`

  Type: `const char*`

  The property of `object` to bind to.

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

`flags`

  Type: `GSettingsBindFlags`

  Flags for the binding.

`get_mapping`

  Type: `GSettingsBindGetMapping`

  Variant to value mapping.

  The argument can be `NULL`.

`set_mapping`

  Type: `GSettingsBindSetMapping`

  Value to variant mapping.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  User data for `get_mapping` and `set_mapping`.

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

`destroy`

  Type: `GDestroyNotify`

  Destroy function to cleanup `user_data`.