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