1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
// This file was generated by gir (https://github.com/gtk-rs/gir)
// from
// from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT
use glib::translate::*;
use std::fmt;
glib::wrapper! {
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct Encoding(Boxed<ffi::GtkSourceEncoding>);
match fn {
copy => |ptr| ffi::gtk_source_encoding_copy(ptr),
free => |ptr| ffi::gtk_source_encoding_free(ptr),
type_ => || ffi::gtk_source_encoding_get_type(),
}
}
impl Encoding {
/// Gets the character set of the [`Encoding`][crate::Encoding], such as "UTF-8" or
/// "ISO-8859-1".
///
/// # Returns
///
/// the character set of the [`Encoding`][crate::Encoding].
#[doc(alias = "gtk_source_encoding_get_charset")]
#[doc(alias = "get_charset")]
pub fn charset(&self) -> Option<glib::GString> {
unsafe { from_glib_none(ffi::gtk_source_encoding_get_charset(self.to_glib_none().0)) }
}
/// Gets the name of the [`Encoding`][crate::Encoding] such as "Unicode" or "Western".
///
/// # Returns
///
/// the name of the [`Encoding`][crate::Encoding].
#[doc(alias = "gtk_source_encoding_get_name")]
#[doc(alias = "get_name")]
pub fn name(&self) -> Option<glib::GString> {
unsafe { from_glib_none(ffi::gtk_source_encoding_get_name(self.to_glib_none().0)) }
}
///
/// # Returns
///
/// a string representation. Free with `g_free()` when no longer needed.
#[doc(alias = "gtk_source_encoding_to_string")]
#[doc(alias = "to_string")]
pub fn to_str(&self) -> glib::GString {
unsafe { from_glib_full(ffi::gtk_source_encoding_to_string(self.to_glib_none().0)) }
}
/// Gets all encodings.
///
/// # Returns
///
/// a list of
/// all [`Encoding`][crate::Encoding]'s. Free with `g_slist_free()`.
#[doc(alias = "gtk_source_encoding_get_all")]
#[doc(alias = "get_all")]
pub fn all() -> Vec<Encoding> {
assert_initialized_main_thread!();
unsafe { FromGlibPtrContainer::from_glib_container(ffi::gtk_source_encoding_get_all()) }
}
/// Gets the [`Encoding`][crate::Encoding] for the current locale. See also `g_get_charset()`.
///
/// # Returns
///
/// the current locale encoding.
#[doc(alias = "gtk_source_encoding_get_current")]
#[doc(alias = "get_current")]
pub fn current() -> Option<Encoding> {
assert_initialized_main_thread!();
unsafe { from_glib_none(ffi::gtk_source_encoding_get_current()) }
}
/// Gets the list of default candidate encodings to try when loading a file. See
/// `gtk_source_file_loader_set_candidate_encodings()`.
///
/// This function returns a different list depending on the current locale (i.e.
/// language, country and default encoding). The UTF-8 encoding and the current
/// locale encoding are guaranteed to be present in the returned list.
///
/// # Returns
///
/// the list of
/// default candidate encodings. Free with `g_slist_free()`.
#[doc(alias = "gtk_source_encoding_get_default_candidates")]
#[doc(alias = "get_default_candidates")]
pub fn default_candidates() -> Vec<Encoding> {
assert_initialized_main_thread!();
unsafe {
FromGlibPtrContainer::from_glib_container(
ffi::gtk_source_encoding_get_default_candidates(),
)
}
}
/// Gets a [`Encoding`][crate::Encoding] from a character set such as "UTF-8" or
/// "ISO-8859-1".
/// ## `charset`
/// a character set.
///
/// # Returns
///
/// the corresponding [`Encoding`][crate::Encoding], or [`None`]
/// if not found.
#[doc(alias = "gtk_source_encoding_get_from_charset")]
#[doc(alias = "get_from_charset")]
pub fn from_charset(charset: &str) -> Option<Encoding> {
assert_initialized_main_thread!();
unsafe {
from_glib_none(ffi::gtk_source_encoding_get_from_charset(
charset.to_glib_none().0,
))
}
}
///
/// # Returns
///
/// the UTF-8 encoding.
#[doc(alias = "gtk_source_encoding_get_utf8")]
#[doc(alias = "get_utf8")]
pub fn utf8() -> Option<Encoding> {
assert_initialized_main_thread!();
unsafe { from_glib_none(ffi::gtk_source_encoding_get_utf8()) }
}
}
impl fmt::Display for Encoding {
#[inline]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.write_str(&self.to_str())
}
}