### Method

# Ide Settings bind_with_mapping

#### Declaration

    void
    ide_settings_bind_with_mapping (
      IdeSettings* self,
      const gchar* key,
      gpointer object,
      const gchar* property,
      GSettingsBindFlags flags,
      GSettingsBindGetMapping get_mapping,
      GSettingsBindSetMapping set_mapping,
      gpointer user_data,
      GDestroyNotify destroy
    )

#### Description

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

Call `ide_settings_unbind()` to unbind the mapping.

Available since: | 3.32

#### Parameters

`key` | `const gchar*`
| The settings key.
| The data is owned by the caller of the function.
| The value is a NUL terminated UTF-8 string.
`object` | `gpointer`
| The object to bind to.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`property` | `const gchar*`
| The property of `object` to bind to.
| The data is owned by the caller of the function.
| The value is a NUL terminated UTF-8 string.
`flags` | `GSettingsBindFlags`
| Flags for the binding.
`get_mapping` | `GSettingsBindGetMapping`
| Variant to value mapping.
| The argument can be `NULL`.
`set_mapping` | `GSettingsBindSetMapping`
| Value to variant mapping.
| The argument can be `NULL`.
`user_data` | `gpointer`
| User data for `get_mapping` and `set_mapping`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`destroy` | `GDestroyNotify`
| Destroy function to cleanup `user_data`.