static void disable_bookmarks (PlumaView *view) { GtkTextIter start; GtkTextIter end; GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); gpointer data; gtk_source_view_set_show_line_marks (GTK_SOURCE_VIEW (view), FALSE); gtk_text_buffer_get_bounds (buffer, &start, &end); gtk_source_buffer_remove_source_marks (GTK_SOURCE_BUFFER (buffer), &start, &end, BOOKMARK_CATEGORY); g_signal_handlers_disconnect_by_func (buffer, on_style_scheme_notify, view); g_signal_handlers_disconnect_by_func (buffer, on_delete_range, NULL); data = g_object_get_data (G_OBJECT (buffer), INSERT_DATA_KEY); g_signal_handlers_disconnect_by_func (buffer, on_insert_text_before, data); g_signal_handlers_disconnect_by_func (buffer, on_begin_user_action, data); g_signal_handlers_disconnect_by_func (buffer, on_end_user_action, data); g_object_set_data (G_OBJECT (buffer), INSERT_DATA_KEY, NULL); }
static void enable_bookmarks (GeditView *view, GeditPlugin *plugin) { GdkPixbuf *pixbuf; pixbuf = get_bookmark_pixbuf (plugin); /* Make sure the category pixbuf is set */ if (pixbuf) { InsertData *data; GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); update_background_color (view); gtk_source_view_set_mark_category_icon_from_pixbuf (GTK_SOURCE_VIEW (view), BOOKMARK_CATEGORY, pixbuf); g_object_unref (pixbuf); gtk_source_view_set_show_line_marks (GTK_SOURCE_VIEW (view), TRUE); g_signal_connect (buffer, "notify::style-scheme", G_CALLBACK (on_style_scheme_notify), view); g_signal_connect_after (buffer, "delete-range", G_CALLBACK (on_delete_range), NULL); data = g_slice_new0 (InsertData); g_object_set_data_full (G_OBJECT (buffer), INSERT_DATA_KEY, data, (GDestroyNotify) free_insert_data); g_signal_connect (buffer, "insert-text", G_CALLBACK (on_insert_text_before), data); g_signal_connect (buffer, "begin-user-action", G_CALLBACK (on_begin_user_action), data); g_signal_connect (buffer, "end-user-action", G_CALLBACK (on_end_user_action), data); } else { g_warning ("Could not set bookmark icon!"); } }
void gui_editor_show (GUIEditor * self) { gtk_widget_show (GTK_WIDGET (self->widget)); gtk_widget_show (GTK_WIDGET (self->scroll)); gtk_source_view_set_show_line_numbers (GTK_SOURCE_VIEW(self->widget), TRUE); self->language = gtk_source_language_manager_get_language(self->lang_manager,"8085_asm"); if (self->language != NULL){ gtk_source_buffer_set_language (self->buffer, self->language); gtk_source_buffer_set_style_scheme (self->buffer, gtk_source_style_scheme_manager_get_scheme(self->style_scheme_manager,"classic")); gtk_source_buffer_set_highlight_syntax (self->buffer, TRUE); } self->mark = gtk_text_buffer_get_insert (GTK_TEXT_BUFFER(self->buffer)); gtk_source_view_set_show_line_marks (GTK_SOURCE_VIEW(self->widget), TRUE); }
SourceView::SourceView(): Gtk::ScrolledWindow(), source_view(GTK_SOURCE_VIEW(gtk_source_view_new())) { add(*Glib::wrap(GTK_WIDGET(source_view))); completion = gtk_source_view_get_completion(source_view); completion_words = gtk_source_completion_words_new("Suggestions", nullptr); gtk_source_completion_words_register(completion_words, gtk_text_view_get_buffer(GTK_TEXT_VIEW(source_view))); gtk_source_completion_add_provider(completion, GTK_SOURCE_COMPLETION_PROVIDER(completion_words), nullptr); gtk_source_buffer_set_highlight_matching_brackets(GetSourceBuffer(), TRUE); gtk_source_view_set_show_line_marks(source_view, TRUE); ShowLineNumbers(true); show_all(); }