gtksource.space_drawer

Module for SpaceDrawer class

Types 3

Represent white space characters with symbols.

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

Call gtksource.view.View.getSpaceDrawer to get the gtksource.space_drawer.SpaceDrawer instance of a certain gtksource.view.View.

By default, no white spaces are drawn because the gtksource.space_drawer.SpaceDrawer.enableMatrix is false.

To draw white spaces, gtksource.space_drawer.SpaceDrawer.setTypesForLocations can be called to set the gtksource.space_drawer.SpaceDrawer.matrix property (by default all space types are enabled at all locations). Then call gtksource.space_drawer.SpaceDrawer.setEnableMatrix.

For a finer-grained method, there is also the gtksource.tag.Tag's gtksource.tag.Tag.drawSpaces property.

Example

To draw non-breaking spaces everywhere and draw all types of trailing spaces except newlines:

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.

Methods
GType _gType() @property
SpaceDrawer self()Returns `this`, for use in `with` statements.
SpaceDrawerGidBuilder builder()Get builder for [gtksource.space_drawer.SpaceDrawer] Returns: New builder object
bool enableMatrix() @propertyGet `enableMatrix` property. Returns: Whether the [gtksource.space_drawer.SpaceDrawer.matrix] property is enabled.
void enableMatrix(bool propval) @propertySet `enableMatrix` property. Params: propval = Whether the [gtksource.space_drawer.SpaceDrawer.matrix] property is enabled.
glib.variant.Variant matrix() @propertyGet `matrix` property. Returns: The property is a [glib.variant.Variant] property to specify where and what kind of white spaces to draw.
void matrix(glib.variant.Variant propval) @propertySet `matrix` property. Params: propval = The property is a [glib.variant.Variant] property to specify where and what kind of white spaces to draw.
void bindMatrixSetting(gio.settings.Settings settings, string key, gio.types.SettingsBindFlags flags)Binds the [gtksource.space_drawer.SpaceDrawer.matrix] property to a [gio.settings.Settings] key.
glib.variant.Variant getMatrix()Gets the value of the [gtksource.space_drawer.SpaceDrawer.matrix] property, as a [glib.variant.Variant].
gtksource.types.SpaceTypeFlags getTypesForLocations(gtksource.types.SpaceLocationFlags locations)If only one location is specified, this function returns what kind of white spaces are drawn at that location.
void setEnableMatrix(bool enableMatrix)Sets whether the [gtksource.space_drawer.SpaceDrawer.matrix] property is enabled.
void setMatrix(glib.variant.Variant matrix = null)Sets a new value to the [gtksource.space_drawer.SpaceDrawer.matrix] property, as a [glib.variant.Variant].
void setTypesForLocations(gtksource.types.SpaceLocationFlags locations, gtksource.types.SpaceTypeFlags types)Modifies the [gtksource.space_drawer.SpaceDrawer.matrix] property at the specified locations.
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new #GtkSourceSpaceDrawer object.

Fluent builder implementation template for gtksource.space_drawer.SpaceDrawer

Methods
T enableMatrix(bool propval)Set `enableMatrix` property. Params: propval = Whether the [gtksource.space_drawer.SpaceDrawer.matrix] property is enabled. Returns: Builder instance for fluent chaining
T matrix(glib.variant.Variant propval)Set `matrix` property. Params: propval = The property is a [glib.variant.Variant] property to specify where and what kind of white spaces to draw.
Methods
SpaceDrawer build()Create object from builder. Returns: New object