switch (boundary_type)
{ case ATSPI_TEXT_BOUNDARY_CHAR:
gtk_text_iter_backward_char (&start); break;
case ATSPI_TEXT_BOUNDARY_WORD_START: if (!gtk_text_iter_starts_word (&start))
gtk_text_iter_backward_word_start (&start);
end = start;
gtk_text_iter_backward_word_start (&start); break;
case ATSPI_TEXT_BOUNDARY_WORD_END: if (gtk_text_iter_inside_word (&start) &&
!gtk_text_iter_starts_word (&start))
gtk_text_iter_backward_word_start (&start); while (!gtk_text_iter_ends_word (&start))
{ if (!gtk_text_iter_backward_char (&start)) break;
}
end = start;
gtk_text_iter_backward_word_start (&start); while (!gtk_text_iter_ends_word (&start))
{ if (!gtk_text_iter_backward_char (&start)) break;
} break;
case ATSPI_TEXT_BOUNDARY_SENTENCE_START: if (!gtk_text_iter_starts_sentence (&start))
gtk_text_iter_backward_sentence_start (&start);
end = start;
gtk_text_iter_backward_sentence_start (&start); break;
case ATSPI_TEXT_BOUNDARY_SENTENCE_END: if (gtk_text_iter_inside_sentence (&start) &&
!gtk_text_iter_starts_sentence (&start))
gtk_text_iter_backward_sentence_start (&start); while (!gtk_text_iter_ends_sentence (&start))
{ if (!gtk_text_iter_backward_char (&start)) break;
}
end = start;
gtk_text_iter_backward_sentence_start (&start); while (!gtk_text_iter_ends_sentence (&start))
{ if (!gtk_text_iter_backward_char (&start)) break;
} break;
case ATSPI_TEXT_BOUNDARY_LINE_START:
gtk_text_view_backward_display_line_start (view, &start);
end = start;
gtk_text_view_backward_display_line (view, &start);
gtk_text_view_backward_display_line_start (view, &start); break;
case ATSPI_TEXT_BOUNDARY_LINE_END:
gtk_text_view_backward_display_line_start (view, &start); if (!gtk_text_iter_is_start (&start))
{
gtk_text_view_backward_display_line (view, &start);
end = start;
gtk_text_view_forward_display_line_end (view, &end); if (!gtk_text_iter_is_start (&start))
{ if (gtk_text_view_backward_display_line (view, &start))
gtk_text_view_forward_display_line_end (view, &start); else
gtk_text_iter_set_offset (&start, 0);
}
} else
end = start; break;
switch (boundary_type)
{ case ATSPI_TEXT_BOUNDARY_CHAR:
gtk_text_iter_forward_char (&end); break;
case ATSPI_TEXT_BOUNDARY_WORD_START: if (!gtk_text_iter_starts_word (&start))
gtk_text_iter_backward_word_start (&start); if (gtk_text_iter_inside_word (&end))
gtk_text_iter_forward_word_end (&end); while (!gtk_text_iter_starts_word (&end))
{ if (!gtk_text_iter_forward_char (&end)) break;
} break;
case ATSPI_TEXT_BOUNDARY_WORD_END: if (gtk_text_iter_inside_word (&start) &&
!gtk_text_iter_starts_word (&start))
gtk_text_iter_backward_word_start (&start); while (!gtk_text_iter_ends_word (&start))
{ if (!gtk_text_iter_backward_char (&start)) break;
}
gtk_text_iter_forward_word_end (&end); break;
case ATSPI_TEXT_BOUNDARY_SENTENCE_START: if (!gtk_text_iter_starts_sentence (&start))
gtk_text_iter_backward_sentence_start (&start); if (gtk_text_iter_inside_sentence (&end))
gtk_text_iter_forward_sentence_end (&end); while (!gtk_text_iter_starts_sentence (&end))
{ if (!gtk_text_iter_forward_char (&end)) break;
} break;
case ATSPI_TEXT_BOUNDARY_SENTENCE_END: if (gtk_text_iter_inside_sentence (&start) &&
!gtk_text_iter_starts_sentence (&start))
gtk_text_iter_backward_sentence_start (&start); while (!gtk_text_iter_ends_sentence (&start))
{ if (!gtk_text_iter_backward_char (&start)) break;
}
gtk_text_iter_forward_sentence_end (&end); break;
case ATSPI_TEXT_BOUNDARY_LINE_START:
gtk_text_view_backward_display_line_start (view, &start);
gtk_text_view_forward_display_line (view, &end); break;
case ATSPI_TEXT_BOUNDARY_LINE_END:
gtk_text_view_backward_display_line_start (view, &start); if (!gtk_text_iter_is_start (&start))
{
gtk_text_view_backward_display_line (view, &start);
gtk_text_view_forward_display_line_end (view, &start);
}
gtk_text_view_forward_display_line_end (view, &end); break;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.