SpaceDrawer


Object Hierarchy:

GtkSource.SpaceDrawer GtkSource.SpaceDrawer GtkSource.SpaceDrawer GLib.Object GLib.Object GLib.Object->GtkSource.SpaceDrawer

Description:

[ CCode ( type_id = "gtk_source_space_drawer_get_type ()" ) ]
public sealed class SpaceDrawer : Object

Represent white space characters with symbols.

SpaceDrawer provides a way to visualize white spaces, by drawing symbols.

Call [method@View.get_space_drawer] to get the `GtkSourceSpaceDrawer` instance of a certain [class@View].

By default, no white spaces are drawn because the [property@SpaceDrawer:enable-matrix] is false.

To draw white spaces, [method@SpaceDrawer.set_types_for_locations] can be called to set the [property@SpaceDrawer:matrix] property (by default all space types are enabled at all locations). Then call [method@SpaceDrawer.set_enable_matrix].

For a finer-grained method, there is also the [class@Tag]'s [property@Tag:draw-spaces] property.

Example

To draw non-breaking spaces everywhere and draw all types of trailing spaces except newlines: ```c gtk_source_space_drawer_set_types_for_locations (space_drawer, GTK_SOURCE_SPACE_LOCATION_ALL, GTK_SOURCE_SPACE_TYPE_NBSP);

gtk_source_space_drawer_set_types_for_locations (space_drawer, GTK_SOURCE_SPACE_LOCATION_TRAILING, GTK_SOURCE_SPACE_TYPE_ALL & ~GTK_SOURCE_SPACE_TYPE_NEWLINE);

gtk_source_space_drawer_set_enable_matrix (space_drawer, TRUE); ```

Use-case: draw unwanted white spaces

A possible use-case is to draw only unwanted white spaces. Examples:

  • Draw all trailing spaces.
  • If the indentation and alignment must be done with spaces, draw tabs.

And non-breaking spaces can always be drawn, everywhere, to distinguish them from normal spaces.


Namespace: GtkSource
Package: gtksourceview-5

Content:

Properties:

Creation methods:

Methods:

Inherited Members: