pub trait TextViewImpl: TextViewImplExt + WidgetImpl {
    // Provided methods
    fn backspace(&self) { ... }
    fn copy_clipboard(&self) { ... }
    fn cut_clipboard(&self) { ... }
    fn delete_from_cursor(&self, type_: DeleteType, count: i32) { ... }
    fn extend_selection(
        &self,
        granularity: TextExtendSelection,
        location: &TextIter,
        start: &mut TextIter,
        end: &mut TextIter
    ) -> ControlFlow { ... }
    fn insert_at_cursor(&self, text: &str) { ... }
    fn insert_emoji(&self) { ... }
    fn move_cursor(
        &self,
        step: MovementStep,
        count: i32,
        extend_selection: bool
    ) { ... }
    fn paste_clipboard(&self) { ... }
    fn set_anchor(&self) { ... }
    fn snapshot_layer(&self, layer: TextViewLayer, snapshot: Snapshot) { ... }
    fn toggle_overwrite(&self) { ... }
}