View
Object Hierarchy:
Description:
public class View : TextView, Accessible, Buildable, ConstraintTarget, Scrollable
Subclass of [class@Gtk.
TextView].
`GtkSourceView` is the main class of the GtkSourceView library. Use a [class@Buffer] to display text with a `GtkSourceView`.
This class provides:
- Show the line numbers;
- Show a right margin;
- Highlight the current line;
- Indentation settings;
- Configuration for the Home and End keyboard keys;
- Configure and show line marks;
- And a few other things.
An easy way to test all these features is to use the test-widget mini-program provided in the GtkSourceView repository, in the tests/ directory.
GtkSourceView as GtkBuildable
The GtkSourceView implementation of the [iface@Gtk.Buildable] interface exposes the [property@View:completion] object with the internal-child "completion".
An example of a UI definition fragment with GtkSourceView: ```xml <object class="GtkSourceView" id="source_view"> <property name="tab-width">4</property> <property name="auto-indent">True</property> <child internal-child="completion"> <object class="GtkSourceCompletion"> <property name="select-on-show">False</property> </object> </child> < /object> ```
Changing the Font
Gtk CSS provides the best way to change the font for a `GtkSourceView` in a manner that allows for components like [class@Map] to scale the desired font.
```c GtkCssProvider *provider = gtk_css_provider_new (); gtk_css_provider_load_from_data (provider, "textview { font-family: Monospace; font-size: 8pt; }", -1, NULL); gtk_style_context_add_provider (gtk_widget_get_style_context (view), GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); g_object_unref (provider); ```
If you need to adjust the font or size of font within a portion of the document only, you should use a [class@Gtk.TextTag] with the [ property@Gtk.TextTag:family] or [property@Gtk.TextTag:scale] set so that the font size may be scaled relative to the default font set in CSS.