Ich möchte etwas Text in einem GtkSourceView in rot markieren und ein Symbol anzeigen. Hier mein aktueller Versuch, der scheinbar gar nichts zu tun scheint:GtkSourceView/GtkSourceBuffer - Wie man eine Linie in rot markiert und ein Symbol zeigt
void plainTextEditor_textView_addLineMarker(int lineNumber, linemarker* marker, context_base* context)
{
GtkWidget* plainTextEditor_textView = get_plainTextEditor_textView_from_notebook(context->notebook);
GtkTextIter iter;
GtkTextBuffer * buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(plainTextEditor_textView));
gtk_text_buffer_get_iter_at_line(buffer, &iter, lineNumber);
printf("extendedEditor_linebox_markError %i\n", lineNumber);
gtk_source_buffer_create_source_mark(GTK_SOURCE_BUFFER(buffer), marker->message, "dialog-error", &iter);
}
Das printf druckt die richtige Linenumber.
Wenn ich die Methode zweimal aufrufen, druckt gtk einige gtk-kritisch: "Mark myMark existiert bereits im Puffer".
Allerdings gibt es keine sichtbare Änderung auf der gtksourceview.
Wahrscheinlich sollte ich etwas mit gtk_source_mark_attributes
tun, um Eigenschaften für eine bestimmte Kategorie zu ändern? Aber wie ? Ich kann keine guten Informationen darüber finden, wie man es benutzt.