View
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:
<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.
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.
Skipped during bindings generation
parameter
priority
: Unsupported pointer to primitive typesignal
push-snippet
: Unsupported parameterlocation
: location: In/Out parameter is not supported
Inheritors
Constructors
Properties
Draw a specific background pattern on the view.
The completion object associated with the view
The property denotes if snippets should be expanded when the user presses Tab after having typed a word matching the snippets found in class@SnippetManager.
Width of an indentation step expressed in number of spaces.
Position of the right margin.
Whether to display line mark pixbufs
Whether to display line numbers
Whether to display the right margin.
Whether smart Backspace should be used.
Set the behavior of the HOME and END keys.
The class@SpaceDrawer object associated with the view.4
Functions
Emits the "change-case" signal. See onChangeCase.
Emits the "change-number" signal. See onChangeNumber.
Emits the "join-lines" signal. See onJoinLines.
Emits the "line-mark-activated" signal. See onLineMarkActivated.
Emits the "move-lines" signal. See onMoveLines.
Emits the "move-to-matching-bracket" signal. See onMoveToMatchingBracket.
Emits the "move-words" signal. See onMoveWords.
Emits the "show-completion" signal. See onShowCompletion.
Emits the "smart-home-end" signal. See onSmartHomeEnd.
Returns the class@Gutter object associated with @window_type for @view.
Determines the visual column at @iter taking into consideration the property@View:tab-width of @view.
Inserts one indentation level at the beginning of the specified lines. The empty lines are not indented.
Keybinding signal to change case of the text at the current cursor position.
Keybinding signal to edit a number at the current cursor position.
Keybinding signal to join the lines currently selected.
Emitted when a line mark has been activated (for instance when there was a button press in the line marks gutter).
The signal is a keybinding which gets emitted when the user initiates moving a line.
Keybinding signal to move the cursor to the matching bracket.
The signal is a keybinding which gets emitted when the user initiates moving a word.
The signal is a key binding signal which gets emitted when the user requests a completion, by pressing
Emitted when a the cursor was moved according to the smart home end setting.
Inserts a new snippet at @location
Sets attributes and priority for the @category.
Removes one indentation level at the beginning of the specified lines.