### Interface

# GtkSource HoverProvider

#### Description [src]

    interface GtkSource.HoverProvider : GObject.Object

Interface to populate interactive tooltips.

`GtkSourceHoverProvider` is an interface that should be implemented to extend the contents of a `GtkSourceHoverDisplay`. This is typical in editors that interact external tooling such as those utilizing Language Server Protocol.

If you can populate the `GtkSourceHoverDisplay` synchronously, use `GtkSource.HoverProviderInterface.populate`. Otherwise, interface implementations that may take additional time should use `GtkSource.HoverProviderInterface.populate_async` to avoid blocking the main loop.

#### Prerequisite

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

#### Instance methods

###### gtk_source_hover_provider_populate_async

No description available.

###### gtk_source_hover_provider_populate_finish

No description available.

#### Interface structure

    struct GtkSourceHoverProviderInterface {
      GTypeInterface parent_iface;
      gboolean (* populate) (
        GtkSourceHoverProvider* self,
        GtkSourceHoverContext* context,
        GtkSourceHoverDisplay* display,
        GError** error
      );
      void (* populate_async) (
        GtkSourceHoverProvider* self,
        GtkSourceHoverContext* context,
        GtkSourceHoverDisplay* display,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      gboolean (* populate_finish) (
        GtkSourceHoverProvider* self,
        GAsyncResult* result,
        GError** error
      );

    }

No description available.

###### Interface members

`parent_iface` |
    GTypeInterface
| No description available.
`populate` |
    gboolean (* populate) (
        GtkSourceHoverProvider* self,
        GtkSourceHoverContext* context,
        GtkSourceHoverDisplay* display,
        GError** error
      )
| No description available.
`populate_async` |
    void (* populate_async) (
        GtkSourceHoverProvider* self,
        GtkSourceHoverContext* context,
        GtkSourceHoverDisplay* display,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`populate_finish` |
    gboolean (* populate_finish) (
        GtkSourceHoverProvider* self,
        GAsyncResult* result,
        GError** error
      )
| No description available.

#### Virtual methods

###### GtkSource.HoverProvider.populate

No description available.

###### GtkSource.HoverProvider.populate_async

No description available.

###### GtkSource.HoverProvider.populate_finish

No description available.