:right-sidebar: True AnnotationProvider =================================================================== .. currentmodule:: gi.repository.GtkSource .. versionadded:: 5.18 .. class:: AnnotationProvider(**properties: ~typing.Any) :no-contents-entry: Superclasses: :class:`~gi.repository.GObject.Object` It is used to provide annotations and display them on :obj:`~gi.repository.GtkSource.View` and also populate :obj:`~gi.repository.GtkSource.HoverDisplay` when the user hovers over an annotation. You can subclass this object and implement :obj:`~gi.repository.AnnotationProvider.populate_hover_async` and :obj:`~gi.repository.AnnotationProvider.populate_hover_finish` or connect to :obj:`~gi.repository.GtkSource.AnnotationProvider.signals.populate` and call :obj:`~gi.repository.AnnotationProvider.populate` or do it asynchronously. Constructors ------------ .. rst-class:: interim-class .. class:: AnnotationProvider :no-index: .. classmethod:: new() -> ~gi.repository.GtkSource.AnnotationProvider Used to create a new annotation provider. .. versionadded:: 5.18 Methods ------- .. rst-class:: interim-class .. class:: AnnotationProvider :no-index: .. method:: add_annotation(annotation: ~gi.repository.GtkSource.Annotation) -> None Add an annotation to the provider. .. versionadded:: 5.18 :param annotation: .. method:: do_populate_hover_async(self, annotation: ~gi.repository.GtkSource.Annotation, display: ~gi.repository.GtkSource.HoverDisplay, cancellable: ~gi.repository.Gio.Cancellable | None = None, callback: ~collections.abc.Callable[[~gi.repository.GObject.Object | None, ~gi.repository.Gio.AsyncResult, ~typing.Any], None] | None = None, user_data: ~typing.Any = None) -> None :param annotation: :param display: :param cancellable: :param callback: :param user_data: .. method:: do_populate_hover_finish(self, result: ~gi.repository.Gio.AsyncResult) -> bool :param result: .. method:: populate_hover_async(self, annotation: ~gi.repository.GtkSource.Annotation, display: ~gi.repository.GtkSource.HoverDisplay) -> bool :async: This is the `awaitable `_ version of :meth:`populate_hover_async`. .. versionadded:: 5.18 :param annotation: a :obj:`~gi.repository.GtkSource.Annotation` :param display: a :obj:`~gi.repository.GtkSource.HoverDisplay` to populate .. method:: populate_hover_async(annotation: ~gi.repository.GtkSource.Annotation, display: ~gi.repository.GtkSource.HoverDisplay, cancellable: ~gi.repository.Gio.Cancellable | None = None, callback: ~collections.abc.Callable[[~gi.repository.GObject.Object | None, ~gi.repository.Gio.AsyncResult, ~typing.Any], None] | None = None, user_data: ~typing.Any = None) -> None Used to populate the :obj:`~gi.repository.GtkSource.HoverDisplay` asynchronously, use :obj:`~gi.repository.AnnotationProvider.populate_hover` to do it synchronously. .. versionadded:: 5.18 :param annotation: a :obj:`~gi.repository.GtkSource.Annotation` :param display: a :obj:`~gi.repository.GtkSource.HoverDisplay` to populate :param cancellable: :param callback: :param user_data: .. method:: populate_hover_finish(result: ~gi.repository.Gio.AsyncResult) -> bool Finishes populating the :obj:`~gi.repository.GtkSource.HoverDisplay` asynchronously. .. versionadded:: 5.18 :param result: .. method:: remove_all() -> None Removes all annotations from the provider. .. versionadded:: 5.18 .. method:: remove_annotation(annotation: ~gi.repository.GtkSource.Annotation) -> bool Remove an annotation from the provider. .. versionadded:: 5.18 :param annotation: Signals ------- .. rst-class:: interim-class .. class:: AnnotationProvider.signals :no-index: .. method:: changed() -> None The type of the None singleton. .. versionadded:: 5.18 Virtual Methods --------------- .. rst-class:: interim-class .. class:: AnnotationProvider :no-index: .. method:: do_populate_hover_async(annotation: ~gi.repository.GtkSource.Annotation, display: ~gi.repository.GtkSource.HoverDisplay, cancellable: ~gi.repository.Gio.Cancellable | None = None, callback: ~collections.abc.Callable[[~gi.repository.GObject.Object | None, ~gi.repository.Gio.AsyncResult, ~typing.Any], None] | None = None, user_data: ~typing.Any = None) -> None Used to populate the :obj:`~gi.repository.GtkSource.HoverDisplay` asynchronously, use :obj:`~gi.repository.AnnotationProvider.populate_hover` to do it synchronously. .. versionadded:: 5.18 :param annotation: a :obj:`~gi.repository.GtkSource.Annotation` :param display: a :obj:`~gi.repository.GtkSource.HoverDisplay` to populate :param cancellable: :param callback: :param user_data: .. method:: do_populate_hover_finish(result: ~gi.repository.Gio.AsyncResult) -> bool Finishes populating the :obj:`~gi.repository.GtkSource.HoverDisplay` asynchronously. .. versionadded:: 5.18 :param result: Fields ------ .. rst-class:: interim-class .. class:: AnnotationProvider :no-index: .. attribute:: parent_instance