### Interface

# Ide BufferAddin

#### Description

    interface Ide.BufferAddin : GObject.Object

No description available.

#### Prerequisite

In order to implement BufferAddin, your type must inherit from `GObject`.

#### Instance methods

###### ide_buffer_addin_change_settled

This function is called when the buffer has settled after a number of changes provided by the user. It is a convenient way to know when you should perform more background work without having to coalesce work yourself.

Available since: 3.32

###### ide_buffer_addin_file_loaded

This function is called for an addin after a file has been loaded from disk.

Available since: 3.32

###### ide_buffer_addin_file_saved

This function is called for an addin after a file has been saved to disk.

Available since: 3.32

###### ide_buffer_addin_language_set

This vfunc is called when the source language in the buffer changes. This will only be delivered to addins that support multiple languages.

Available since: 3.32

###### ide_buffer_addin_load

This calls the load virtual function of `IdeBufferAddin` to request that the addin load itself.

Available since: 3.32

###### ide_buffer_addin_save_file

This function gives a chance for plugins to modify the buffer right before writing to disk.

Available since: 3.32

###### ide_buffer_addin_settle_async

No description available.

###### ide_buffer_addin_settle_finish

No description available.

###### ide_buffer_addin_style_scheme_changed

This function is called when the `GtkSourceStyleScheme` of the `IdeBuffer` has changed.

Available since: 3.32

###### ide_buffer_addin_unload

This calls the unload virtual function of `IdeBufferAddin` to request that the addin unload itself.

Available since: 3.32

#### Interface structure

    struct IdeBufferAddinInterface {
      GTypeInterface parent_iface;
      void (* load) (
        IdeBufferAddin* self,
        IdeBuffer* buffer
      );
      void (* unload) (
        IdeBufferAddin* self,
        IdeBuffer* buffer
      );
      void (* file_loaded) (
        IdeBufferAddin* self,
        IdeBuffer* buffer,
        GFile* file
      );
      void (* save_file) (
        IdeBufferAddin* self,
        IdeBuffer* buffer,
        GFile* file
      );
      void (* file_saved) (
        IdeBufferAddin* self,
        IdeBuffer* buffer,
        GFile* file
      );
      void (* language_set) (
        IdeBufferAddin* self,
        IdeBuffer* buffer,
        const gchar* language_id
      );
      void (* change_settled) (
        IdeBufferAddin* self,
        IdeBuffer* buffer
      );
      void (* style_scheme_changed) (
        IdeBufferAddin* self,
        IdeBuffer* buffer
      );
      void (* settle_async) (
        IdeBufferAddin* self,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      gboolean (* settle_finish) (
        IdeBufferAddin* self,
        GAsyncResult* result,
        GError** error
      );

    }

###### Interface members

`parent_iface` |
    GTypeInterface
| No description available.
`load` |
    void (* load) (
        IdeBufferAddin* self,
        IdeBuffer* buffer
      )
| No description available.
`unload` |
    void (* unload) (
        IdeBufferAddin* self,
        IdeBuffer* buffer
      )
| No description available.
`file_loaded` |
    void (* file_loaded) (
        IdeBufferAddin* self,
        IdeBuffer* buffer,
        GFile* file
      )
| No description available.
`save_file` |
    void (* save_file) (
        IdeBufferAddin* self,
        IdeBuffer* buffer,
        GFile* file
      )
| No description available.
`file_saved` |
    void (* file_saved) (
        IdeBufferAddin* self,
        IdeBuffer* buffer,
        GFile* file
      )
| No description available.
`language_set` |
    void (* language_set) (
        IdeBufferAddin* self,
        IdeBuffer* buffer,
        const gchar* language_id
      )
| No description available.
`change_settled` |
    void (* change_settled) (
        IdeBufferAddin* self,
        IdeBuffer* buffer
      )
| No description available.
`style_scheme_changed` |
    void (* style_scheme_changed) (
        IdeBufferAddin* self,
        IdeBuffer* buffer
      )
| No description available.
`settle_async` |
    void (* settle_async) (
        IdeBufferAddin* self,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`settle_finish` |
    gboolean (* settle_finish) (
        IdeBufferAddin* self,
        GAsyncResult* result,
        GError** error
      )
| No description available.

#### Virtual methods

###### Ide.BufferAddin.change_settled

This function is called when the buffer has settled after a number of changes provided by the user. It is a convenient way to know when you should perform more background work without having to coalesce work yourself.

###### Ide.BufferAddin.file_loaded

This function is called for an addin after a file has been loaded from disk.

###### Ide.BufferAddin.file_saved

This function is called for an addin after a file has been saved to disk.

###### Ide.BufferAddin.language_set

This vfunc is called when the source language in the buffer changes. This will only be delivered to addins that support multiple languages.

###### Ide.BufferAddin.load

This calls the load virtual function of `IdeBufferAddin` to request that the addin load itself.

###### Ide.BufferAddin.save_file

This function gives a chance for plugins to modify the buffer right before writing to disk.

###### Ide.BufferAddin.settle_async

No description available.

###### Ide.BufferAddin.settle_finish

No description available.

###### Ide.BufferAddin.style_scheme_changed

This function is called when the `GtkSourceStyleScheme` of the `IdeBuffer` has changed.

###### Ide.BufferAddin.unload

This calls the unload virtual function of `IdeBufferAddin` to request that the addin unload itself.