1 // This file was generated by gir (https://github.com/gtk-rs/gir)
2 // from gir-files (https://github.com/gtk-rs/gir-files)
3 // DO NOT EDIT
4 
5 use glib::object::Cast;
6 use glib::object::IsA;
7 use glib::translate::*;
8 use glib::GString;
9 use glib::StaticType;
10 use glib::ToValue;
11 use gtk_sys;
12 use std::fmt;
13 use TextBuffer;
14 
15 glib_wrapper! {
16     pub struct TextMark(Object<gtk_sys::GtkTextMark, gtk_sys::GtkTextMarkClass, TextMarkClass>);
17 
18     match fn {
19         get_type => || gtk_sys::gtk_text_mark_get_type(),
20     }
21 }
22 
23 impl TextMark {
new(name: Option<&str>, left_gravity: bool) -> TextMark24     pub fn new(name: Option<&str>, left_gravity: bool) -> TextMark {
25         assert_initialized_main_thread!();
26         unsafe {
27             from_glib_full(gtk_sys::gtk_text_mark_new(
28                 name.to_glib_none().0,
29                 left_gravity.to_glib(),
30             ))
31         }
32     }
33 }
34 
35 pub struct TextMarkBuilder {
36     left_gravity: Option<bool>,
37     name: Option<String>,
38 }
39 
40 impl TextMarkBuilder {
new() -> Self41     pub fn new() -> Self {
42         Self {
43             left_gravity: None,
44             name: None,
45         }
46     }
47 
build(self) -> TextMark48     pub fn build(self) -> TextMark {
49         let mut properties: Vec<(&str, &dyn ToValue)> = vec![];
50         if let Some(ref left_gravity) = self.left_gravity {
51             properties.push(("left-gravity", left_gravity));
52         }
53         if let Some(ref name) = self.name {
54             properties.push(("name", name));
55         }
56         glib::Object::new(TextMark::static_type(), &properties)
57             .expect("object new")
58             .downcast()
59             .expect("downcast")
60     }
61 
left_gravity(mut self, left_gravity: bool) -> Self62     pub fn left_gravity(mut self, left_gravity: bool) -> Self {
63         self.left_gravity = Some(left_gravity);
64         self
65     }
66 
name(mut self, name: &str) -> Self67     pub fn name(mut self, name: &str) -> Self {
68         self.name = Some(name.to_string());
69         self
70     }
71 }
72 
73 pub const NONE_TEXT_MARK: Option<&TextMark> = None;
74 
75 pub trait TextMarkExt: 'static {
get_buffer(&self) -> Option<TextBuffer>76     fn get_buffer(&self) -> Option<TextBuffer>;
77 
get_deleted(&self) -> bool78     fn get_deleted(&self) -> bool;
79 
get_left_gravity(&self) -> bool80     fn get_left_gravity(&self) -> bool;
81 
get_name(&self) -> Option<GString>82     fn get_name(&self) -> Option<GString>;
83 
get_visible(&self) -> bool84     fn get_visible(&self) -> bool;
85 
set_visible(&self, setting: bool)86     fn set_visible(&self, setting: bool);
87 }
88 
89 impl<O: IsA<TextMark>> TextMarkExt for O {
get_buffer(&self) -> Option<TextBuffer>90     fn get_buffer(&self) -> Option<TextBuffer> {
91         unsafe {
92             from_glib_none(gtk_sys::gtk_text_mark_get_buffer(
93                 self.as_ref().to_glib_none().0,
94             ))
95         }
96     }
97 
get_deleted(&self) -> bool98     fn get_deleted(&self) -> bool {
99         unsafe {
100             from_glib(gtk_sys::gtk_text_mark_get_deleted(
101                 self.as_ref().to_glib_none().0,
102             ))
103         }
104     }
105 
get_left_gravity(&self) -> bool106     fn get_left_gravity(&self) -> bool {
107         unsafe {
108             from_glib(gtk_sys::gtk_text_mark_get_left_gravity(
109                 self.as_ref().to_glib_none().0,
110             ))
111         }
112     }
113 
get_name(&self) -> Option<GString>114     fn get_name(&self) -> Option<GString> {
115         unsafe {
116             from_glib_none(gtk_sys::gtk_text_mark_get_name(
117                 self.as_ref().to_glib_none().0,
118             ))
119         }
120     }
121 
get_visible(&self) -> bool122     fn get_visible(&self) -> bool {
123         unsafe {
124             from_glib(gtk_sys::gtk_text_mark_get_visible(
125                 self.as_ref().to_glib_none().0,
126             ))
127         }
128     }
129 
set_visible(&self, setting: bool)130     fn set_visible(&self, setting: bool) {
131         unsafe {
132             gtk_sys::gtk_text_mark_set_visible(self.as_ref().to_glib_none().0, setting.to_glib());
133         }
134     }
135 }
136 
137 impl fmt::Display for TextMark {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result138     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
139         write!(f, "TextMark")
140     }
141 }
142