atk/auto/
editable_text.rs1use atk_sys;
6use glib::object::IsA;
7use glib::translate::*;
8use std::fmt;
9
10glib_wrapper! {
11 pub struct EditableText(Interface<atk_sys::AtkEditableText>);
12
13 match fn {
14 get_type => || atk_sys::atk_editable_text_get_type(),
15 }
16}
17
18pub const NONE_EDITABLE_TEXT: Option<&EditableText> = None;
19
20pub trait EditableTextExt: 'static {
21 fn copy_text(&self, start_pos: i32, end_pos: i32);
22
23 fn cut_text(&self, start_pos: i32, end_pos: i32);
24
25 fn delete_text(&self, start_pos: i32, end_pos: i32);
26
27 fn paste_text(&self, position: i32);
28
29 fn set_text_contents(&self, string: &str);
32}
33
34impl<O: IsA<EditableText>> EditableTextExt for O {
35 fn copy_text(&self, start_pos: i32, end_pos: i32) {
36 unsafe {
37 atk_sys::atk_editable_text_copy_text(
38 self.as_ref().to_glib_none().0,
39 start_pos,
40 end_pos,
41 );
42 }
43 }
44
45 fn cut_text(&self, start_pos: i32, end_pos: i32) {
46 unsafe {
47 atk_sys::atk_editable_text_cut_text(self.as_ref().to_glib_none().0, start_pos, end_pos);
48 }
49 }
50
51 fn delete_text(&self, start_pos: i32, end_pos: i32) {
52 unsafe {
53 atk_sys::atk_editable_text_delete_text(
54 self.as_ref().to_glib_none().0,
55 start_pos,
56 end_pos,
57 );
58 }
59 }
60
61 fn paste_text(&self, position: i32) {
62 unsafe {
63 atk_sys::atk_editable_text_paste_text(self.as_ref().to_glib_none().0, position);
64 }
65 }
66
67 fn set_text_contents(&self, string: &str) {
72 unsafe {
73 atk_sys::atk_editable_text_set_text_contents(
74 self.as_ref().to_glib_none().0,
75 string.to_glib_none().0,
76 );
77 }
78 }
79}
80
81impl fmt::Display for EditableText {
82 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
83 write!(f, "EditableText")
84 }
85}