GtkSourceView 3.24 is the latest stable GtkSourceView 3 version. Before continuing this porting guide, you should use the 3.24 version without using any deprecated API.
For GtkSourceView 4, the pkg-config name is:
gtksourceview-4
To compile a program that uses GtkSourceView 4, you can for example use the following command:
$ gcc hello.c `pkg-config --cflags --libs gtksourceview-4` -o hello
All the deprecated APIs have been removed.
Only <gtksourceview/gtksource.h>
can be included
directly. There were already warnings about it in GtkSourceView 3. The
warnings have been changed to errors.
Only the version 2 of the GtkSourceView language definition file format is supported (for *.lang files, used for syntax highlighting). The support for the version 1 has been dropped.
gtk_source_completion_item_new2()
has been renamed to
gtk_source_completion_item_new().
gtk_source_search_context_forward2()
has been renamed to
gtk_source_search_context_forward().
gtk_source_search_context_forward_finish2()
has been renamed to
gtk_source_search_context_forward_finish().
gtk_source_search_context_backward2()
has been renamed to
gtk_source_search_context_backward().
gtk_source_search_context_backward_finish2()
has been renamed to
gtk_source_search_context_backward_finish().
gtk_source_search_context_replace2()
has been renamed to
gtk_source_search_context_replace().
The GtkSourceSearchContext:settings property is now construct-only.
The API of the
GtkSourceView::move-lines
keybinding signal has been simplified: the copy
parameter
was deprecated and has been removed; and the count
parameter has been replaced by the down
boolean.
In order to have a better *.gir file and have less metadata to generate the *.vapi for Vala, the following change has been made:
gtk_source_completion_show()
has been renamed to
gtk_source_completion_start().
The function conflicted with the
GtkSourceCompletion::show signal.
Note that in Vala this doesn't require code changes because the method
was already renamed to start()
in GtkSourceView 3.
Other changes in 3.99.7:
For i18n initialization, the gtk_source_init() function now needs to be called. There is also the gtk_source_finalize() function which is convenient when using memory debugging tools.