Я пытаюсь загрузить файл .c в виджет GtkSourceView
.
Использование языка C, с Gtk + 2.22.1 и Glade 3.6.7 и GtkSourceView 2.10.1.
Я заметил, что в пользовательском интерфейсе Glade я могу настроить только SourceView
на TextBuffer
; Я не нашел SourceBuffer
компонент. Итак, я создал SourceView
в Glade без буфера по умолчанию. Теперь я хочу установить SourceBuffer
в качестве буфера моего SourceView
компонента.
gtk_source_view_new_with_buffer()
- единственный способ найти SourceBuffer
для SourceView
. Проблема в том, что эта функция создает SourceView
, и я хочу прикрепить SourceBuffer
к уже созданному SourceView
, созданному с помощью Glade. Как я могу это сделать?
Я не вставлял код, потому что нет кода для показа. Я только что создал файл Glade с некоторым компонентом пользовательского интерфейса плюс компонент SourceView-2
с идентификатором gtk_sourceview
.
В файле C я получаю компонент SourceView с
GtkSourceView *sourceview = GTK_WIDGET (gtk_builder_get_object (builder, "gtk_sourceview"));
Чего не хватает, так это как создать SourceBuffer
и прикрепить его к SourceView
компоненту.
Спасибо!
Обновление: Я пытался использовать:
GtkSourceBuffer *sourcebuffer = GTK_SOURCE_BUFFER(gtk_text_view_get_buffer(GTK_TEXT_VIEW(sourceview)));
Но я получил следующую ошибку подтверждения:
(tour_de_gtk:13884): Gtk-CRITICAL **: IA__gtk_text_view_get_buffer: assertion `GTK_IS_TEXT_VIEW (text_view)' failed
Что я могу сделать, чтобы решить эту проблему?
Спасибо!