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
// This file was generated by gir (https://github.com/gtk-rs/gir) // from gir-files (https://github.com/gtk-rs/gir-files) // DO NOT EDIT use gio; use glib::translate::*; use gtk_sys; use CssSectionType; glib_wrapper! { /// Defines a part of a CSS document. Because sections are nested into /// one another, you can use `CssSection::get_parent` to get the /// containing region. #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] pub struct CssSection(Shared<gtk_sys::GtkCssSection>); match fn { ref => |ptr| gtk_sys::gtk_css_section_ref(ptr), unref => |ptr| gtk_sys::gtk_css_section_unref(ptr), get_type => || gtk_sys::gtk_css_section_get_type(), } } impl CssSection { /// Returns the line in the CSS document where this section end. /// The line number is 0-indexed, so the first line of the document /// will return 0. /// This value may change in future invocations of this function if /// `self` is not yet parsed completely. This will for example /// happen in the `CssProvider`::parsing-error signal. /// The end position and line may be identical to the start /// position and line for sections which failed to parse anything /// successfully. /// /// # Returns /// /// the line number pub fn get_end_line(&self) -> u32 { unsafe { gtk_sys::gtk_css_section_get_end_line(self.to_glib_none().0) } } /// Returns the offset in bytes from the start of the current line /// returned via `CssSection::get_end_line`. /// This value may change in future invocations of this function if /// `self` is not yet parsed completely. This will for example /// happen in the `CssProvider`::parsing-error signal. /// The end position and line may be identical to the start /// position and line for sections which failed to parse anything /// successfully. /// /// # Returns /// /// the offset in bytes from the start of the line. pub fn get_end_position(&self) -> u32 { unsafe { gtk_sys::gtk_css_section_get_end_position(self.to_glib_none().0) } } /// Gets the file that `self` was parsed from. If no such file exists, /// for example because the CSS was loaded via /// `CssProviderExt::load_from_data`(), then `None` is returned. /// /// # Returns /// /// the `gio::File` that `self` was parsed from /// or `None` if `self` was parsed from other data pub fn get_file(&self) -> Option<gio::File> { unsafe { from_glib_none(gtk_sys::gtk_css_section_get_file(self.to_glib_none().0)) } } /// Gets the parent section for the given `self`. The parent section is /// the section that contains this `self`. A special case are sections of /// type `CssSectionType::Document`. Their parent will either be `None` /// if they are the original CSS document that was loaded by /// `CssProviderExt::load_from_file` or a section of type /// `CssSectionType::Import` if it was loaded with an import rule from /// a different file. /// /// # Returns /// /// the parent section or `None` if none pub fn get_parent(&self) -> Option<CssSection> { unsafe { from_glib_none(gtk_sys::gtk_css_section_get_parent(self.to_glib_none().0)) } } /// Gets the type of information that `self` describes. /// /// # Returns /// /// the type of `self` pub fn get_section_type(&self) -> CssSectionType { unsafe { from_glib(gtk_sys::gtk_css_section_get_section_type( self.to_glib_none().0, )) } } /// Returns the line in the CSS document where this section starts. /// The line number is 0-indexed, so the first line of the document /// will return 0. /// /// # Returns /// /// the line number pub fn get_start_line(&self) -> u32 { unsafe { gtk_sys::gtk_css_section_get_start_line(self.to_glib_none().0) } } /// Returns the offset in bytes from the start of the current line /// returned via `CssSection::get_start_line`. /// /// # Returns /// /// the offset in bytes from the start of the line. pub fn get_start_position(&self) -> u32 { unsafe { gtk_sys::gtk_css_section_get_start_position(self.to_glib_none().0) } } }