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::IsA; 6 use glib::translate::*; 7 use std::fmt; 8 use std::ptr; 9 10 glib::wrapper! { 11 #[doc(alias = "GIcon")] 12 pub struct Icon(Interface<ffi::GIcon, ffi::GIconIface>); 13 14 match fn { 15 type_ => || ffi::g_icon_get_type(), 16 } 17 } 18 19 impl Icon { 20 #[doc(alias = "g_icon_deserialize")] deserialize(value: &glib::Variant) -> Option<Icon>21 pub fn deserialize(value: &glib::Variant) -> Option<Icon> { 22 unsafe { from_glib_full(ffi::g_icon_deserialize(value.to_glib_none().0)) } 23 } 24 25 #[doc(alias = "g_icon_hash")] hash(&self) -> u3226 pub fn hash(&self) -> u32 { 27 unsafe { 28 ffi::g_icon_hash( 29 ToGlibPtr::<*mut ffi::GIcon>::to_glib_none(self).0 as glib::ffi::gconstpointer, 30 ) 31 } 32 } 33 34 #[doc(alias = "g_icon_new_for_string")] 35 #[doc(alias = "new_for_string")] for_string(str: &str) -> Result<Icon, glib::Error>36 pub fn for_string(str: &str) -> Result<Icon, glib::Error> { 37 unsafe { 38 let mut error = ptr::null_mut(); 39 let ret = ffi::g_icon_new_for_string(str.to_glib_none().0, &mut error); 40 if error.is_null() { 41 Ok(from_glib_full(ret)) 42 } else { 43 Err(from_glib_full(error)) 44 } 45 } 46 } 47 } 48 49 pub const NONE_ICON: Option<&Icon> = None; 50 51 pub trait IconExt: 'static { 52 #[doc(alias = "g_icon_equal")] equal<P: IsA<Icon>>(&self, icon2: Option<&P>) -> bool53 fn equal<P: IsA<Icon>>(&self, icon2: Option<&P>) -> bool; 54 55 #[doc(alias = "g_icon_serialize")] serialize(&self) -> Option<glib::Variant>56 fn serialize(&self) -> Option<glib::Variant>; 57 58 #[doc(alias = "g_icon_to_string")] to_string(&self) -> Option<glib::GString>59 fn to_string(&self) -> Option<glib::GString>; 60 } 61 62 impl<O: IsA<Icon>> IconExt for O { equal<P: IsA<Icon>>(&self, icon2: Option<&P>) -> bool63 fn equal<P: IsA<Icon>>(&self, icon2: Option<&P>) -> bool { 64 unsafe { 65 from_glib(ffi::g_icon_equal( 66 self.as_ref().to_glib_none().0, 67 icon2.map(|p| p.as_ref()).to_glib_none().0, 68 )) 69 } 70 } 71 serialize(&self) -> Option<glib::Variant>72 fn serialize(&self) -> Option<glib::Variant> { 73 unsafe { from_glib_full(ffi::g_icon_serialize(self.as_ref().to_glib_none().0)) } 74 } 75 to_string(&self) -> Option<glib::GString>76 fn to_string(&self) -> Option<glib::GString> { 77 unsafe { from_glib_full(ffi::g_icon_to_string(self.as_ref().to_glib_none().0)) } 78 } 79 } 80 81 impl fmt::Display for Icon { fmt(&self, f: &mut fmt::Formatter) -> fmt::Result82 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 83 f.write_str("Icon") 84 } 85 } 86