static void ide_source_view_movements_scroll_center (Movement *mv) { GtkTextView *text_view = (GtkTextView *)mv->self; GtkTextMark *insert; GtkTextBuffer *buffer; buffer = gtk_text_view_get_buffer (text_view); insert = gtk_text_buffer_get_insert (buffer); switch ((int)mv->type) { case IDE_SOURCE_VIEW_MOVEMENT_SCROLL_SCREEN_BOTTOM: ide_source_view_scroll_to_mark (mv->self, insert, 0.0, TRUE, 1.0, 1.0, TRUE); break; case IDE_SOURCE_VIEW_MOVEMENT_SCROLL_SCREEN_TOP: ide_source_view_scroll_to_mark (mv->self, insert, 0.0, TRUE, 1.0, 0.0, TRUE); break; case IDE_SOURCE_VIEW_MOVEMENT_SCROLL_SCREEN_CENTER: ide_source_view_scroll_to_mark (mv->self, insert, 0.0, TRUE, 1.0, 0.5, TRUE); break; default: break; } }
static void gbp_spell_navigator_select_misspelled_word (GbpSpellNavigator *self) { GtkTextTag *tag; GtkTextIter begin; GtkTextIter end; g_assert (GBP_IS_SPELL_NAVIGATOR (self)); if (self->view == NULL) return; if (self->buffer != NULL && NULL != (tag = get_misspelled_tag (self))) { gtk_text_buffer_get_iter_at_mark (self->buffer, &begin, self->start_boundary); gtk_text_buffer_get_iter_at_mark (self->buffer, &end, self->end_boundary); gtk_text_buffer_remove_tag (self->buffer, tag, &begin, &end); gtk_text_buffer_get_iter_at_mark (self->buffer, &begin, self->word_start); gtk_text_buffer_get_iter_at_mark (self->buffer, &end, self->word_end); gtk_text_buffer_apply_tag (self->buffer, tag, &begin, &end); gtk_widget_queue_draw (GTK_WIDGET (self->view)); ide_source_view_scroll_to_mark (IDE_SOURCE_VIEW (self->view), self->word_start, 0.25, TRUE, 1.0, 0.0, TRUE); } }