atk/auto/
enums.rs

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