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 atk_sys;
6 use glib::translate::*;
7 use glib::value::FromValue;
8 use glib::value::FromValueOptional;
9 use glib::value::SetValue;
10 use glib::value::Value;
11 use glib::StaticType;
12 use glib::Type;
13 use gobject_sys;
14 use std::fmt;
15 
16 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
17 pub enum CoordType {
18     Screen,
19     Window,
20     Parent,
21     #[doc(hidden)]
22     __Unknown(i32),
23 }
24 
25 impl fmt::Display for CoordType {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result26     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
27         write!(
28             f,
29             "CoordType::{}",
30             match *self {
31                 CoordType::Screen => "Screen",
32                 CoordType::Window => "Window",
33                 CoordType::Parent => "Parent",
34                 _ => "Unknown",
35             }
36         )
37     }
38 }
39 
40 #[doc(hidden)]
41 impl ToGlib for CoordType {
42     type GlibType = atk_sys::AtkCoordType;
43 
to_glib(&self) -> atk_sys::AtkCoordType44     fn to_glib(&self) -> atk_sys::AtkCoordType {
45         match *self {
46             CoordType::Screen => atk_sys::ATK_XY_SCREEN,
47             CoordType::Window => atk_sys::ATK_XY_WINDOW,
48             CoordType::Parent => atk_sys::ATK_XY_PARENT,
49             CoordType::__Unknown(value) => value,
50         }
51     }
52 }
53 
54 #[doc(hidden)]
55 impl FromGlib<atk_sys::AtkCoordType> for CoordType {
from_glib(value: atk_sys::AtkCoordType) -> Self56     fn from_glib(value: atk_sys::AtkCoordType) -> Self {
57         skip_assert_initialized!();
58         match value {
59             0 => CoordType::Screen,
60             1 => CoordType::Window,
61             2 => CoordType::Parent,
62             value => CoordType::__Unknown(value),
63         }
64     }
65 }
66 
67 impl StaticType for CoordType {
static_type() -> Type68     fn static_type() -> Type {
69         unsafe { from_glib(atk_sys::atk_coord_type_get_type()) }
70     }
71 }
72 
73 impl<'a> FromValueOptional<'a> for CoordType {
from_value_optional(value: &Value) -> Option<Self>74     unsafe fn from_value_optional(value: &Value) -> Option<Self> {
75         Some(FromValue::from_value(value))
76     }
77 }
78 
79 impl<'a> FromValue<'a> for CoordType {
from_value(value: &Value) -> Self80     unsafe fn from_value(value: &Value) -> Self {
81         from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
82     }
83 }
84 
85 impl SetValue for CoordType {
set_value(value: &mut Value, this: &Self)86     unsafe fn set_value(value: &mut Value, this: &Self) {
87         gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
88     }
89 }
90 
91 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
92 pub enum Layer {
93     Invalid,
94     Background,
95     Canvas,
96     Widget,
97     Mdi,
98     Popup,
99     Overlay,
100     Window,
101     #[doc(hidden)]
102     __Unknown(i32),
103 }
104 
105 impl fmt::Display for Layer {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result106     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
107         write!(
108             f,
109             "Layer::{}",
110             match *self {
111                 Layer::Invalid => "Invalid",
112                 Layer::Background => "Background",
113                 Layer::Canvas => "Canvas",
114                 Layer::Widget => "Widget",
115                 Layer::Mdi => "Mdi",
116                 Layer::Popup => "Popup",
117                 Layer::Overlay => "Overlay",
118                 Layer::Window => "Window",
119                 _ => "Unknown",
120             }
121         )
122     }
123 }
124 
125 #[doc(hidden)]
126 impl ToGlib for Layer {
127     type GlibType = atk_sys::AtkLayer;
128 
to_glib(&self) -> atk_sys::AtkLayer129     fn to_glib(&self) -> atk_sys::AtkLayer {
130         match *self {
131             Layer::Invalid => atk_sys::ATK_LAYER_INVALID,
132             Layer::Background => atk_sys::ATK_LAYER_BACKGROUND,
133             Layer::Canvas => atk_sys::ATK_LAYER_CANVAS,
134             Layer::Widget => atk_sys::ATK_LAYER_WIDGET,
135             Layer::Mdi => atk_sys::ATK_LAYER_MDI,
136             Layer::Popup => atk_sys::ATK_LAYER_POPUP,
137             Layer::Overlay => atk_sys::ATK_LAYER_OVERLAY,
138             Layer::Window => atk_sys::ATK_LAYER_WINDOW,
139             Layer::__Unknown(value) => value,
140         }
141     }
142 }
143 
144 #[doc(hidden)]
145 impl FromGlib<atk_sys::AtkLayer> for Layer {
from_glib(value: atk_sys::AtkLayer) -> Self146     fn from_glib(value: atk_sys::AtkLayer) -> Self {
147         skip_assert_initialized!();
148         match value {
149             0 => Layer::Invalid,
150             1 => Layer::Background,
151             2 => Layer::Canvas,
152             3 => Layer::Widget,
153             4 => Layer::Mdi,
154             5 => Layer::Popup,
155             6 => Layer::Overlay,
156             7 => Layer::Window,
157             value => Layer::__Unknown(value),
158         }
159     }
160 }
161 
162 impl StaticType for Layer {
static_type() -> Type163     fn static_type() -> Type {
164         unsafe { from_glib(atk_sys::atk_layer_get_type()) }
165     }
166 }
167 
168 impl<'a> FromValueOptional<'a> for Layer {
from_value_optional(value: &Value) -> Option<Self>169     unsafe fn from_value_optional(value: &Value) -> Option<Self> {
170         Some(FromValue::from_value(value))
171     }
172 }
173 
174 impl<'a> FromValue<'a> for Layer {
from_value(value: &Value) -> Self175     unsafe fn from_value(value: &Value) -> Self {
176         from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
177     }
178 }
179 
180 impl SetValue for Layer {
set_value(value: &mut Value, this: &Self)181     unsafe fn set_value(value: &mut Value, this: &Self) {
182         gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
183     }
184 }
185 
186 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
187 pub enum RelationType {
188     Null,
189     ControlledBy,
190     ControllerFor,
191     LabelFor,
192     LabelledBy,
193     MemberOf,
194     NodeChildOf,
195     FlowsTo,
196     FlowsFrom,
197     SubwindowOf,
198     Embeds,
199     EmbeddedBy,
200     PopupFor,
201     ParentWindowOf,
202     DescribedBy,
203     DescriptionFor,
204     NodeParentOf,
205     Details,
206     DetailsFor,
207     ErrorMessage,
208     ErrorFor,
209     LastDefined,
210     #[doc(hidden)]
211     __Unknown(i32),
212 }
213 
214 impl fmt::Display for RelationType {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result215     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
216         write!(
217             f,
218             "RelationType::{}",
219             match *self {
220                 RelationType::Null => "Null",
221                 RelationType::ControlledBy => "ControlledBy",
222                 RelationType::ControllerFor => "ControllerFor",
223                 RelationType::LabelFor => "LabelFor",
224                 RelationType::LabelledBy => "LabelledBy",
225                 RelationType::MemberOf => "MemberOf",
226                 RelationType::NodeChildOf => "NodeChildOf",
227                 RelationType::FlowsTo => "FlowsTo",
228                 RelationType::FlowsFrom => "FlowsFrom",
229                 RelationType::SubwindowOf => "SubwindowOf",
230                 RelationType::Embeds => "Embeds",
231                 RelationType::EmbeddedBy => "EmbeddedBy",
232                 RelationType::PopupFor => "PopupFor",
233                 RelationType::ParentWindowOf => "ParentWindowOf",
234                 RelationType::DescribedBy => "DescribedBy",
235                 RelationType::DescriptionFor => "DescriptionFor",
236                 RelationType::NodeParentOf => "NodeParentOf",
237                 RelationType::Details => "Details",
238                 RelationType::DetailsFor => "DetailsFor",
239                 RelationType::ErrorMessage => "ErrorMessage",
240                 RelationType::ErrorFor => "ErrorFor",
241                 RelationType::LastDefined => "LastDefined",
242                 _ => "Unknown",
243             }
244         )
245     }
246 }
247 
248 #[doc(hidden)]
249 impl ToGlib for RelationType {
250     type GlibType = atk_sys::AtkRelationType;
251 
to_glib(&self) -> atk_sys::AtkRelationType252     fn to_glib(&self) -> atk_sys::AtkRelationType {
253         match *self {
254             RelationType::Null => atk_sys::ATK_RELATION_NULL,
255             RelationType::ControlledBy => atk_sys::ATK_RELATION_CONTROLLED_BY,
256             RelationType::ControllerFor => atk_sys::ATK_RELATION_CONTROLLER_FOR,
257             RelationType::LabelFor => atk_sys::ATK_RELATION_LABEL_FOR,
258             RelationType::LabelledBy => atk_sys::ATK_RELATION_LABELLED_BY,
259             RelationType::MemberOf => atk_sys::ATK_RELATION_MEMBER_OF,
260             RelationType::NodeChildOf => atk_sys::ATK_RELATION_NODE_CHILD_OF,
261             RelationType::FlowsTo => atk_sys::ATK_RELATION_FLOWS_TO,
262             RelationType::FlowsFrom => atk_sys::ATK_RELATION_FLOWS_FROM,
263             RelationType::SubwindowOf => atk_sys::ATK_RELATION_SUBWINDOW_OF,
264             RelationType::Embeds => atk_sys::ATK_RELATION_EMBEDS,
265             RelationType::EmbeddedBy => atk_sys::ATK_RELATION_EMBEDDED_BY,
266             RelationType::PopupFor => atk_sys::ATK_RELATION_POPUP_FOR,
267             RelationType::ParentWindowOf => atk_sys::ATK_RELATION_PARENT_WINDOW_OF,
268             RelationType::DescribedBy => atk_sys::ATK_RELATION_DESCRIBED_BY,
269             RelationType::DescriptionFor => atk_sys::ATK_RELATION_DESCRIPTION_FOR,
270             RelationType::NodeParentOf => atk_sys::ATK_RELATION_NODE_PARENT_OF,
271             RelationType::Details => atk_sys::ATK_RELATION_DETAILS,
272             RelationType::DetailsFor => atk_sys::ATK_RELATION_DETAILS_FOR,
273             RelationType::ErrorMessage => atk_sys::ATK_RELATION_ERROR_MESSAGE,
274             RelationType::ErrorFor => atk_sys::ATK_RELATION_ERROR_FOR,
275             RelationType::LastDefined => atk_sys::ATK_RELATION_LAST_DEFINED,
276             RelationType::__Unknown(value) => value,
277         }
278     }
279 }
280 
281 #[doc(hidden)]
282 impl FromGlib<atk_sys::AtkRelationType> for RelationType {
from_glib(value: atk_sys::AtkRelationType) -> Self283     fn from_glib(value: atk_sys::AtkRelationType) -> Self {
284         skip_assert_initialized!();
285         match value {
286             0 => RelationType::Null,
287             1 => RelationType::ControlledBy,
288             2 => RelationType::ControllerFor,
289             3 => RelationType::LabelFor,
290             4 => RelationType::LabelledBy,
291             5 => RelationType::MemberOf,
292             6 => RelationType::NodeChildOf,
293             7 => RelationType::FlowsTo,
294             8 => RelationType::FlowsFrom,
295             9 => RelationType::SubwindowOf,
296             10 => RelationType::Embeds,
297             11 => RelationType::EmbeddedBy,
298             12 => RelationType::PopupFor,
299             13 => RelationType::ParentWindowOf,
300             14 => RelationType::DescribedBy,
301             15 => RelationType::DescriptionFor,
302             16 => RelationType::NodeParentOf,
303             17 => RelationType::Details,
304             18 => RelationType::DetailsFor,
305             19 => RelationType::ErrorMessage,
306             20 => RelationType::ErrorFor,
307             21 => RelationType::LastDefined,
308             value => RelationType::__Unknown(value),
309         }
310     }
311 }
312 
313 impl StaticType for RelationType {
static_type() -> Type314     fn static_type() -> Type {
315         unsafe { from_glib(atk_sys::atk_relation_type_get_type()) }
316     }
317 }
318 
319 impl<'a> FromValueOptional<'a> for RelationType {
from_value_optional(value: &Value) -> Option<Self>320     unsafe fn from_value_optional(value: &Value) -> Option<Self> {
321         Some(FromValue::from_value(value))
322     }
323 }
324 
325 impl<'a> FromValue<'a> for RelationType {
from_value(value: &Value) -> Self326     unsafe fn from_value(value: &Value) -> Self {
327         from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
328     }
329 }
330 
331 impl SetValue for RelationType {
set_value(value: &mut Value, this: &Self)332     unsafe fn set_value(value: &mut Value, this: &Self) {
333         gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
334     }
335 }
336 
337 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
338 pub enum Role {
339     Invalid,
340     AcceleratorLabel,
341     Alert,
342     Animation,
343     Arrow,
344     Calendar,
345     Canvas,
346     CheckBox,
347     CheckMenuItem,
348     ColorChooser,
349     ColumnHeader,
350     ComboBox,
351     DateEditor,
352     DesktopIcon,
353     DesktopFrame,
354     Dial,
355     Dialog,
356     DirectoryPane,
357     DrawingArea,
358     FileChooser,
359     Filler,
360     FontChooser,
361     Frame,
362     GlassPane,
363     HtmlContainer,
364     Icon,
365     Image,
366     InternalFrame,
367     Label,
368     LayeredPane,
369     List,
370     ListItem,
371     Menu,
372     MenuBar,
373     MenuItem,
374     OptionPane,
375     PageTab,
376     PageTabList,
377     Panel,
378     PasswordText,
379     PopupMenu,
380     ProgressBar,
381     PushButton,
382     RadioButton,
383     RadioMenuItem,
384     RootPane,
385     RowHeader,
386     ScrollBar,
387     ScrollPane,
388     Separator,
389     Slider,
390     SplitPane,
391     SpinButton,
392     Statusbar,
393     Table,
394     TableCell,
395     TableColumnHeader,
396     TableRowHeader,
397     TearOffMenuItem,
398     Terminal,
399     Text,
400     ToggleButton,
401     ToolBar,
402     ToolTip,
403     Tree,
404     TreeTable,
405     Unknown,
406     Viewport,
407     Window,
408     Header,
409     Footer,
410     Paragraph,
411     Ruler,
412     Application,
413     Autocomplete,
414     EditBar,
415     Embedded,
416     Entry,
417     Chart,
418     Caption,
419     DocumentFrame,
420     Heading,
421     Page,
422     Section,
423     RedundantObject,
424     Form,
425     Link,
426     InputMethodWindow,
427     TableRow,
428     TreeItem,
429     DocumentSpreadsheet,
430     DocumentPresentation,
431     DocumentText,
432     DocumentWeb,
433     DocumentEmail,
434     Comment,
435     ListBox,
436     Grouping,
437     ImageMap,
438     Notification,
439     InfoBar,
440     LevelBar,
441     TitleBar,
442     BlockQuote,
443     Audio,
444     Video,
445     Definition,
446     Article,
447     Landmark,
448     Log,
449     Marquee,
450     Math,
451     Rating,
452     Timer,
453     DescriptionList,
454     DescriptionTerm,
455     DescriptionValue,
456     Static,
457     MathFraction,
458     MathRoot,
459     Subscript,
460     Superscript,
461     Footnote,
462     ContentDeletion,
463     ContentInsertion,
464     LastDefined,
465     #[doc(hidden)]
466     __Unknown(i32),
467 }
468 
469 impl fmt::Display for Role {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result470     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
471         write!(
472             f,
473             "Role::{}",
474             match *self {
475                 Role::Invalid => "Invalid",
476                 Role::AcceleratorLabel => "AcceleratorLabel",
477                 Role::Alert => "Alert",
478                 Role::Animation => "Animation",
479                 Role::Arrow => "Arrow",
480                 Role::Calendar => "Calendar",
481                 Role::Canvas => "Canvas",
482                 Role::CheckBox => "CheckBox",
483                 Role::CheckMenuItem => "CheckMenuItem",
484                 Role::ColorChooser => "ColorChooser",
485                 Role::ColumnHeader => "ColumnHeader",
486                 Role::ComboBox => "ComboBox",
487                 Role::DateEditor => "DateEditor",
488                 Role::DesktopIcon => "DesktopIcon",
489                 Role::DesktopFrame => "DesktopFrame",
490                 Role::Dial => "Dial",
491                 Role::Dialog => "Dialog",
492                 Role::DirectoryPane => "DirectoryPane",
493                 Role::DrawingArea => "DrawingArea",
494                 Role::FileChooser => "FileChooser",
495                 Role::Filler => "Filler",
496                 Role::FontChooser => "FontChooser",
497                 Role::Frame => "Frame",
498                 Role::GlassPane => "GlassPane",
499                 Role::HtmlContainer => "HtmlContainer",
500                 Role::Icon => "Icon",
501                 Role::Image => "Image",
502                 Role::InternalFrame => "InternalFrame",
503                 Role::Label => "Label",
504                 Role::LayeredPane => "LayeredPane",
505                 Role::List => "List",
506                 Role::ListItem => "ListItem",
507                 Role::Menu => "Menu",
508                 Role::MenuBar => "MenuBar",
509                 Role::MenuItem => "MenuItem",
510                 Role::OptionPane => "OptionPane",
511                 Role::PageTab => "PageTab",
512                 Role::PageTabList => "PageTabList",
513                 Role::Panel => "Panel",
514                 Role::PasswordText => "PasswordText",
515                 Role::PopupMenu => "PopupMenu",
516                 Role::ProgressBar => "ProgressBar",
517                 Role::PushButton => "PushButton",
518                 Role::RadioButton => "RadioButton",
519                 Role::RadioMenuItem => "RadioMenuItem",
520                 Role::RootPane => "RootPane",
521                 Role::RowHeader => "RowHeader",
522                 Role::ScrollBar => "ScrollBar",
523                 Role::ScrollPane => "ScrollPane",
524                 Role::Separator => "Separator",
525                 Role::Slider => "Slider",
526                 Role::SplitPane => "SplitPane",
527                 Role::SpinButton => "SpinButton",
528                 Role::Statusbar => "Statusbar",
529                 Role::Table => "Table",
530                 Role::TableCell => "TableCell",
531                 Role::TableColumnHeader => "TableColumnHeader",
532                 Role::TableRowHeader => "TableRowHeader",
533                 Role::TearOffMenuItem => "TearOffMenuItem",
534                 Role::Terminal => "Terminal",
535                 Role::Text => "Text",
536                 Role::ToggleButton => "ToggleButton",
537                 Role::ToolBar => "ToolBar",
538                 Role::ToolTip => "ToolTip",
539                 Role::Tree => "Tree",
540                 Role::TreeTable => "TreeTable",
541                 Role::Unknown => "Unknown",
542                 Role::Viewport => "Viewport",
543                 Role::Window => "Window",
544                 Role::Header => "Header",
545                 Role::Footer => "Footer",
546                 Role::Paragraph => "Paragraph",
547                 Role::Ruler => "Ruler",
548                 Role::Application => "Application",
549                 Role::Autocomplete => "Autocomplete",
550                 Role::EditBar => "EditBar",
551                 Role::Embedded => "Embedded",
552                 Role::Entry => "Entry",
553                 Role::Chart => "Chart",
554                 Role::Caption => "Caption",
555                 Role::DocumentFrame => "DocumentFrame",
556                 Role::Heading => "Heading",
557                 Role::Page => "Page",
558                 Role::Section => "Section",
559                 Role::RedundantObject => "RedundantObject",
560                 Role::Form => "Form",
561                 Role::Link => "Link",
562                 Role::InputMethodWindow => "InputMethodWindow",
563                 Role::TableRow => "TableRow",
564                 Role::TreeItem => "TreeItem",
565                 Role::DocumentSpreadsheet => "DocumentSpreadsheet",
566                 Role::DocumentPresentation => "DocumentPresentation",
567                 Role::DocumentText => "DocumentText",
568                 Role::DocumentWeb => "DocumentWeb",
569                 Role::DocumentEmail => "DocumentEmail",
570                 Role::Comment => "Comment",
571                 Role::ListBox => "ListBox",
572                 Role::Grouping => "Grouping",
573                 Role::ImageMap => "ImageMap",
574                 Role::Notification => "Notification",
575                 Role::InfoBar => "InfoBar",
576                 Role::LevelBar => "LevelBar",
577                 Role::TitleBar => "TitleBar",
578                 Role::BlockQuote => "BlockQuote",
579                 Role::Audio => "Audio",
580                 Role::Video => "Video",
581                 Role::Definition => "Definition",
582                 Role::Article => "Article",
583                 Role::Landmark => "Landmark",
584                 Role::Log => "Log",
585                 Role::Marquee => "Marquee",
586                 Role::Math => "Math",
587                 Role::Rating => "Rating",
588                 Role::Timer => "Timer",
589                 Role::DescriptionList => "DescriptionList",
590                 Role::DescriptionTerm => "DescriptionTerm",
591                 Role::DescriptionValue => "DescriptionValue",
592                 Role::Static => "Static",
593                 Role::MathFraction => "MathFraction",
594                 Role::MathRoot => "MathRoot",
595                 Role::Subscript => "Subscript",
596                 Role::Superscript => "Superscript",
597                 Role::Footnote => "Footnote",
598                 Role::ContentDeletion => "ContentDeletion",
599                 Role::ContentInsertion => "ContentInsertion",
600                 Role::LastDefined => "LastDefined",
601                 _ => "Unknown",
602             }
603         )
604     }
605 }
606 
607 #[doc(hidden)]
608 impl ToGlib for Role {
609     type GlibType = atk_sys::AtkRole;
610 
to_glib(&self) -> atk_sys::AtkRole611     fn to_glib(&self) -> atk_sys::AtkRole {
612         match *self {
613             Role::Invalid => atk_sys::ATK_ROLE_INVALID,
614             Role::AcceleratorLabel => atk_sys::ATK_ROLE_ACCEL_LABEL,
615             Role::Alert => atk_sys::ATK_ROLE_ALERT,
616             Role::Animation => atk_sys::ATK_ROLE_ANIMATION,
617             Role::Arrow => atk_sys::ATK_ROLE_ARROW,
618             Role::Calendar => atk_sys::ATK_ROLE_CALENDAR,
619             Role::Canvas => atk_sys::ATK_ROLE_CANVAS,
620             Role::CheckBox => atk_sys::ATK_ROLE_CHECK_BOX,
621             Role::CheckMenuItem => atk_sys::ATK_ROLE_CHECK_MENU_ITEM,
622             Role::ColorChooser => atk_sys::ATK_ROLE_COLOR_CHOOSER,
623             Role::ColumnHeader => atk_sys::ATK_ROLE_COLUMN_HEADER,
624             Role::ComboBox => atk_sys::ATK_ROLE_COMBO_BOX,
625             Role::DateEditor => atk_sys::ATK_ROLE_DATE_EDITOR,
626             Role::DesktopIcon => atk_sys::ATK_ROLE_DESKTOP_ICON,
627             Role::DesktopFrame => atk_sys::ATK_ROLE_DESKTOP_FRAME,
628             Role::Dial => atk_sys::ATK_ROLE_DIAL,
629             Role::Dialog => atk_sys::ATK_ROLE_DIALOG,
630             Role::DirectoryPane => atk_sys::ATK_ROLE_DIRECTORY_PANE,
631             Role::DrawingArea => atk_sys::ATK_ROLE_DRAWING_AREA,
632             Role::FileChooser => atk_sys::ATK_ROLE_FILE_CHOOSER,
633             Role::Filler => atk_sys::ATK_ROLE_FILLER,
634             Role::FontChooser => atk_sys::ATK_ROLE_FONT_CHOOSER,
635             Role::Frame => atk_sys::ATK_ROLE_FRAME,
636             Role::GlassPane => atk_sys::ATK_ROLE_GLASS_PANE,
637             Role::HtmlContainer => atk_sys::ATK_ROLE_HTML_CONTAINER,
638             Role::Icon => atk_sys::ATK_ROLE_ICON,
639             Role::Image => atk_sys::ATK_ROLE_IMAGE,
640             Role::InternalFrame => atk_sys::ATK_ROLE_INTERNAL_FRAME,
641             Role::Label => atk_sys::ATK_ROLE_LABEL,
642             Role::LayeredPane => atk_sys::ATK_ROLE_LAYERED_PANE,
643             Role::List => atk_sys::ATK_ROLE_LIST,
644             Role::ListItem => atk_sys::ATK_ROLE_LIST_ITEM,
645             Role::Menu => atk_sys::ATK_ROLE_MENU,
646             Role::MenuBar => atk_sys::ATK_ROLE_MENU_BAR,
647             Role::MenuItem => atk_sys::ATK_ROLE_MENU_ITEM,
648             Role::OptionPane => atk_sys::ATK_ROLE_OPTION_PANE,
649             Role::PageTab => atk_sys::ATK_ROLE_PAGE_TAB,
650             Role::PageTabList => atk_sys::ATK_ROLE_PAGE_TAB_LIST,
651             Role::Panel => atk_sys::ATK_ROLE_PANEL,
652             Role::PasswordText => atk_sys::ATK_ROLE_PASSWORD_TEXT,
653             Role::PopupMenu => atk_sys::ATK_ROLE_POPUP_MENU,
654             Role::ProgressBar => atk_sys::ATK_ROLE_PROGRESS_BAR,
655             Role::PushButton => atk_sys::ATK_ROLE_PUSH_BUTTON,
656             Role::RadioButton => atk_sys::ATK_ROLE_RADIO_BUTTON,
657             Role::RadioMenuItem => atk_sys::ATK_ROLE_RADIO_MENU_ITEM,
658             Role::RootPane => atk_sys::ATK_ROLE_ROOT_PANE,
659             Role::RowHeader => atk_sys::ATK_ROLE_ROW_HEADER,
660             Role::ScrollBar => atk_sys::ATK_ROLE_SCROLL_BAR,
661             Role::ScrollPane => atk_sys::ATK_ROLE_SCROLL_PANE,
662             Role::Separator => atk_sys::ATK_ROLE_SEPARATOR,
663             Role::Slider => atk_sys::ATK_ROLE_SLIDER,
664             Role::SplitPane => atk_sys::ATK_ROLE_SPLIT_PANE,
665             Role::SpinButton => atk_sys::ATK_ROLE_SPIN_BUTTON,
666             Role::Statusbar => atk_sys::ATK_ROLE_STATUSBAR,
667             Role::Table => atk_sys::ATK_ROLE_TABLE,
668             Role::TableCell => atk_sys::ATK_ROLE_TABLE_CELL,
669             Role::TableColumnHeader => atk_sys::ATK_ROLE_TABLE_COLUMN_HEADER,
670             Role::TableRowHeader => atk_sys::ATK_ROLE_TABLE_ROW_HEADER,
671             Role::TearOffMenuItem => atk_sys::ATK_ROLE_TEAR_OFF_MENU_ITEM,
672             Role::Terminal => atk_sys::ATK_ROLE_TERMINAL,
673             Role::Text => atk_sys::ATK_ROLE_TEXT,
674             Role::ToggleButton => atk_sys::ATK_ROLE_TOGGLE_BUTTON,
675             Role::ToolBar => atk_sys::ATK_ROLE_TOOL_BAR,
676             Role::ToolTip => atk_sys::ATK_ROLE_TOOL_TIP,
677             Role::Tree => atk_sys::ATK_ROLE_TREE,
678             Role::TreeTable => atk_sys::ATK_ROLE_TREE_TABLE,
679             Role::Unknown => atk_sys::ATK_ROLE_UNKNOWN,
680             Role::Viewport => atk_sys::ATK_ROLE_VIEWPORT,
681             Role::Window => atk_sys::ATK_ROLE_WINDOW,
682             Role::Header => atk_sys::ATK_ROLE_HEADER,
683             Role::Footer => atk_sys::ATK_ROLE_FOOTER,
684             Role::Paragraph => atk_sys::ATK_ROLE_PARAGRAPH,
685             Role::Ruler => atk_sys::ATK_ROLE_RULER,
686             Role::Application => atk_sys::ATK_ROLE_APPLICATION,
687             Role::Autocomplete => atk_sys::ATK_ROLE_AUTOCOMPLETE,
688             Role::EditBar => atk_sys::ATK_ROLE_EDITBAR,
689             Role::Embedded => atk_sys::ATK_ROLE_EMBEDDED,
690             Role::Entry => atk_sys::ATK_ROLE_ENTRY,
691             Role::Chart => atk_sys::ATK_ROLE_CHART,
692             Role::Caption => atk_sys::ATK_ROLE_CAPTION,
693             Role::DocumentFrame => atk_sys::ATK_ROLE_DOCUMENT_FRAME,
694             Role::Heading => atk_sys::ATK_ROLE_HEADING,
695             Role::Page => atk_sys::ATK_ROLE_PAGE,
696             Role::Section => atk_sys::ATK_ROLE_SECTION,
697             Role::RedundantObject => atk_sys::ATK_ROLE_REDUNDANT_OBJECT,
698             Role::Form => atk_sys::ATK_ROLE_FORM,
699             Role::Link => atk_sys::ATK_ROLE_LINK,
700             Role::InputMethodWindow => atk_sys::ATK_ROLE_INPUT_METHOD_WINDOW,
701             Role::TableRow => atk_sys::ATK_ROLE_TABLE_ROW,
702             Role::TreeItem => atk_sys::ATK_ROLE_TREE_ITEM,
703             Role::DocumentSpreadsheet => atk_sys::ATK_ROLE_DOCUMENT_SPREADSHEET,
704             Role::DocumentPresentation => atk_sys::ATK_ROLE_DOCUMENT_PRESENTATION,
705             Role::DocumentText => atk_sys::ATK_ROLE_DOCUMENT_TEXT,
706             Role::DocumentWeb => atk_sys::ATK_ROLE_DOCUMENT_WEB,
707             Role::DocumentEmail => atk_sys::ATK_ROLE_DOCUMENT_EMAIL,
708             Role::Comment => atk_sys::ATK_ROLE_COMMENT,
709             Role::ListBox => atk_sys::ATK_ROLE_LIST_BOX,
710             Role::Grouping => atk_sys::ATK_ROLE_GROUPING,
711             Role::ImageMap => atk_sys::ATK_ROLE_IMAGE_MAP,
712             Role::Notification => atk_sys::ATK_ROLE_NOTIFICATION,
713             Role::InfoBar => atk_sys::ATK_ROLE_INFO_BAR,
714             Role::LevelBar => atk_sys::ATK_ROLE_LEVEL_BAR,
715             Role::TitleBar => atk_sys::ATK_ROLE_TITLE_BAR,
716             Role::BlockQuote => atk_sys::ATK_ROLE_BLOCK_QUOTE,
717             Role::Audio => atk_sys::ATK_ROLE_AUDIO,
718             Role::Video => atk_sys::ATK_ROLE_VIDEO,
719             Role::Definition => atk_sys::ATK_ROLE_DEFINITION,
720             Role::Article => atk_sys::ATK_ROLE_ARTICLE,
721             Role::Landmark => atk_sys::ATK_ROLE_LANDMARK,
722             Role::Log => atk_sys::ATK_ROLE_LOG,
723             Role::Marquee => atk_sys::ATK_ROLE_MARQUEE,
724             Role::Math => atk_sys::ATK_ROLE_MATH,
725             Role::Rating => atk_sys::ATK_ROLE_RATING,
726             Role::Timer => atk_sys::ATK_ROLE_TIMER,
727             Role::DescriptionList => atk_sys::ATK_ROLE_DESCRIPTION_LIST,
728             Role::DescriptionTerm => atk_sys::ATK_ROLE_DESCRIPTION_TERM,
729             Role::DescriptionValue => atk_sys::ATK_ROLE_DESCRIPTION_VALUE,
730             Role::Static => atk_sys::ATK_ROLE_STATIC,
731             Role::MathFraction => atk_sys::ATK_ROLE_MATH_FRACTION,
732             Role::MathRoot => atk_sys::ATK_ROLE_MATH_ROOT,
733             Role::Subscript => atk_sys::ATK_ROLE_SUBSCRIPT,
734             Role::Superscript => atk_sys::ATK_ROLE_SUPERSCRIPT,
735             Role::Footnote => atk_sys::ATK_ROLE_FOOTNOTE,
736             Role::ContentDeletion => atk_sys::ATK_ROLE_CONTENT_DELETION,
737             Role::ContentInsertion => atk_sys::ATK_ROLE_CONTENT_INSERTION,
738             Role::LastDefined => atk_sys::ATK_ROLE_LAST_DEFINED,
739             Role::__Unknown(value) => value,
740         }
741     }
742 }
743 
744 #[doc(hidden)]
745 impl FromGlib<atk_sys::AtkRole> for Role {
from_glib(value: atk_sys::AtkRole) -> Self746     fn from_glib(value: atk_sys::AtkRole) -> Self {
747         skip_assert_initialized!();
748         match value {
749             0 => Role::Invalid,
750             1 => Role::AcceleratorLabel,
751             2 => Role::Alert,
752             3 => Role::Animation,
753             4 => Role::Arrow,
754             5 => Role::Calendar,
755             6 => Role::Canvas,
756             7 => Role::CheckBox,
757             8 => Role::CheckMenuItem,
758             9 => Role::ColorChooser,
759             10 => Role::ColumnHeader,
760             11 => Role::ComboBox,
761             12 => Role::DateEditor,
762             13 => Role::DesktopIcon,
763             14 => Role::DesktopFrame,
764             15 => Role::Dial,
765             16 => Role::Dialog,
766             17 => Role::DirectoryPane,
767             18 => Role::DrawingArea,
768             19 => Role::FileChooser,
769             20 => Role::Filler,
770             21 => Role::FontChooser,
771             22 => Role::Frame,
772             23 => Role::GlassPane,
773             24 => Role::HtmlContainer,
774             25 => Role::Icon,
775             26 => Role::Image,
776             27 => Role::InternalFrame,
777             28 => Role::Label,
778             29 => Role::LayeredPane,
779             30 => Role::List,
780             31 => Role::ListItem,
781             32 => Role::Menu,
782             33 => Role::MenuBar,
783             34 => Role::MenuItem,
784             35 => Role::OptionPane,
785             36 => Role::PageTab,
786             37 => Role::PageTabList,
787             38 => Role::Panel,
788             39 => Role::PasswordText,
789             40 => Role::PopupMenu,
790             41 => Role::ProgressBar,
791             42 => Role::PushButton,
792             43 => Role::RadioButton,
793             44 => Role::RadioMenuItem,
794             45 => Role::RootPane,
795             46 => Role::RowHeader,
796             47 => Role::ScrollBar,
797             48 => Role::ScrollPane,
798             49 => Role::Separator,
799             50 => Role::Slider,
800             51 => Role::SplitPane,
801             52 => Role::SpinButton,
802             53 => Role::Statusbar,
803             54 => Role::Table,
804             55 => Role::TableCell,
805             56 => Role::TableColumnHeader,
806             57 => Role::TableRowHeader,
807             58 => Role::TearOffMenuItem,
808             59 => Role::Terminal,
809             60 => Role::Text,
810             61 => Role::ToggleButton,
811             62 => Role::ToolBar,
812             63 => Role::ToolTip,
813             64 => Role::Tree,
814             65 => Role::TreeTable,
815             66 => Role::Unknown,
816             67 => Role::Viewport,
817             68 => Role::Window,
818             69 => Role::Header,
819             70 => Role::Footer,
820             71 => Role::Paragraph,
821             72 => Role::Ruler,
822             73 => Role::Application,
823             74 => Role::Autocomplete,
824             75 => Role::EditBar,
825             76 => Role::Embedded,
826             77 => Role::Entry,
827             78 => Role::Chart,
828             79 => Role::Caption,
829             80 => Role::DocumentFrame,
830             81 => Role::Heading,
831             82 => Role::Page,
832             83 => Role::Section,
833             84 => Role::RedundantObject,
834             85 => Role::Form,
835             86 => Role::Link,
836             87 => Role::InputMethodWindow,
837             88 => Role::TableRow,
838             89 => Role::TreeItem,
839             90 => Role::DocumentSpreadsheet,
840             91 => Role::DocumentPresentation,
841             92 => Role::DocumentText,
842             93 => Role::DocumentWeb,
843             94 => Role::DocumentEmail,
844             95 => Role::Comment,
845             96 => Role::ListBox,
846             97 => Role::Grouping,
847             98 => Role::ImageMap,
848             99 => Role::Notification,
849             100 => Role::InfoBar,
850             101 => Role::LevelBar,
851             102 => Role::TitleBar,
852             103 => Role::BlockQuote,
853             104 => Role::Audio,
854             105 => Role::Video,
855             106 => Role::Definition,
856             107 => Role::Article,
857             108 => Role::Landmark,
858             109 => Role::Log,
859             110 => Role::Marquee,
860             111 => Role::Math,
861             112 => Role::Rating,
862             113 => Role::Timer,
863             114 => Role::DescriptionList,
864             115 => Role::DescriptionTerm,
865             116 => Role::DescriptionValue,
866             117 => Role::Static,
867             118 => Role::MathFraction,
868             119 => Role::MathRoot,
869             120 => Role::Subscript,
870             121 => Role::Superscript,
871             122 => Role::Footnote,
872             123 => Role::ContentDeletion,
873             124 => Role::ContentInsertion,
874             125 => Role::LastDefined,
875             value => Role::__Unknown(value),
876         }
877     }
878 }
879 
880 impl StaticType for Role {
static_type() -> Type881     fn static_type() -> Type {
882         unsafe { from_glib(atk_sys::atk_role_get_type()) }
883     }
884 }
885 
886 impl<'a> FromValueOptional<'a> for Role {
from_value_optional(value: &Value) -> Option<Self>887     unsafe fn from_value_optional(value: &Value) -> Option<Self> {
888         Some(FromValue::from_value(value))
889     }
890 }
891 
892 impl<'a> FromValue<'a> for Role {
from_value(value: &Value) -> Self893     unsafe fn from_value(value: &Value) -> Self {
894         from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
895     }
896 }
897 
898 impl SetValue for Role {
set_value(value: &mut Value, this: &Self)899     unsafe fn set_value(value: &mut Value, this: &Self) {
900         gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
901     }
902 }
903 
904 #[cfg(any(feature = "v2_30", feature = "dox"))]
905 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
906 pub enum ScrollType {
907     TopLeft,
908     BottomRight,
909     TopEdge,
910     BottomEdge,
911     LeftEdge,
912     RightEdge,
913     Anywhere,
914     #[doc(hidden)]
915     __Unknown(i32),
916 }
917 
918 #[cfg(any(feature = "v2_30", feature = "dox"))]
919 impl fmt::Display for ScrollType {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result920     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
921         write!(
922             f,
923             "ScrollType::{}",
924             match *self {
925                 ScrollType::TopLeft => "TopLeft",
926                 ScrollType::BottomRight => "BottomRight",
927                 ScrollType::TopEdge => "TopEdge",
928                 ScrollType::BottomEdge => "BottomEdge",
929                 ScrollType::LeftEdge => "LeftEdge",
930                 ScrollType::RightEdge => "RightEdge",
931                 ScrollType::Anywhere => "Anywhere",
932                 _ => "Unknown",
933             }
934         )
935     }
936 }
937 
938 #[cfg(any(feature = "v2_30", feature = "dox"))]
939 #[doc(hidden)]
940 impl ToGlib for ScrollType {
941     type GlibType = atk_sys::AtkScrollType;
942 
to_glib(&self) -> atk_sys::AtkScrollType943     fn to_glib(&self) -> atk_sys::AtkScrollType {
944         match *self {
945             ScrollType::TopLeft => atk_sys::ATK_SCROLL_TOP_LEFT,
946             ScrollType::BottomRight => atk_sys::ATK_SCROLL_BOTTOM_RIGHT,
947             ScrollType::TopEdge => atk_sys::ATK_SCROLL_TOP_EDGE,
948             ScrollType::BottomEdge => atk_sys::ATK_SCROLL_BOTTOM_EDGE,
949             ScrollType::LeftEdge => atk_sys::ATK_SCROLL_LEFT_EDGE,
950             ScrollType::RightEdge => atk_sys::ATK_SCROLL_RIGHT_EDGE,
951             ScrollType::Anywhere => atk_sys::ATK_SCROLL_ANYWHERE,
952             ScrollType::__Unknown(value) => value,
953         }
954     }
955 }
956 
957 #[cfg(any(feature = "v2_30", feature = "dox"))]
958 #[doc(hidden)]
959 impl FromGlib<atk_sys::AtkScrollType> for ScrollType {
from_glib(value: atk_sys::AtkScrollType) -> Self960     fn from_glib(value: atk_sys::AtkScrollType) -> Self {
961         skip_assert_initialized!();
962         match value {
963             0 => ScrollType::TopLeft,
964             1 => ScrollType::BottomRight,
965             2 => ScrollType::TopEdge,
966             3 => ScrollType::BottomEdge,
967             4 => ScrollType::LeftEdge,
968             5 => ScrollType::RightEdge,
969             6 => ScrollType::Anywhere,
970             value => ScrollType::__Unknown(value),
971         }
972     }
973 }
974 
975 #[cfg(any(feature = "v2_30", feature = "dox"))]
976 impl StaticType for ScrollType {
static_type() -> Type977     fn static_type() -> Type {
978         unsafe { from_glib(atk_sys::atk_scroll_type_get_type()) }
979     }
980 }
981 
982 #[cfg(any(feature = "v2_30", feature = "dox"))]
983 impl<'a> FromValueOptional<'a> for ScrollType {
from_value_optional(value: &Value) -> Option<Self>984     unsafe fn from_value_optional(value: &Value) -> Option<Self> {
985         Some(FromValue::from_value(value))
986     }
987 }
988 
989 #[cfg(any(feature = "v2_30", feature = "dox"))]
990 impl<'a> FromValue<'a> for ScrollType {
from_value(value: &Value) -> Self991     unsafe fn from_value(value: &Value) -> Self {
992         from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
993     }
994 }
995 
996 #[cfg(any(feature = "v2_30", feature = "dox"))]
997 impl SetValue for ScrollType {
set_value(value: &mut Value, this: &Self)998     unsafe fn set_value(value: &mut Value, this: &Self) {
999         gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1000     }
1001 }
1002 
1003 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1004 pub enum StateType {
1005     Invalid,
1006     Active,
1007     Armed,
1008     Busy,
1009     Checked,
1010     Defunct,
1011     Editable,
1012     Enabled,
1013     Expandable,
1014     Expanded,
1015     Focusable,
1016     Focused,
1017     Horizontal,
1018     Iconified,
1019     Modal,
1020     MultiLine,
1021     Multiselectable,
1022     Opaque,
1023     Pressed,
1024     Resizable,
1025     Selectable,
1026     Selected,
1027     Sensitive,
1028     Showing,
1029     SingleLine,
1030     Stale,
1031     Transient,
1032     Vertical,
1033     Visible,
1034     ManagesDescendants,
1035     Indeterminate,
1036     Truncated,
1037     Required,
1038     InvalidEntry,
1039     SupportsAutocompletion,
1040     SelectableText,
1041     Default,
1042     Animated,
1043     Visited,
1044     Checkable,
1045     HasPopup,
1046     HasTooltip,
1047     ReadOnly,
1048     LastDefined,
1049     #[doc(hidden)]
1050     __Unknown(i32),
1051 }
1052 
1053 impl fmt::Display for StateType {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result1054     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1055         write!(
1056             f,
1057             "StateType::{}",
1058             match *self {
1059                 StateType::Invalid => "Invalid",
1060                 StateType::Active => "Active",
1061                 StateType::Armed => "Armed",
1062                 StateType::Busy => "Busy",
1063                 StateType::Checked => "Checked",
1064                 StateType::Defunct => "Defunct",
1065                 StateType::Editable => "Editable",
1066                 StateType::Enabled => "Enabled",
1067                 StateType::Expandable => "Expandable",
1068                 StateType::Expanded => "Expanded",
1069                 StateType::Focusable => "Focusable",
1070                 StateType::Focused => "Focused",
1071                 StateType::Horizontal => "Horizontal",
1072                 StateType::Iconified => "Iconified",
1073                 StateType::Modal => "Modal",
1074                 StateType::MultiLine => "MultiLine",
1075                 StateType::Multiselectable => "Multiselectable",
1076                 StateType::Opaque => "Opaque",
1077                 StateType::Pressed => "Pressed",
1078                 StateType::Resizable => "Resizable",
1079                 StateType::Selectable => "Selectable",
1080                 StateType::Selected => "Selected",
1081                 StateType::Sensitive => "Sensitive",
1082                 StateType::Showing => "Showing",
1083                 StateType::SingleLine => "SingleLine",
1084                 StateType::Stale => "Stale",
1085                 StateType::Transient => "Transient",
1086                 StateType::Vertical => "Vertical",
1087                 StateType::Visible => "Visible",
1088                 StateType::ManagesDescendants => "ManagesDescendants",
1089                 StateType::Indeterminate => "Indeterminate",
1090                 StateType::Truncated => "Truncated",
1091                 StateType::Required => "Required",
1092                 StateType::InvalidEntry => "InvalidEntry",
1093                 StateType::SupportsAutocompletion => "SupportsAutocompletion",
1094                 StateType::SelectableText => "SelectableText",
1095                 StateType::Default => "Default",
1096                 StateType::Animated => "Animated",
1097                 StateType::Visited => "Visited",
1098                 StateType::Checkable => "Checkable",
1099                 StateType::HasPopup => "HasPopup",
1100                 StateType::HasTooltip => "HasTooltip",
1101                 StateType::ReadOnly => "ReadOnly",
1102                 StateType::LastDefined => "LastDefined",
1103                 _ => "Unknown",
1104             }
1105         )
1106     }
1107 }
1108 
1109 #[doc(hidden)]
1110 impl ToGlib for StateType {
1111     type GlibType = atk_sys::AtkStateType;
1112 
to_glib(&self) -> atk_sys::AtkStateType1113     fn to_glib(&self) -> atk_sys::AtkStateType {
1114         match *self {
1115             StateType::Invalid => atk_sys::ATK_STATE_INVALID,
1116             StateType::Active => atk_sys::ATK_STATE_ACTIVE,
1117             StateType::Armed => atk_sys::ATK_STATE_ARMED,
1118             StateType::Busy => atk_sys::ATK_STATE_BUSY,
1119             StateType::Checked => atk_sys::ATK_STATE_CHECKED,
1120             StateType::Defunct => atk_sys::ATK_STATE_DEFUNCT,
1121             StateType::Editable => atk_sys::ATK_STATE_EDITABLE,
1122             StateType::Enabled => atk_sys::ATK_STATE_ENABLED,
1123             StateType::Expandable => atk_sys::ATK_STATE_EXPANDABLE,
1124             StateType::Expanded => atk_sys::ATK_STATE_EXPANDED,
1125             StateType::Focusable => atk_sys::ATK_STATE_FOCUSABLE,
1126             StateType::Focused => atk_sys::ATK_STATE_FOCUSED,
1127             StateType::Horizontal => atk_sys::ATK_STATE_HORIZONTAL,
1128             StateType::Iconified => atk_sys::ATK_STATE_ICONIFIED,
1129             StateType::Modal => atk_sys::ATK_STATE_MODAL,
1130             StateType::MultiLine => atk_sys::ATK_STATE_MULTI_LINE,
1131             StateType::Multiselectable => atk_sys::ATK_STATE_MULTISELECTABLE,
1132             StateType::Opaque => atk_sys::ATK_STATE_OPAQUE,
1133             StateType::Pressed => atk_sys::ATK_STATE_PRESSED,
1134             StateType::Resizable => atk_sys::ATK_STATE_RESIZABLE,
1135             StateType::Selectable => atk_sys::ATK_STATE_SELECTABLE,
1136             StateType::Selected => atk_sys::ATK_STATE_SELECTED,
1137             StateType::Sensitive => atk_sys::ATK_STATE_SENSITIVE,
1138             StateType::Showing => atk_sys::ATK_STATE_SHOWING,
1139             StateType::SingleLine => atk_sys::ATK_STATE_SINGLE_LINE,
1140             StateType::Stale => atk_sys::ATK_STATE_STALE,
1141             StateType::Transient => atk_sys::ATK_STATE_TRANSIENT,
1142             StateType::Vertical => atk_sys::ATK_STATE_VERTICAL,
1143             StateType::Visible => atk_sys::ATK_STATE_VISIBLE,
1144             StateType::ManagesDescendants => atk_sys::ATK_STATE_MANAGES_DESCENDANTS,
1145             StateType::Indeterminate => atk_sys::ATK_STATE_INDETERMINATE,
1146             StateType::Truncated => atk_sys::ATK_STATE_TRUNCATED,
1147             StateType::Required => atk_sys::ATK_STATE_REQUIRED,
1148             StateType::InvalidEntry => atk_sys::ATK_STATE_INVALID_ENTRY,
1149             StateType::SupportsAutocompletion => atk_sys::ATK_STATE_SUPPORTS_AUTOCOMPLETION,
1150             StateType::SelectableText => atk_sys::ATK_STATE_SELECTABLE_TEXT,
1151             StateType::Default => atk_sys::ATK_STATE_DEFAULT,
1152             StateType::Animated => atk_sys::ATK_STATE_ANIMATED,
1153             StateType::Visited => atk_sys::ATK_STATE_VISITED,
1154             StateType::Checkable => atk_sys::ATK_STATE_CHECKABLE,
1155             StateType::HasPopup => atk_sys::ATK_STATE_HAS_POPUP,
1156             StateType::HasTooltip => atk_sys::ATK_STATE_HAS_TOOLTIP,
1157             StateType::ReadOnly => atk_sys::ATK_STATE_READ_ONLY,
1158             StateType::LastDefined => atk_sys::ATK_STATE_LAST_DEFINED,
1159             StateType::__Unknown(value) => value,
1160         }
1161     }
1162 }
1163 
1164 #[doc(hidden)]
1165 impl FromGlib<atk_sys::AtkStateType> for StateType {
from_glib(value: atk_sys::AtkStateType) -> Self1166     fn from_glib(value: atk_sys::AtkStateType) -> Self {
1167         skip_assert_initialized!();
1168         match value {
1169             0 => StateType::Invalid,
1170             1 => StateType::Active,
1171             2 => StateType::Armed,
1172             3 => StateType::Busy,
1173             4 => StateType::Checked,
1174             5 => StateType::Defunct,
1175             6 => StateType::Editable,
1176             7 => StateType::Enabled,
1177             8 => StateType::Expandable,
1178             9 => StateType::Expanded,
1179             10 => StateType::Focusable,
1180             11 => StateType::Focused,
1181             12 => StateType::Horizontal,
1182             13 => StateType::Iconified,
1183             14 => StateType::Modal,
1184             15 => StateType::MultiLine,
1185             16 => StateType::Multiselectable,
1186             17 => StateType::Opaque,
1187             18 => StateType::Pressed,
1188             19 => StateType::Resizable,
1189             20 => StateType::Selectable,
1190             21 => StateType::Selected,
1191             22 => StateType::Sensitive,
1192             23 => StateType::Showing,
1193             24 => StateType::SingleLine,
1194             25 => StateType::Stale,
1195             26 => StateType::Transient,
1196             27 => StateType::Vertical,
1197             28 => StateType::Visible,
1198             29 => StateType::ManagesDescendants,
1199             30 => StateType::Indeterminate,
1200             31 => StateType::Truncated,
1201             32 => StateType::Required,
1202             33 => StateType::InvalidEntry,
1203             34 => StateType::SupportsAutocompletion,
1204             35 => StateType::SelectableText,
1205             36 => StateType::Default,
1206             37 => StateType::Animated,
1207             38 => StateType::Visited,
1208             39 => StateType::Checkable,
1209             40 => StateType::HasPopup,
1210             41 => StateType::HasTooltip,
1211             42 => StateType::ReadOnly,
1212             43 => StateType::LastDefined,
1213             value => StateType::__Unknown(value),
1214         }
1215     }
1216 }
1217 
1218 impl StaticType for StateType {
static_type() -> Type1219     fn static_type() -> Type {
1220         unsafe { from_glib(atk_sys::atk_state_type_get_type()) }
1221     }
1222 }
1223 
1224 impl<'a> FromValueOptional<'a> for StateType {
from_value_optional(value: &Value) -> Option<Self>1225     unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1226         Some(FromValue::from_value(value))
1227     }
1228 }
1229 
1230 impl<'a> FromValue<'a> for StateType {
from_value(value: &Value) -> Self1231     unsafe fn from_value(value: &Value) -> Self {
1232         from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1233     }
1234 }
1235 
1236 impl SetValue for StateType {
set_value(value: &mut Value, this: &Self)1237     unsafe fn set_value(value: &mut Value, this: &Self) {
1238         gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1239     }
1240 }
1241 
1242 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1243 pub enum TextAttribute {
1244     Invalid,
1245     LeftMargin,
1246     RightMargin,
1247     Indent,
1248     Invisible,
1249     Editable,
1250     PixelsAboveLines,
1251     PixelsBelowLines,
1252     PixelsInsideWrap,
1253     BgFullHeight,
1254     Rise,
1255     Underline,
1256     Strikethrough,
1257     Size,
1258     Scale,
1259     Weight,
1260     Language,
1261     FamilyName,
1262     BgColor,
1263     FgColor,
1264     BgStipple,
1265     FgStipple,
1266     WrapMode,
1267     Direction,
1268     Justification,
1269     Stretch,
1270     Variant,
1271     Style,
1272     LastDefined,
1273     #[doc(hidden)]
1274     __Unknown(i32),
1275 }
1276 
1277 impl fmt::Display for TextAttribute {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result1278     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1279         write!(
1280             f,
1281             "TextAttribute::{}",
1282             match *self {
1283                 TextAttribute::Invalid => "Invalid",
1284                 TextAttribute::LeftMargin => "LeftMargin",
1285                 TextAttribute::RightMargin => "RightMargin",
1286                 TextAttribute::Indent => "Indent",
1287                 TextAttribute::Invisible => "Invisible",
1288                 TextAttribute::Editable => "Editable",
1289                 TextAttribute::PixelsAboveLines => "PixelsAboveLines",
1290                 TextAttribute::PixelsBelowLines => "PixelsBelowLines",
1291                 TextAttribute::PixelsInsideWrap => "PixelsInsideWrap",
1292                 TextAttribute::BgFullHeight => "BgFullHeight",
1293                 TextAttribute::Rise => "Rise",
1294                 TextAttribute::Underline => "Underline",
1295                 TextAttribute::Strikethrough => "Strikethrough",
1296                 TextAttribute::Size => "Size",
1297                 TextAttribute::Scale => "Scale",
1298                 TextAttribute::Weight => "Weight",
1299                 TextAttribute::Language => "Language",
1300                 TextAttribute::FamilyName => "FamilyName",
1301                 TextAttribute::BgColor => "BgColor",
1302                 TextAttribute::FgColor => "FgColor",
1303                 TextAttribute::BgStipple => "BgStipple",
1304                 TextAttribute::FgStipple => "FgStipple",
1305                 TextAttribute::WrapMode => "WrapMode",
1306                 TextAttribute::Direction => "Direction",
1307                 TextAttribute::Justification => "Justification",
1308                 TextAttribute::Stretch => "Stretch",
1309                 TextAttribute::Variant => "Variant",
1310                 TextAttribute::Style => "Style",
1311                 TextAttribute::LastDefined => "LastDefined",
1312                 _ => "Unknown",
1313             }
1314         )
1315     }
1316 }
1317 
1318 #[doc(hidden)]
1319 impl ToGlib for TextAttribute {
1320     type GlibType = atk_sys::AtkTextAttribute;
1321 
to_glib(&self) -> atk_sys::AtkTextAttribute1322     fn to_glib(&self) -> atk_sys::AtkTextAttribute {
1323         match *self {
1324             TextAttribute::Invalid => atk_sys::ATK_TEXT_ATTR_INVALID,
1325             TextAttribute::LeftMargin => atk_sys::ATK_TEXT_ATTR_LEFT_MARGIN,
1326             TextAttribute::RightMargin => atk_sys::ATK_TEXT_ATTR_RIGHT_MARGIN,
1327             TextAttribute::Indent => atk_sys::ATK_TEXT_ATTR_INDENT,
1328             TextAttribute::Invisible => atk_sys::ATK_TEXT_ATTR_INVISIBLE,
1329             TextAttribute::Editable => atk_sys::ATK_TEXT_ATTR_EDITABLE,
1330             TextAttribute::PixelsAboveLines => atk_sys::ATK_TEXT_ATTR_PIXELS_ABOVE_LINES,
1331             TextAttribute::PixelsBelowLines => atk_sys::ATK_TEXT_ATTR_PIXELS_BELOW_LINES,
1332             TextAttribute::PixelsInsideWrap => atk_sys::ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP,
1333             TextAttribute::BgFullHeight => atk_sys::ATK_TEXT_ATTR_BG_FULL_HEIGHT,
1334             TextAttribute::Rise => atk_sys::ATK_TEXT_ATTR_RISE,
1335             TextAttribute::Underline => atk_sys::ATK_TEXT_ATTR_UNDERLINE,
1336             TextAttribute::Strikethrough => atk_sys::ATK_TEXT_ATTR_STRIKETHROUGH,
1337             TextAttribute::Size => atk_sys::ATK_TEXT_ATTR_SIZE,
1338             TextAttribute::Scale => atk_sys::ATK_TEXT_ATTR_SCALE,
1339             TextAttribute::Weight => atk_sys::ATK_TEXT_ATTR_WEIGHT,
1340             TextAttribute::Language => atk_sys::ATK_TEXT_ATTR_LANGUAGE,
1341             TextAttribute::FamilyName => atk_sys::ATK_TEXT_ATTR_FAMILY_NAME,
1342             TextAttribute::BgColor => atk_sys::ATK_TEXT_ATTR_BG_COLOR,
1343             TextAttribute::FgColor => atk_sys::ATK_TEXT_ATTR_FG_COLOR,
1344             TextAttribute::BgStipple => atk_sys::ATK_TEXT_ATTR_BG_STIPPLE,
1345             TextAttribute::FgStipple => atk_sys::ATK_TEXT_ATTR_FG_STIPPLE,
1346             TextAttribute::WrapMode => atk_sys::ATK_TEXT_ATTR_WRAP_MODE,
1347             TextAttribute::Direction => atk_sys::ATK_TEXT_ATTR_DIRECTION,
1348             TextAttribute::Justification => atk_sys::ATK_TEXT_ATTR_JUSTIFICATION,
1349             TextAttribute::Stretch => atk_sys::ATK_TEXT_ATTR_STRETCH,
1350             TextAttribute::Variant => atk_sys::ATK_TEXT_ATTR_VARIANT,
1351             TextAttribute::Style => atk_sys::ATK_TEXT_ATTR_STYLE,
1352             TextAttribute::LastDefined => atk_sys::ATK_TEXT_ATTR_LAST_DEFINED,
1353             TextAttribute::__Unknown(value) => value,
1354         }
1355     }
1356 }
1357 
1358 #[doc(hidden)]
1359 impl FromGlib<atk_sys::AtkTextAttribute> for TextAttribute {
from_glib(value: atk_sys::AtkTextAttribute) -> Self1360     fn from_glib(value: atk_sys::AtkTextAttribute) -> Self {
1361         skip_assert_initialized!();
1362         match value {
1363             0 => TextAttribute::Invalid,
1364             1 => TextAttribute::LeftMargin,
1365             2 => TextAttribute::RightMargin,
1366             3 => TextAttribute::Indent,
1367             4 => TextAttribute::Invisible,
1368             5 => TextAttribute::Editable,
1369             6 => TextAttribute::PixelsAboveLines,
1370             7 => TextAttribute::PixelsBelowLines,
1371             8 => TextAttribute::PixelsInsideWrap,
1372             9 => TextAttribute::BgFullHeight,
1373             10 => TextAttribute::Rise,
1374             11 => TextAttribute::Underline,
1375             12 => TextAttribute::Strikethrough,
1376             13 => TextAttribute::Size,
1377             14 => TextAttribute::Scale,
1378             15 => TextAttribute::Weight,
1379             16 => TextAttribute::Language,
1380             17 => TextAttribute::FamilyName,
1381             18 => TextAttribute::BgColor,
1382             19 => TextAttribute::FgColor,
1383             20 => TextAttribute::BgStipple,
1384             21 => TextAttribute::FgStipple,
1385             22 => TextAttribute::WrapMode,
1386             23 => TextAttribute::Direction,
1387             24 => TextAttribute::Justification,
1388             25 => TextAttribute::Stretch,
1389             26 => TextAttribute::Variant,
1390             27 => TextAttribute::Style,
1391             28 => TextAttribute::LastDefined,
1392             value => TextAttribute::__Unknown(value),
1393         }
1394     }
1395 }
1396 
1397 impl StaticType for TextAttribute {
static_type() -> Type1398     fn static_type() -> Type {
1399         unsafe { from_glib(atk_sys::atk_text_attribute_get_type()) }
1400     }
1401 }
1402 
1403 impl<'a> FromValueOptional<'a> for TextAttribute {
from_value_optional(value: &Value) -> Option<Self>1404     unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1405         Some(FromValue::from_value(value))
1406     }
1407 }
1408 
1409 impl<'a> FromValue<'a> for TextAttribute {
from_value(value: &Value) -> Self1410     unsafe fn from_value(value: &Value) -> Self {
1411         from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1412     }
1413 }
1414 
1415 impl SetValue for TextAttribute {
set_value(value: &mut Value, this: &Self)1416     unsafe fn set_value(value: &mut Value, this: &Self) {
1417         gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1418     }
1419 }
1420 
1421 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1422 pub enum TextBoundary {
1423     Char,
1424     WordStart,
1425     WordEnd,
1426     SentenceStart,
1427     SentenceEnd,
1428     LineStart,
1429     LineEnd,
1430     #[doc(hidden)]
1431     __Unknown(i32),
1432 }
1433 
1434 impl fmt::Display for TextBoundary {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result1435     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1436         write!(
1437             f,
1438             "TextBoundary::{}",
1439             match *self {
1440                 TextBoundary::Char => "Char",
1441                 TextBoundary::WordStart => "WordStart",
1442                 TextBoundary::WordEnd => "WordEnd",
1443                 TextBoundary::SentenceStart => "SentenceStart",
1444                 TextBoundary::SentenceEnd => "SentenceEnd",
1445                 TextBoundary::LineStart => "LineStart",
1446                 TextBoundary::LineEnd => "LineEnd",
1447                 _ => "Unknown",
1448             }
1449         )
1450     }
1451 }
1452 
1453 #[doc(hidden)]
1454 impl ToGlib for TextBoundary {
1455     type GlibType = atk_sys::AtkTextBoundary;
1456 
to_glib(&self) -> atk_sys::AtkTextBoundary1457     fn to_glib(&self) -> atk_sys::AtkTextBoundary {
1458         match *self {
1459             TextBoundary::Char => atk_sys::ATK_TEXT_BOUNDARY_CHAR,
1460             TextBoundary::WordStart => atk_sys::ATK_TEXT_BOUNDARY_WORD_START,
1461             TextBoundary::WordEnd => atk_sys::ATK_TEXT_BOUNDARY_WORD_END,
1462             TextBoundary::SentenceStart => atk_sys::ATK_TEXT_BOUNDARY_SENTENCE_START,
1463             TextBoundary::SentenceEnd => atk_sys::ATK_TEXT_BOUNDARY_SENTENCE_END,
1464             TextBoundary::LineStart => atk_sys::ATK_TEXT_BOUNDARY_LINE_START,
1465             TextBoundary::LineEnd => atk_sys::ATK_TEXT_BOUNDARY_LINE_END,
1466             TextBoundary::__Unknown(value) => value,
1467         }
1468     }
1469 }
1470 
1471 #[doc(hidden)]
1472 impl FromGlib<atk_sys::AtkTextBoundary> for TextBoundary {
from_glib(value: atk_sys::AtkTextBoundary) -> Self1473     fn from_glib(value: atk_sys::AtkTextBoundary) -> Self {
1474         skip_assert_initialized!();
1475         match value {
1476             0 => TextBoundary::Char,
1477             1 => TextBoundary::WordStart,
1478             2 => TextBoundary::WordEnd,
1479             3 => TextBoundary::SentenceStart,
1480             4 => TextBoundary::SentenceEnd,
1481             5 => TextBoundary::LineStart,
1482             6 => TextBoundary::LineEnd,
1483             value => TextBoundary::__Unknown(value),
1484         }
1485     }
1486 }
1487 
1488 impl StaticType for TextBoundary {
static_type() -> Type1489     fn static_type() -> Type {
1490         unsafe { from_glib(atk_sys::atk_text_boundary_get_type()) }
1491     }
1492 }
1493 
1494 impl<'a> FromValueOptional<'a> for TextBoundary {
from_value_optional(value: &Value) -> Option<Self>1495     unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1496         Some(FromValue::from_value(value))
1497     }
1498 }
1499 
1500 impl<'a> FromValue<'a> for TextBoundary {
from_value(value: &Value) -> Self1501     unsafe fn from_value(value: &Value) -> Self {
1502         from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1503     }
1504 }
1505 
1506 impl SetValue for TextBoundary {
set_value(value: &mut Value, this: &Self)1507     unsafe fn set_value(value: &mut Value, this: &Self) {
1508         gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1509     }
1510 }
1511 
1512 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1513 pub enum TextClipType {
1514     None,
1515     Min,
1516     Max,
1517     Both,
1518     #[doc(hidden)]
1519     __Unknown(i32),
1520 }
1521 
1522 impl fmt::Display for TextClipType {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result1523     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1524         write!(
1525             f,
1526             "TextClipType::{}",
1527             match *self {
1528                 TextClipType::None => "None",
1529                 TextClipType::Min => "Min",
1530                 TextClipType::Max => "Max",
1531                 TextClipType::Both => "Both",
1532                 _ => "Unknown",
1533             }
1534         )
1535     }
1536 }
1537 
1538 #[doc(hidden)]
1539 impl ToGlib for TextClipType {
1540     type GlibType = atk_sys::AtkTextClipType;
1541 
to_glib(&self) -> atk_sys::AtkTextClipType1542     fn to_glib(&self) -> atk_sys::AtkTextClipType {
1543         match *self {
1544             TextClipType::None => atk_sys::ATK_TEXT_CLIP_NONE,
1545             TextClipType::Min => atk_sys::ATK_TEXT_CLIP_MIN,
1546             TextClipType::Max => atk_sys::ATK_TEXT_CLIP_MAX,
1547             TextClipType::Both => atk_sys::ATK_TEXT_CLIP_BOTH,
1548             TextClipType::__Unknown(value) => value,
1549         }
1550     }
1551 }
1552 
1553 #[doc(hidden)]
1554 impl FromGlib<atk_sys::AtkTextClipType> for TextClipType {
from_glib(value: atk_sys::AtkTextClipType) -> Self1555     fn from_glib(value: atk_sys::AtkTextClipType) -> Self {
1556         skip_assert_initialized!();
1557         match value {
1558             0 => TextClipType::None,
1559             1 => TextClipType::Min,
1560             2 => TextClipType::Max,
1561             3 => TextClipType::Both,
1562             value => TextClipType::__Unknown(value),
1563         }
1564     }
1565 }
1566 
1567 impl StaticType for TextClipType {
static_type() -> Type1568     fn static_type() -> Type {
1569         unsafe { from_glib(atk_sys::atk_text_clip_type_get_type()) }
1570     }
1571 }
1572 
1573 impl<'a> FromValueOptional<'a> for TextClipType {
from_value_optional(value: &Value) -> Option<Self>1574     unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1575         Some(FromValue::from_value(value))
1576     }
1577 }
1578 
1579 impl<'a> FromValue<'a> for TextClipType {
from_value(value: &Value) -> Self1580     unsafe fn from_value(value: &Value) -> Self {
1581         from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1582     }
1583 }
1584 
1585 impl SetValue for TextClipType {
set_value(value: &mut Value, this: &Self)1586     unsafe fn set_value(value: &mut Value, this: &Self) {
1587         gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1588     }
1589 }
1590 
1591 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1592 pub enum TextGranularity {
1593     Char,
1594     Word,
1595     Sentence,
1596     Line,
1597     Paragraph,
1598     #[doc(hidden)]
1599     __Unknown(i32),
1600 }
1601 
1602 impl fmt::Display for TextGranularity {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result1603     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1604         write!(
1605             f,
1606             "TextGranularity::{}",
1607             match *self {
1608                 TextGranularity::Char => "Char",
1609                 TextGranularity::Word => "Word",
1610                 TextGranularity::Sentence => "Sentence",
1611                 TextGranularity::Line => "Line",
1612                 TextGranularity::Paragraph => "Paragraph",
1613                 _ => "Unknown",
1614             }
1615         )
1616     }
1617 }
1618 
1619 #[doc(hidden)]
1620 impl ToGlib for TextGranularity {
1621     type GlibType = atk_sys::AtkTextGranularity;
1622 
to_glib(&self) -> atk_sys::AtkTextGranularity1623     fn to_glib(&self) -> atk_sys::AtkTextGranularity {
1624         match *self {
1625             TextGranularity::Char => atk_sys::ATK_TEXT_GRANULARITY_CHAR,
1626             TextGranularity::Word => atk_sys::ATK_TEXT_GRANULARITY_WORD,
1627             TextGranularity::Sentence => atk_sys::ATK_TEXT_GRANULARITY_SENTENCE,
1628             TextGranularity::Line => atk_sys::ATK_TEXT_GRANULARITY_LINE,
1629             TextGranularity::Paragraph => atk_sys::ATK_TEXT_GRANULARITY_PARAGRAPH,
1630             TextGranularity::__Unknown(value) => value,
1631         }
1632     }
1633 }
1634 
1635 #[doc(hidden)]
1636 impl FromGlib<atk_sys::AtkTextGranularity> for TextGranularity {
from_glib(value: atk_sys::AtkTextGranularity) -> Self1637     fn from_glib(value: atk_sys::AtkTextGranularity) -> Self {
1638         skip_assert_initialized!();
1639         match value {
1640             0 => TextGranularity::Char,
1641             1 => TextGranularity::Word,
1642             2 => TextGranularity::Sentence,
1643             3 => TextGranularity::Line,
1644             4 => TextGranularity::Paragraph,
1645             value => TextGranularity::__Unknown(value),
1646         }
1647     }
1648 }
1649 
1650 impl StaticType for TextGranularity {
static_type() -> Type1651     fn static_type() -> Type {
1652         unsafe { from_glib(atk_sys::atk_text_granularity_get_type()) }
1653     }
1654 }
1655 
1656 impl<'a> FromValueOptional<'a> for TextGranularity {
from_value_optional(value: &Value) -> Option<Self>1657     unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1658         Some(FromValue::from_value(value))
1659     }
1660 }
1661 
1662 impl<'a> FromValue<'a> for TextGranularity {
from_value(value: &Value) -> Self1663     unsafe fn from_value(value: &Value) -> Self {
1664         from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1665     }
1666 }
1667 
1668 impl SetValue for TextGranularity {
set_value(value: &mut Value, this: &Self)1669     unsafe fn set_value(value: &mut Value, this: &Self) {
1670         gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1671     }
1672 }
1673 
1674 #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1675 pub enum ValueType {
1676     VeryWeak,
1677     Weak,
1678     Acceptable,
1679     Strong,
1680     VeryStrong,
1681     VeryLow,
1682     Low,
1683     Medium,
1684     High,
1685     VeryHigh,
1686     VeryBad,
1687     Bad,
1688     Good,
1689     VeryGood,
1690     Best,
1691     LastDefined,
1692     #[doc(hidden)]
1693     __Unknown(i32),
1694 }
1695 
1696 impl fmt::Display for ValueType {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result1697     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1698         write!(
1699             f,
1700             "ValueType::{}",
1701             match *self {
1702                 ValueType::VeryWeak => "VeryWeak",
1703                 ValueType::Weak => "Weak",
1704                 ValueType::Acceptable => "Acceptable",
1705                 ValueType::Strong => "Strong",
1706                 ValueType::VeryStrong => "VeryStrong",
1707                 ValueType::VeryLow => "VeryLow",
1708                 ValueType::Low => "Low",
1709                 ValueType::Medium => "Medium",
1710                 ValueType::High => "High",
1711                 ValueType::VeryHigh => "VeryHigh",
1712                 ValueType::VeryBad => "VeryBad",
1713                 ValueType::Bad => "Bad",
1714                 ValueType::Good => "Good",
1715                 ValueType::VeryGood => "VeryGood",
1716                 ValueType::Best => "Best",
1717                 ValueType::LastDefined => "LastDefined",
1718                 _ => "Unknown",
1719             }
1720         )
1721     }
1722 }
1723 
1724 #[doc(hidden)]
1725 impl ToGlib for ValueType {
1726     type GlibType = atk_sys::AtkValueType;
1727 
to_glib(&self) -> atk_sys::AtkValueType1728     fn to_glib(&self) -> atk_sys::AtkValueType {
1729         match *self {
1730             ValueType::VeryWeak => atk_sys::ATK_VALUE_VERY_WEAK,
1731             ValueType::Weak => atk_sys::ATK_VALUE_WEAK,
1732             ValueType::Acceptable => atk_sys::ATK_VALUE_ACCEPTABLE,
1733             ValueType::Strong => atk_sys::ATK_VALUE_STRONG,
1734             ValueType::VeryStrong => atk_sys::ATK_VALUE_VERY_STRONG,
1735             ValueType::VeryLow => atk_sys::ATK_VALUE_VERY_LOW,
1736             ValueType::Low => atk_sys::ATK_VALUE_LOW,
1737             ValueType::Medium => atk_sys::ATK_VALUE_MEDIUM,
1738             ValueType::High => atk_sys::ATK_VALUE_HIGH,
1739             ValueType::VeryHigh => atk_sys::ATK_VALUE_VERY_HIGH,
1740             ValueType::VeryBad => atk_sys::ATK_VALUE_VERY_BAD,
1741             ValueType::Bad => atk_sys::ATK_VALUE_BAD,
1742             ValueType::Good => atk_sys::ATK_VALUE_GOOD,
1743             ValueType::VeryGood => atk_sys::ATK_VALUE_VERY_GOOD,
1744             ValueType::Best => atk_sys::ATK_VALUE_BEST,
1745             ValueType::LastDefined => atk_sys::ATK_VALUE_LAST_DEFINED,
1746             ValueType::__Unknown(value) => value,
1747         }
1748     }
1749 }
1750 
1751 #[doc(hidden)]
1752 impl FromGlib<atk_sys::AtkValueType> for ValueType {
from_glib(value: atk_sys::AtkValueType) -> Self1753     fn from_glib(value: atk_sys::AtkValueType) -> Self {
1754         skip_assert_initialized!();
1755         match value {
1756             0 => ValueType::VeryWeak,
1757             1 => ValueType::Weak,
1758             2 => ValueType::Acceptable,
1759             3 => ValueType::Strong,
1760             4 => ValueType::VeryStrong,
1761             5 => ValueType::VeryLow,
1762             6 => ValueType::Low,
1763             7 => ValueType::Medium,
1764             8 => ValueType::High,
1765             9 => ValueType::VeryHigh,
1766             10 => ValueType::VeryBad,
1767             11 => ValueType::Bad,
1768             12 => ValueType::Good,
1769             13 => ValueType::VeryGood,
1770             14 => ValueType::Best,
1771             15 => ValueType::LastDefined,
1772             value => ValueType::__Unknown(value),
1773         }
1774     }
1775 }
1776 
1777 impl StaticType for ValueType {
static_type() -> Type1778     fn static_type() -> Type {
1779         unsafe { from_glib(atk_sys::atk_value_type_get_type()) }
1780     }
1781 }
1782 
1783 impl<'a> FromValueOptional<'a> for ValueType {
from_value_optional(value: &Value) -> Option<Self>1784     unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1785         Some(FromValue::from_value(value))
1786     }
1787 }
1788 
1789 impl<'a> FromValue<'a> for ValueType {
from_value(value: &Value) -> Self1790     unsafe fn from_value(value: &Value) -> Self {
1791         from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1792     }
1793 }
1794 
1795 impl SetValue for ValueType {
set_value(value: &mut Value, this: &Self)1796     unsafe fn set_value(value: &mut Value, this: &Self) {
1797         gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1798     }
1799 }
1800